Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problem with table control in custom screen

Former Member
0 Likes
733

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

6 REPLIES 6
Read only

Former Member
0 Likes
707

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.

Read only

0 Likes
707

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.

Read only

0 Likes
707

Could u send me ur code wriitten in PBO so that i can find out the real problem.

Regards,

Mansi.

Read only

0 Likes
707

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 .

Read only

0 Likes
707

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.

Read only

Former Member
0 Likes
707

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