Que tal gente!Les comento una duda que estoy teniendo con las tablas de control, en verdad estoy tratando de entender como se usan estas. Lo que tengo que hacer es lo siguiente: Una tabla de control que va a mostrar los datos de mi tabla z, y el usuario puede seleccionar solo una linea del table control y al presionar el boton eliminar el cliente seleccionado sera borrado de la tabla.
Si bien cree la table control con el wizard y con la marca de seleccion, pero me crea un codigo en el "flow logic" que no interpreto bien...se los muestro:
PROCESS BEFORE OUTPUT.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TC_BAJA'
MODULE TC_BAJA_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_COL_ATTR.
LOOP AT T_CLIENTES
INTO E_DATOS
WITH CONTROL TC_BAJA
CURSOR TC_BAJA-CURRENT_LINE.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_FIELD_ATTR
ENDLOOP.
MODULE STATUS_0300.
*
PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TC_BAJA'
LOOP AT T_CLIENTES.
CHAIN.
FIELD E_DATOS-KUNNR.
FIELD E_DATOS-NAME.
FIELD E_DATOS-ADDRESS.
FIELD E_DATOS-TELF1.
FIELD E_DATOS-ESPECIAL.
MODULE TC_BAJA_MODIFY ON CHAIN-REQUEST.
endchain.
FIELD E_DATOS-SEL
MODULE TC_BAJA_MARK ON REQUEST.
ENDLOOP.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_COL_ATTR.
MODULE USER_COMMAND_0300.
y tambien me crea este codigo,este en el PBO:
*&SPWIZARD: OUTPUT MODULE FOR TC 'g_tc_baja_itab'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR
MODULE g_tc_baja_itab_CHANGE_TC_ATTR OUTPUT.
DESCRIBE TABLE T_CLIENTES LINES g_tc_baja_itab-lines.
ENDMODULE.
Y este en el PAI:
*&SPWIZARD: INPUT MODULE FOR TC 'TC_BAJA'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MODIFY TABLE
MODULE TC_BAJA_MODIFY INPUT.
MODIFY T_CLIENTES
FROM E_DATOS
INDEX TC_BAJA-CURRENT_LINE.
ENDMODULE. "TC_BAJA_MODIFY INPUT
*&SPWIZARD: INPUT MODUL FOR TC 'TC_BAJA'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MARK TABLE
MODULE TC_BAJA_MARK INPUT.
DATA: g_TC_BAJA_wa2 like line of T_CLIENTES.
if TC_BAJA-line_sel_mode = 1
and E_DATOS-SEL = 'X'.
loop at T_CLIENTES into g_TC_BAJA_wa2
where SEL = 'X'.
g_TC_BAJA_wa2-SEL = ''.
modify T_CLIENTES
from g_TC_BAJA_wa2
transporting SEL.
endloop.
endif.
MODIFY T_CLIENTES
FROM E_DATOS
INDEX TC_BAJA-CURRENT_LINE
TRANSPORTING SEL.
ENDMODULE. "TC_BAJA_MARK INPUT
que en verdad no comprendo bien y no se si me sirve.
Como tengo que continuar a partir de aqui, Segun lo que tengo que hace?
Desde antemano gracias por el salvavidas!
Si bien cree la table control con el wizard y con la marca de seleccion, pero me crea un codigo en el "flow logic" que no interpreto bien...se los muestro:
PROCESS BEFORE OUTPUT.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TC_BAJA'
MODULE TC_BAJA_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_COL_ATTR.
LOOP AT T_CLIENTES
INTO E_DATOS
WITH CONTROL TC_BAJA
CURSOR TC_BAJA-CURRENT_LINE.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_FIELD_ATTR
ENDLOOP.
MODULE STATUS_0300.
*
PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TC_BAJA'
LOOP AT T_CLIENTES.
CHAIN.
FIELD E_DATOS-KUNNR.
FIELD E_DATOS-NAME.
FIELD E_DATOS-ADDRESS.
FIELD E_DATOS-TELF1.
FIELD E_DATOS-ESPECIAL.
MODULE TC_BAJA_MODIFY ON CHAIN-REQUEST.
endchain.
FIELD E_DATOS-SEL
MODULE TC_BAJA_MARK ON REQUEST.
ENDLOOP.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TC_BAJA_CHANGE_COL_ATTR.
MODULE USER_COMMAND_0300.
y tambien me crea este codigo,este en el PBO:
*&SPWIZARD: OUTPUT MODULE FOR TC 'g_tc_baja_itab'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR
MODULE g_tc_baja_itab_CHANGE_TC_ATTR OUTPUT.
DESCRIBE TABLE T_CLIENTES LINES g_tc_baja_itab-lines.
ENDMODULE.
Y este en el PAI:
*&SPWIZARD: INPUT MODULE FOR TC 'TC_BAJA'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MODIFY TABLE
MODULE TC_BAJA_MODIFY INPUT.
MODIFY T_CLIENTES
FROM E_DATOS
INDEX TC_BAJA-CURRENT_LINE.
ENDMODULE. "TC_BAJA_MODIFY INPUT
*&SPWIZARD: INPUT MODUL FOR TC 'TC_BAJA'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MARK TABLE
MODULE TC_BAJA_MARK INPUT.
DATA: g_TC_BAJA_wa2 like line of T_CLIENTES.
if TC_BAJA-line_sel_mode = 1
and E_DATOS-SEL = 'X'.
loop at T_CLIENTES into g_TC_BAJA_wa2
where SEL = 'X'.
g_TC_BAJA_wa2-SEL = ''.
modify T_CLIENTES
from g_TC_BAJA_wa2
transporting SEL.
endloop.
endif.
MODIFY T_CLIENTES
FROM E_DATOS
INDEX TC_BAJA-CURRENT_LINE
TRANSPORTING SEL.
ENDMODULE. "TC_BAJA_MARK INPUT
que en verdad no comprendo bien y no se si me sirve.
Como tengo que continuar a partir de aqui, Segun lo que tengo que hace?
Desde antemano gracias por el salvavidas!
Comentario