‎2008 Feb 05 4:54 AM
Hi Experts,
I have created a table control in a custom screen. I am trying to populate the table control. If I press enter, then all the data in table control is disappearing. If I see in the debugging mode also I am not having the data in internal table or database table structure at the starting point itself.
Could anybody help me in this regard.
Thanks,
bsv
‎2008 Feb 05 5:03 AM
Hi,
I think when u r pressing ENter, the PBO module si getteing called which is refreshing all the data from ur internal table.
regards,
Mansi.
‎2008 Feb 05 5:34 AM
Hi Mansi,
Yes I am pressing enter. I am preparing table control by referring the database table not with internal table. Also internal table or database table structure are not getting value in PAI also. I am checking before going to PBO only. Still I am not having values in my database table structure or internal table.
Thanks,
bsv.
‎2008 Feb 05 5:47 AM
Could u send me ur code wriitten in PBO so that i can find out the real problem.
Regards,
Mansi.
‎2008 Feb 05 5:59 AM
For the table control you should have two Loop at both PBO and PAI.
In PBO, you are populating data to Table control fom ITAB.
and in PAI you shuld Modify itab from table control.
In your case try the code.,
IN PBO.
Loop at ITAB into wa with control <TBCTRL>.
MOdule MOVE.
endloop.
IN PAI.
Loop at ITAB .
MOdule modify..
endloop.
Module move.
MOVE-CORRESPONDING wa TO <DBSTR>.
end module.
MOdule modify.
MOVE-CORRESPONDING <DBSTR> TO wa.
MODIFY ITAB FROM wa
INDEX <TBCTRL>.-current_line
end module.
<DBSTR> - The Database structure which you used in tablecontol.
<TBCTRL>.-NAme of Table Control .
‎2008 Feb 05 6:17 AM
Hi Mansi,
this is my code in PBO and PAI.
PROCESS BEFORE OUTPUT.
MODULE set_pf_status.
MODULE v_tc_change_tc_attr.
MODULE get_data.
LOOP AT g_tc_itab
INTO g_tc_wa
WITH CONTROL v_tc.
ENDLOOP.
PROCESS AFTER INPUT.
MODULE exit_screen AT EXIT-COMMAND.
CHAIN.
FIELD v_monday_ch.
FIELD v_tuesday_ch.
FIELD v_wednesday_ch.
FIELD v_thursday_ch.
FIELD v_friday_ch.
FIELD v_saturday_ch.
MODULE validate_check_boxes.
ENDCHAIN.
LOOP AT g_tc_itab.
CHAIN.
FIELD ydeliv_schduls-monday.
FIELD ydeliv_schduls-tuesday.
FIELD ydeliv_schduls-wednesday.
FIELD ydeliv_schduls-thursday.
FIELD ydeliv_schduls-friday.
FIELD ydeliv_schduls-saturday.
MODULE v_tc_modify ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.
MODULE save_data.
Thanks,
bsv.
‎2008 Feb 05 5:04 AM
Hi,
here is the solution to your problem..
JUST LOOK AT FUNCTIONING OF FLAG VARIABLE V_FLAG 3.
*******************
*CONTROL STRUCTURE
*******************
CONTROLS : tabstrp TYPE TABSTRIP.
CONTROLS : table_control TYPE TABLEVIEW USING SCREEN 0104.
******************
*TABLES
******************
tables: Z11_CUSTOMER1, Z11_CUST_SALES.
DATA: t_BANK TYPE STANDARD TABLE OF Z11_CUST_BANK WITH HEADER LINE.
******************
*CONSTANTS
******************
CONSTANTS: CCR(3) value 'CRT'.
CONSTANTS: CCH(3) value 'CHG'.
CONSTANTS: CDS(3) value 'DSP'.
CONSTANTS: CSA(3) value 'SAV'.
CONSTANTS: CBC(3) value 'BCK'.
CONSTANTS: CT1(4) value 'TAB1'.
CONSTANTS: CT2(4) value 'TAB2'.
CONSTANTS: CT3(4) value 'TAB3'.
CONSTANTS: CSL(3) value 'SAL'.
**************************************************
*STRUCTURE TO GET PRESSED TAB & TO SET DEFAULT TAB
& Screen no. & program name
**************************************************
DATA: BEGIN OF g_tabstrp,
subscreen LIKE sy-dynnr,
prog LIKE sy-repid VALUE 'Z11GAURAV_ASSIGN_6',
pressed_tab LIKE sy-ucomm VALUE 'TAB1',
END OF g_tabstrp.
****************
*OK CODES
****************
data: ok_code_100(4) , SAVE_OK_100(4),ok_code_105(4),
ok_code_101(4).
data: ok_code type sy-ucomm.
****************
*VARIABLES
****************
DATA: V_KUNNR TYPE KUNNR.
DATA: V_REPLY(1).
DATA: V_FLAG type C value '1'.
DATA: V_FLAG1 TYPE C VALUE '0',
V_FLAG2 TYPE C VALUE '0',
V_FLAG3 TYPE C VALUE '0'.
DATA: V_CUSTOMER TYPE KUNNR.
******MENU AND TITLE FOR SCREEN 0100******
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'Z11GAURAV_XD'.
SET TITLEBAR 'MAIN'.
ENDMODULE. " STATUS_0100 OUTPUT
******VALIDATIONS FOR CUSTOMER NO.***********
&----
*& Module validate_KUNNR INPUT
&----
text
----
MODULE validate_KUNNR INPUT.
*VAL....1 NULL value
if Z11_CUSTOMER1-KUNNR is INITIAL.
clear Z11_CUSTOMER1.
MESSAGE E004 with TEXT-010.
endif.
*VAL....2 EXISTANCE
case ok_code_100.
WHEN CCR. "CREATE
select single kunnr into V_kunnr from Z11_CUSTOMER1 WHERE kunnr =
Z11_CUSTOMER1-KUNNR.
if sy-subrc = 0.
clear Z11_CUSTOMER1.
message E001 WITH TEXT-001.
endif.
when CCH. "CHANGE
select single kunnr into V_kunnr from Z11_CUSTOMER1 WHERE kunnr =
Z11_CUSTOMER1-KUNNR.
if sy-subrc <> 0.
clear Z11_CUSTOMER1.
message E002 with TEXT-002.
endif.
WHEN CDS. "DISPLAY
select single kunnr into V_kunnr from Z11_CUSTOMER1 WHERE kunnr =
Z11_CUSTOMER1-KUNNR.
if sy-subrc <> 0.
clear Z11_CUSTOMER1.
message E002 with TEXT-002.
endif.
WHEN ' '.
Message E013 with TEXT-013.
endcase.
ENDMODULE. " validate_KUNNR INPUT
******EXIT COMMAND***********
&----
*& Module exit_prog INPUT
&----
text
----
MODULE exit_prog INPUT.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = TEXT-006
DIAGNOSE_OBJECT = ' '
text_question = TEXT-005
TEXT_BUTTON_1 = TEXT-003
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = TEXT-004
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = ' '
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IV_QUICKINFO_BUTTON_1 = ' '
IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
ANSWER = V_REPLY
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
if V_REPLY = 1.
CLEAR V_REPLY.
leave program.
elseif V_REPLY = 2.
CLEAR V_REPLY.
EXIT.
endif.
ENDMODULE. " exit_prog INPUT
****USER COMMAND FOR SCREEN 0100*****
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE USER_COMMAND_0100 INPUT.
case ok_code_100.
when CCH. "CHANGE GO TO SCREEN 101
SAVE_OK_100 = ok_code_100.
clear ok_code_100.
leave to screen 101.
when CCR. "CREATE GO TO SCREEN 101
SAVE_OK_100 = ok_code_100.
clear ok_code_100.
leave to screen 101.
WHEN CDS. "DISPLAY GO TO SCREEN 101
SAVE_OK_100 = ok_code_100.
clear ok_code_100.
leave to screen 101.
*IF INITIAL SCREEN LEAVE PROGRAM
WHEN CBC. "BACK
IF SY-dynnr = '0100'.
clear ok_code_100.
LEAVE PROGRAM.
ENDIF.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
***MENU AND TITLE BAR FOR SCREEN 0101*****
&----
*& Module STATUS_0101 OUTPUT
&----
text
----
MODULE STATUS_0101 OUTPUT.
SET PF-STATUS 'Z11GAURAV_XD2'.
SET TITLEBAR 'TIL'.
CASE sy-ucomm.
WHEN CT1. "TAB 1
SET TITLEBAR 'TAB1'.
WHEN CT2. "TAB 2
SET TITLEBAR 'TAB2'.
WHEN CT3. "TAB 3
SET TITLEBAR 'TAB3'.
WHEN 'LSF'. "NEXT TAB
IF V_FLAG = '1'.
SET TITLEBAR 'TAB1'.
ELSEIF V_FLAG = '2'.
SET TITLEBAR 'TAB2'.
ELSEIF V_FLAG = '3'.
SET TITLEBAR 'TAB3'.
ENDIF.
WHEN 'RSF'. "PREVIOUS TAB
IF V_FLAG = '1'.
SET TITLEBAR 'TAB1'.
ELSEIF V_FLAG = '2'.
SET TITLEBAR 'TAB2'.
ELSEIF V_FLAG = '3'.
SET TITLEBAR 'TAB3'.
ENDIF.
ENDCASE.
ENDMODULE. " STATUS_0101 OUTPUT
*SET PRESSED TAB AND SUBSCREEN FOR THAT TAB
&----
*& Module TABSTRP_ACTIVE_TAB_SET OUTPUT
&----
text
----
MODULE TABSTRP_ACTIVE_TAB_SET OUTPUT.
tabstrp-activetab = g_tabstrp-pressed_tab.
IF G_TABSTRP-PRESSED_TAB = CT1 OR V_FLAG = '1'.
g_tabstrp-subscreen = '0102'.
ELSEIF G_TABSTRP-PRESSED_TAB = CT2 OR V_FLAG = '2'.
g_tabstrp-subscreen = '0103'.
ELSEIF G_TABSTRP-PRESSED_TAB = CT3 OR V_FLAG = '3'..
g_tabstrp-subscreen = '0104'.
ENDIF.
ENDMODULE. " TABSTRP_ACTIVE_TAB_SET OUTPUT
*SETTING SCREEN ATTRIBUTES***
&----
*& Module SCREEN_SET OUTPUT
&----
text
----
MODULE SCREEN_SET OUTPUT.
CASE save_ok_100.
when CDS. "DISPLAY
LOOP AT SCREEN.
IF screen-group1 = 'G2'.
screen-active = 1.
screen-input = 0.
screen-output = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'G3'.
screen-active = 1.
screen-input = 1.
screen-output = 1.
screen-invisible = 0.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'G4'.
screen-active = 1.
screen-input = 0.
screen-output = 1.
screen-invisible = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDCASE.
ENDMODULE. " SCREEN_SET OUTPUT
***FOR SUB SCREEN 0102, 0103, 0104
&----
*& Module STATUS_0102 OUTPUT
&----
text
----
MODULE STATUS_0102 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0102 OUTPUT
*USER COMMAND FOR SUB SCREEN & UPDATING FLAG
&----
*& Module USER_COMMAND_0102 INPUT
&----
text
----
MODULE USER_COMMAND_0102 INPUT.
CASE sy-ucomm.
when 'LSF'.
if v_flag ge 1 and v_flag lt 3.
v_flag = v_flag + 1.
endif.
when 'RSF'.
if v_flag gt 1 and v_flag le 3.
v_flag = v_flag - 1.
endif.
endcase.
ENDMODULE. " USER_COMMAND_0102 INPUT
*SET ATTRIBUTES OF SUB SCREEN.
&----
*& Module SUB_SCREEN_SET OUTPUT
&----
text
----
MODULE SUB_SCREEN_SET OUTPUT.
CASE save_ok_100.
WHEN CDS.
LOOP AT SCREEN.
IF screen-group1 = 'G4'.
screen-active = 1.
screen-input = 0.
screen-output = 1.
screen-invisible = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDCASE.
ENDMODULE. * " SUB_SCREEN_SET OUTPUT
*TO GET PRESSED TAb WHICH CAN BE ASSIGN TO ACTIVE TAB.
&----
*& Module TABSTRP_ACTIVE_TAB_GET INPUT
&----
text
----
MODULE TABSTRP_ACTIVE_TAB_GET INPUT.
ok_code = sy-ucomm.
CASE ok_code.
WHEN CT1.
V_FLAg = '1'.
g_tabstrp-pressed_tab = CT1.
WHEN CT2.
V_FLAg = '2'.
g_tabstrp-pressed_tab = CT2.
WHEN CT3.
V_FLAg = '3'.
g_tabstrp-pressed_tab = CT3.
WHEN 'LSF'.
IF V_FLAG = '1'.
g_tabstrp-pressed_tab = CT1.
ELSEIF V_FLAG = '2'.
g_tabstrp-pressed_tab = CT2.
ELSEIF V_FLAG = '3'.
g_tabstrp-pressed_tab = CT3.
ENDIF.
WHEN 'RSF'.
IF V_FLAG = '1'.
g_tabstrp-pressed_tab = CT1.
ELSEIF V_FLAG = '2'.
g_tabstrp-pressed_tab = CT2.
ELSEIF V_FLAG = '3'.
g_tabstrp-pressed_tab = CT3.
ENDIF.
ENDCASE.
ENDMODULE. " TABSTRP_ACTIVE_TAB_GET INPUT
*GET DATA FOR SUB SCREEN AND MAIN SCREEN
&----
*& Module DATA_1 OUTPUT
&----
text
----
MODULE DATA_1 OUTPUT.
IF V_flag1 Lt 1.
IF save_ok_100 = CCH or save_ok_100 = CDS.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = Z11_CUSTOMER1-KUNNR
IMPORTING
OUTPUT = V_CUSTOMER.
.
select single * FROM Z11_CUSTOMER1 WHERE KUNNR = Z11_CUSTOMER1-KUNNR.
Z11_CUSTOMER1-KUNNR = V_CUSTOMER.
V_FLAG1 = V_FLAG1 + 1.
endif.
endif.
ENDMODULE. " DATA_1 OUTPUT
*USER COMMAND FOR SCREEN 0101
&----
*& Module USER_COMMAND_0101 INPUT
&----
text
----
MODULE USER_COMMAND_0101 INPUT.
case OK_CODE_101.
WHEN CSL.
Clear ok_code_101.
LEAVE to screen 0105.
WHEN CSA. "SAVE
IF save_ok_100 = CCR. "CREATE
Z11_CUST_SALES-MANDT = sy-mandt.
Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.
INSERT z11_CUSTOMER1.
INSERT Z11_CUST_SALES.
INSERT z11_CUST_BANK FROM TABLE T_BANK.
if sy-subrc = 0.
MESSAGE I006 with TEXT-008.
CLEAR z11_customer1.
CLEAR Z11_CUST_SALES.
REFRESH T_BANK.
CLEAR save_ok_100.
Clear ok_code_101.
g_tabstrp-pressed_tab = CT1.
clear V_FLAG1.
clear V_FLAG2.
clear V_FLAG3.
LEAVE TO SCREEN 0100.
endif.
ELSEIF save_ok_100 = CCH. "CHANGE
Z11_CUST_SALES-MANDT = sy-mandt.
Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.
MODIFY z11_CUSTOMER1.
MODIFY Z11_CUST_SALES.
MODIFY z11_CUST_BANK FROM TABLE t_BANK.
if sy-subrc = 0.
MESSAGE I006 with TEXT-011.
CLEAR z11_customer1.
Clear Z11_CUST_SALES.
REFRESH T_BANK.
CLEAR save_ok_100.
Clear ok_code_101.
g_tabstrp-pressed_tab = CT1.
clear V_FLAG1.
clear V_FLAG2.
clear V_FLAG3.
LEAVE TO SCREEN 0100.
endif.
ENDIF.
WHEN CBC. "BACK
IF SY-dynnr = '0100'. "IF FIRST SCREEN
LEAVE PROGRAM.
ELSE.
if save_ok_100 = CCR.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = TEXT-014
DIAGNOSE_OBJECT = ' '
text_question = TEXT-015
TEXT_BUTTON_1 = TEXT-016
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = TEXT-017
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = ' '
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IV_QUICKINFO_BUTTON_1 = ' '
IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
ANSWER = V_REPLY
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
if V_REPLY = 1.
Z11_CUST_SALES-MANDT = sy-mandt.
Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.
INSERT z11_CUSTOMER1.
INSERT Z11_CUST_SALES.
INSERT z11_CUST_BANK FROM TABLE T_BANK.
if sy-subrc = 0.
MESSAGE I006 with TEXT-008.
CLEAR z11_customer1.
CLEAR Z11_cust_sales.
REFRESH T_BANK.
CLEAR save_ok_100.
Clear ok_code_101.
g_tabstrp-pressed_tab = CT1.
CLEAR V_reply.
clear V_FLAG1.
clear V_FLAG2.
clear V_FLAG3.
LEAVE TO SCREEN 0100.
endif.
elseif V_REPLY = 2.
CLEAR z11_customer1.
Clear z11_cust_sales.
refresh T_bank.
Clear ok_code_101.
save_ok_100 = ' '.
g_tabstrp-pressed_tab = CT1.
CLEAR V_reply.
clear V_FLAG1.
clear V_FLAG2.
clear V_FLAG3.
leave to screen 0100.
endif.
ELSEIF save_ok_100 = CCH.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = TEXT-014
DIAGNOSE_OBJECT = ' '
text_question = TEXT-015
TEXT_BUTTON_1 = TEXT-016
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = TEXT-017
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = ' '
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IV_QUICKINFO_BUTTON_1 = ' '
IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
ANSWER = V_REPLY
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
if V_REPLY = 1.
Z11_CUST_SALES-MANDT = sy-mandt.
Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.
MODIFY z11_CUSTOMER1.
Modify z11_cust_sales.
MODIFY z11_CUST_BANK FROM TABLE t_BANK.
if sy-subrc = 0.
MESSAGE I006 with TEXT-011.
CLEAR z11_customer1.
Clear z11_cust_sales.
REFRESH T_BANK.
CLEAR save_ok_100.
Clear ok_code_101.
g_tabstrp-pressed_tab = CT1.
Clear V_REPLY.
clear V_FLAG1.
clear V_FLAG2.
clear V_FLAG3.
LEAVE TO SCREEN 0100.
endif.
elseif V_REPLY = 2.
CLEAR z11_customer1.
clear z11_cust_sales.
refresh t_bank.
save_ok_100 = ' '.
Clear ok_code_101.
g_tabstrp-pressed_tab = CT1.
CLEAR V_reply.
clear V_FLAG1.
clear V_FLAG2.
clear V_FLAG3.
leave to screen 100.
endif.
elseif save_ok_100 = CDS.
CLEAR z11_customer1.
clear z11_cust_sales.
REFRESH T_BANK.
CLEAR save_ok_100.
Clear ok_code_101.
g_tabstrp-pressed_tab = CT1.
Clear V_flag1.
clear V_flag2.
clear v_flag3.
leave to screen 0100.
ENDIF.
ENDIF.
WHEN 'TOG'.
IF save_ok_100 = CDS.
save_ok_100 = CCH.
ELSEIF save_ok_100 = CCH.
save_ok_100 = CDS.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0101 INPUT
*GET DATA FOR TABLE CONTROl<TABULAR DATA>
&----
*& Module GET_DATA OUTPUT
&----
text
----
MODULE GET_DATA OUTPUT.
if V_flag2 lt 1.
IF save_ok_100 = CDS OR save_ok_100 = CCH.
SELECT KUNNR
BANKS
BANKL
BANKN
KOINH
BKONT
BVTYP
BKREF
FROM Z11_CUST_BANK
INTO Corresponding fields of table t_bank
WHERE KUNNR = Z11_CUSTOMER1-KUNNR.
IF sy-subrc <> 0.
MESSAGE E007 with TEXT-007.
ENDIF.
V_flag2 = v_FLAG2 + 1.
ENDIF.
ENDIF.
ENDMODULE. " GET_DATA OUTPUT
*SETTING ATTRIBUTES FOR TABLE ON SCREEN 0104
&----
*& Module SET_LINE_ATTRIBUTES OUTPUT
&----
text
----
MODULE SET_LINE_ATTRIBUTES OUTPUT.
CASE save_ok_100.
WHEN CDS. "DISPLAY
LOOP AT SCREEN.
IF screen-group1 = 'A1'.
screen-active = 1.
screen-input = 0.
screen-output = 1.
screen-invisible = 0.
MODIFY SCREEN.
ENDIF.
endloop.
endcase.
ENDMODULE. " SET_LINE_ATTRIBUTES OUTPUT
*MODULE TO POPULATE INTERNAl TABLE FROM SCREEN
&----
*& Module POP_I_TAB INPUT
&----
text
----
MODULE POP_I_TAB INPUT.
T_BANK-MANDT = SY-MANDT. "CLIENT
IF save_ok_100 = CCR AND sy-ucomm = CSA ."CREATE+SAVE
IF T_BANK-KUNNR = Z11_CUSTOMER1-KUNNR.
APPEND T_BANK.
ENDIF.
ELSEIF save_ok_100 = CCH AND sy-ucomm = CSA or sy-ucomm = CT3.
"CHANGE+SAVE
IF T_BANK-KUNNR = Z11_CUSTOMER1-KUNNR.
IF TABLE_CONTROL-CURRENT_LINE > SY-DBCNT."IF NEW LINE
APPEND T_BANK.
ELSE.
MODIFY T_BANK INDEX table_control-current_line.
ENDIF.
ENDIF.
ENDIF.
ENDMODULE. " POP_I_TAB INPUT
&----
*& Module STATUS_0105 OUTPUT
&----
text
----
module STATUS_0105 output.
SET PF-STATUS 'Z11GAURAV_XD'.
SET TITLEBAR 'TL4'.
endmodule. " STATUS_0105 OUTPUT
&----
*& Module DATA_2 OUTPUT
&----
text
----
module DATA_2 output.
IF V_flag3 Lt 1.
IF save_ok_100 = CCH or save_ok_100 = CDS.
select single * FROM Z11_CUST_SALES WHERE KUNNR = Z11_CUSTOMER1-KUNNR.
V_FLAG3 = V_FLAG3 + 1.
endif.
endif.
endmodule. * " DATA_2 OUTPUT
&----
*& Module USER_COMMAND_0105 INPUT
&----
text
----
module USER_COMMAND_0105 input.
IF OK_CODE_105 = CBC.
CLEAR ok_code_105.
leave to screen 101.
ENDIF.
endmodule. " USER_COMMAND_0105 INPUT
Use the same logic N your problem will be solved
Reward if Helpful,
Gaurav J.
Edited by: Gaurav Juneja on Feb 5, 2008 6:07 AM