hi to all,
i have designed a module pool program
in first screen i have 2 pushbutton (screen no 100)
when i click on first button i will goto screen 1001 i.e vendor details
when i click on second button i will goto screen 2001 where i get vendor bank details
my requirement is that in second screen when i click a button. it display TABLE CONTROL with all the bank details for that vendor
how to implement it
help me out
here is my code
INCLUDE ZB14HAI_MP1_TOP . " global Data
INCLUDE ZB14HAI_MP1_O01 . " PBO-Modules
INCLUDE ZB14HAI_MP1_I01 . " PAI-Modules
INCLUDE ZB14HAI_MP1_F01
&----
*& Include ZB14HAI_MP1_TOP Module pool ZB14HAI_MP1
*&
&----
PROGRAM ZB14HAI_MP1 MESSAGE-ID MSGCLASS.
tables: lfa1,lfbk.
data:ok_code type sy-ucomm.
data : it_bank type table of lfbk,
wa_bank like line of it_bank.
CONTROLS TBCL_4000 TYPE TABLEVIEW USING SCREEN 4000.
&----
*& Include ZB14HAI_MP1_O01
&----
&----
*& Module STATUS_0100 OUTPUT
&----
text
-
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ZBPF_STATUS1'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Module STATUS_2001 OUTPUT
&----
text
-
MODULE STATUS_2001 OUTPUT.
SET PF-STATUS 'ZBPF_STATUS2'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_2001 OUTPUT
&----
*& Module STATUS_4000 OUTPUT
&----
text
-
MODULE STATUS_4000 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_4000 OUTPUT
&----
*& Module DISPLAY_TBCL_4000 OUTPUT
&----
text
-
MODULE DISPLAY_TBCL_4000 OUTPUT.
LFBK-LIFNR = WA_BANK-LIFNR.
LFBK-BANKS = WA_BANK-BANKS.
LFBK-BANKL = WA_BANK-BANKL.
LFBK-KOINH = WA_BANK-KOINH.
LFBK-EBPP_ACCNAME = WA_BANK-EBPP_ACCNAME.
ENDMODULE. " DISPLAY_TBCL_4000 OUTPUT
&----
*& Include ZB14HAI_MP1_I01
&----
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
-
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN'VEND'.
CALL SCREEN 1001.
WHEN 'BANK'.
CALL SCREEN '2001'.
ENDCASE.
ENDMODULE.
" USER_COMMAND_0100 INPUT
&----
*& Module USER_COMMAND_1001 INPUT
&----
text
-
MODULE USER_COMMAND_1001 INPUT.
CASE OK_CODE.
WHEN 'BACK'.
CALL SCREEN 0100.
WHEN 'DISP'.
PERFORM F_VEND_DISPLAY USING LFA1
CHANGING SY-DBCNT.
WHEN 'CHAN'.
PERFORM F_UPDATE CHANGING LFA1.
WHEN 'REFR'.
PERFORM F_REFRESH CHANGING LFA1.
WHEN 'CREA'.
PERFORM F_CREATE USING LFA1.
WHEN 'DELE'.
PERFORM F_DELETE CHANGING LFA1.
WHEN 'BNKD'.
PERFORM F_BANK USING LFA1-LIFNR CHANGING IT_BANK.
CALL SCREEN 4000.
ENDCASE.
ENDMODULE. " USER_COMMAND_1001 INPUT
&----
*& Module USER_COMMAND_2001 INPUT
&----
text
-
MODULE USER_COMMAND_2001 INPUT.
CASE OK_CODE.
WHEN 'BACK'.
CALL SCREEN '1001'.
CLEAR LFA1.
WHEN 'DISP'.
PERFORM F_GET_BANK USING LFBK
CHANGING SY-DBCNT.
WHEN 'CHAN'.
PERFORM F_UPDATE1 CHANGING LFBK.
WHEN 'REFR'.
PERFORM F_REFRESH1 CHANGING LFBK.
WHEN 'CREA'.
PERFORM F_CREATE1 USING LFBK.
WHEN 'DELE'.
PERFORM F_DELETE1 CHANGING LFBK.
ENDCASE.
ENDMODULE. " USER_COMMAND_2001 INPUT
" USER_COMMAND_4000 INPUT
&----
*& Include ZB14HAI_MP1_F01
&----
&----
*& Form F_VEND_DISPLAY
&----
text
-
-->P_LFA1 text
<--P_DBCNT text
-
FORM F_VEND_DISPLAY USING P_LFA1 LIKE LFA1
CHANGING P_DBCNT LIKE SY-DBCNT.
SELECT SINGLE * FROM LFA1 WHERE
LIFNR EQ LFA1-LIFNR.
IF SY-DBCNT EQ 0.
MESSAGE E001(ZMSGCLASS).
ENDIF.
ENDFORM. " F_VEND_DISPLAY
&----
*& Form F_GET_BANK
&----
text
-
-->P_LFB1 text
<--P_SY_DBCNT text
-
FORM F_GET_BANK USING P_LFB1 LIKE LFBK
CHANGING P_SY_DBCNT LIKE SY-DBCNT.
SELECT SINGLE * FROM LFBK WHERE LIFNR EQ LFBK-LIFNR.
IF P_SY_DBCNT EQ 0.
MESSAGE E002(ZMSGCLASS).
ENDIF.
ENDFORM. " F_GET_BANK
&----
*& Form F_UPDATE
&----
text
-
<--P_LFA1 text
-
FORM F_UPDATE CHANGING P_LFA1 LIKE LFA1.
UPDATE LFA1.
IF SY-SUBRC EQ 0.
MESSAGE I000(ZHNC) WITH 'RECORDS UPDATED SUCESSFULLY'.
ENDIF.
ENDFORM. " F_UPDATE
&----
*& Form F_REFRESH
&----
text
-
<--P_LFA1 text
-
FORM F_REFRESH CHANGING P_LFA1 LIKE LFA1.
CLEAR LFA1.
ENDFORM. " F_REFRESH
&----
*& Form F_CREATE2
&----
text
-
-->P_LFA1 text
-
FORM F_CREATE USING P_LFA1 LIKE LFA1.
INSERT INTO LFA1 VALUES P_LFA1.
IF SY-SUBRC EQ 0.
MESSAGE S000(ZHNC) WITH 'VENDOR SUCESSFULLY CREATED'.
ELSE.
MESSAGE E000(ZHNC) WITH 'VENDOR ALREADY EXIST'.
ENDIF.
ENDFORM. " F_CREATE
&----
*& Form F_DELETE
&----
text
-
<--P_LFA1 text
-
FORM F_DELETE CHANGING P_LFA1 LIKE LFA1.
DELETE FROM LFA1 WHERE LIFNR EQ LFA1-LIFNR.
IF SY-SUBRC EQ 0 .
MESSAGE S000(ZHNC) WITH 'RECORD SUCESSFULLY DELETED'.
ENDIF.
ENDFORM. " F_DELETE
&----
*& Form F_UPDATE1
&----
text
-
<--P_LFA1 text
-
FORM F_UPDATE1 CHANGING P_LFBK LIKE LFBK.
UPDATE LFBK.
IF SY-SUBRC EQ 0.
MESSAGE I000(ZHNC) WITH 'RECORDS UPDATED SUCESSFULLY'.
ENDIF.
ENDFORM. " F_UPDATE1
&----
*& Form F_REFRESH1
&----
text
-
<--P_LFA1 text
-
FORM F_REFRESH1 CHANGING P_LFBK LIKE LFBK.
CLEAR LFBK.
ENDFORM. " F_REFRESH1
&----
*& Form F_CREATE1
&----
text
-
-->P_LFA1 text
-
FORM F_CREATE1 USING P_LFBK LIKE LFBK.
INSERT INTO LFBK VALUES P_LFBK.
IF SY-SUBRC EQ 0.
MESSAGE S000(ZHNC) WITH 'VENDOR SUCESSFULLY CREATED'.
ELSE.
MESSAGE E000(ZHNC) WITH 'VENDOR ALREADY EXIST'.
ENDIF.
ENDFORM. " F_CREATE1
&----
*& Form F_DELETE1
&----
text
-
<--P_LFA1 text
-
FORM F_DELETE1 CHANGING P_LFBK LIKE LFBK.
ENDFORM. " F2_DELETE1
&----
*& Form F_BANK
&----
text
-
-->P_LFA1_LIFNR text
<--P_IT_BANK text
-
FORM F_BANK USING P_LFA1_LIFNR LIKE LFA1-LIFNR
CHANGING P_IT_BANK LIKE IT_BANK.
SELECT * FROM LFBK INTO CORRESPONDING FIELDS OF TABLE IT_BANK
WHERE LIFNR EQ P_LFA1_LIFNR.
ENDFORM. " F_BANK
full points to be awarded