‎2008 Apr 23 1:08 PM
how to create module pool program using table controls based on selection criteria specified for sales document item in the first screen and item details in the second screen. plz mention the detail coding
Thanks,
Priya Ranjan
‎2008 Apr 23 1:10 PM
Hi,
&----
*& Module Pool ZJE_MODULE2
*&
&----
*&
*&
&----
PROGRAM zje_module2.
TABLES: kna1, vbak.
TYPES: BEGIN OF ty_kna1,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
land1 LIKE kna1-land1,
ort01 LIKE kna1-ort01,
END OF ty_kna1.
TYPES: BEGIN OF ty_vbak,
vbeln LIKE vbak-vbeln,
ernam LIKE vbak-ernam,
erdat LIKE vbak-erdat,
END OF ty_vbak.
DATA: it_kna1 TYPE TABLE OF ty_kna1,
wa_kna1 TYPE ty_kna1.
DATA: it_vbak TYPE TABLE OF ty_vbak WITH HEADER LINE,
wa_vbak TYPE ty_vbak.
CONTROLS: tabstrip TYPE TABSTRIP,
table TYPE TABLEVIEW USING SCREEN '320'.
DATA: scrno TYPE sy-dynnr VALUE '319'.
&----
*& Module USER_COMMAND_0318 INPUT
&----
text
----
MODULE user_command_0318 INPUT.
CASE sy-ucomm.
WHEN 'DISPLAY'.
SELECT SINGLE kunnr name1 land1 ort01
FROM kna1
INTO wa_kna1
WHERE kunnr = kna1-kunnr.
MOVE-CORRESPONDING wa_kna1 TO kna1.
SELECT vbeln ernam erdat
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = kna1-kunnr.
MOVE-CORRESPONDING it_vbak TO vbak.
WHEN 'REFRESH'.
CLEAR wa_kna1.
REFRESH it_vbak.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0318 INPUT
&----
*& Module STATUS_0319 OUTPUT
&----
text
----
MODULE status_0319 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
MOVE-CORRESPONDING wa_kna1 TO kna1.
ENDMODULE. " STATUS_0319 OUTPUT
&----
*& Module TAB INPUT
&----
text
----
MODULE tab INPUT.
CASE tabstrip-activetab.
WHEN 'CUSTOMER'.
scrno = '319'.
WHEN 'SALES'.
scrno = '320'.
ENDCASE.
ENDMODULE. " TAB INPUT
&----
*& Module STATUS_0320 OUTPUT
&----
text
----
MODULE status_0320 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
MOVE-CORRESPONDING it_vbak TO vbak.
ENDMODULE. " STATUS_0320 OUTPUT
‎2008 Apr 23 1:11 PM
Hi ,
This is Ur Exact Requirement Follow This Code
&----
*& Module Pool ZMPP_TABCNTRL
*&
&----
*&
*&
&----
PROGRAM zmpp_tabcntrl.
TABLES : kna1,vbak,vbap.
TYPES : BEGIN OF ty_kna1,
kunnr TYPE kna1-kunnr,
END OF ty_kna1.
TYPES : BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
ernam TYPE vbak-ernam,
vbtyp TYPE vbak-vbtyp,
END OF ty_vbak.
TYPES : BEGIN OF ty_vbap,
posnr TYPE vbap-vbeln,
matnr TYPE vbap-matnr,
matkl TYPE vbap-matkl,
pstyv TYPE vbap-pstyv,
END OF ty_vbap.
DATA : it_vbak TYPE TABLE OF ty_vbak WITH HEADER LINE,
it_vbap TYPE TABLE OF ty_vbap WITH HEADER LINE.
CONTROLS : table1 TYPE TABLEVIEW USING SCREEN 101,
table2 TYPE TABLEVIEW USING SCREEN 102,
tabstrip1 TYPE TABSTRIP.
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'DISP'.
SELECT vbeln erdat ernam vbtyp
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = kna1-kunnr.
IF NOT it_vbak[] IS INITIAL.
SELECT posnr matnr matkl pstyv
FROM vbap
INTO TABLE it_vbap
FOR ALL ENTRIES IN it_vbak
WHERE vbeln = it_vbak-vbeln.
ENDIF.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module status_0101 OUTPUT
&----
text
----
MODULE status_0101 OUTPUT.
SET PF-STATUS 'STATUS'.
MOVE-CORRESPONDING it_vbak TO vbak.
ENDMODULE. " status_0101 OUTPUT
&----
*& Module status_0102 OUTPUT
&----
text
----
MODULE status_0102 OUTPUT.
SET PF-STATUS 'STATUS'.
MOVE-CORRESPONDING it_vbap TO vbap.
ENDMODULE. " status_0102 OUTPUT
&----
*& Module status OUTPUT
&----
text
----
Reward If Helpfull,
Naresh.
‎2008 Apr 23 1:12 PM
hi
in flow logic
*************************for 343 screen
PROCESS BEFORE OUTPUT.
call subscreen : sub including sy-repid '344',
sub2 including sy-repid '345'.
MODULE STATUS_0343.
*
PROCESS AFTER INPUT.
module subscreen.
MODULE USER_COMMAND_0343.
***********************344
loop at it_vbak with control tabcontrol.
module assign.
endloop.
PROCESS AFTER INPUT.
loop at itab.
endloop.
MODULE USER_COMMAND_0200.
****************screen 345****************
PROCESS BEFORE OUTPUT.
loop at it_vbap with control tabcontrol1.
module populate.
endloop.
MODULE STATUS_0300.
PROCESS AFTER INPUT.
loop at itab1.
endloop.
TABLES: kna1,vbak,vbap.
TYPES : BEGIN OF ty_vbak,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
ernam LIKE vbak-ernam,
END OF ty_vbak.
DATA : it_vbak TYPE TABLE OF ty_vbak WITH HEADER LINE.
TYPES:BEGIN OF it_vbap,
vbeln type vbap-vbeln,
posnr LIKE vbap-posnr,
matnr LIKE vbap-matnr,
END OF it_vbap.
DATA : it_vbap TYPE TABLE OF ty_vbak WITH HEADER LINE
DATA : wa_kna1 TYPE ty_kna1,
CONTROLS: tabstrip TYPE TABSTRIP,
tablecontrol TYPE TABLEVIEW USING SCREEN 344,
tablecontrol1 TYPE TABLEVIEW USING SCREEN 344.
&----
*& Module USER_COMMAND_0343 INPUT
&----
text
----
MODULE user_command_0343 INPUT.
CASE sy-ucomm.
WHEN 'DISP'.
SELECT vbeln erdat ernam
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = wa_kna1-kunnr.
if not itab is initial.
SELECT vbeln posnr matnr FROM vbap
INTO TABLE it_vbap
for all entries in it_vbak where vbeln = it_vbak-vbeln.
endif.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0343 INPUT
&----
*& Module STATUS_0344 OUTPUT
&----
text
----
MODULE status_0344 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
MOVE-CORRESPONDING wa_vbak TO vbak.
ENDMODULE. " STATUS_0344 OUTPUT
&----
*& Module STATUS_0345 OUTPUT
&----
text
----
MODULE status_0345 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
MOVE-CORRESPONDING it_vbap TO vbap
ENDMODULE. " STATUS_0345 OUTPUT
regards
prasanth
‎2008 Apr 23 1:16 PM
hi,
see the following code which contains table control within two tabstrips.one tablecontrol for sales document details, and other for item details.
******************scren 100***********
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
call subscreen sub1 including sy-repid '200'.
call subscreen sub2 including sy-repid '300'.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
******************screen 200************
PROCESS BEFORE OUTPUT.
MODULE STATUS_0200.
loop at itab with control tabcontrol.
module assign.
endloop.
PROCESS AFTER INPUT.
loop at itab.
endloop.
MODULE USER_COMMAND_0200.
****************screen 300****************
PROCESS BEFORE OUTPUT.
loop at itab1 with control tabcontrol1.
module populate.
endloop.
MODULE STATUS_0300.
PROCESS AFTER INPUT.
loop at itab1.
endloop.
MODULE USER_COMMAND_0300.
In module pool program.
TABLES:kna1, vbak,vbap.
DATA:kunnr LIKE kna1-kunnr.
TYPES:BEGIN OF it_vbak,
kunnr type kna1-kunnr,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
ernam LIKE vbak-ernam,
netwr LIKE vbak-netwr,
END OF it_vbak.
TYPES:BEGIN OF it_vbap,
vbeln type vbap-vbeln,
posnr LIKE vbap-posnr,
matnr LIKE vbap-matnr,
END OF it_vbap.
*data: scr type sy-dynnr value '200'.
DATA: itab TYPE TABLE OF it_vbak WITH HEADER LINE,
itab1 TYPE TABLE OF it_vbap WITH HEADER LINE.
wtab type it_vbak,
wtab1 type it_vbap.
CONTROLS:tabstrip TYPE TABSTRIP,
tabcontrol TYPE TABLEVIEW USING SCREEN '200',
tabcontrol1 TYPE TABLEVIEW USING SCREEN '300'.
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'DISP'.
SELECT kunnr vbeln erdat ernam netwr FROM vbak INTO TABLE itab
WHERE kunnr = kna1-kunnr.
if not itab is initial.
SELECT vbeln posnr matnr FROM vbap
INTO TABLE itab1
for all entries in itab[] where vbeln = itab-vbeln.
endif.
WHEN 'BACK'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module assign OUTPUT
&----
text
----
MODULE assign OUTPUT.
MOVE-CORRESPONDING itab TO vbak.
ENDMODULE. " assign OUTPUT
&----
*& Module populate OUTPUT
&----
text
----
MODULE populate OUTPUT.
MOVE-CORRESPONDING itab1 TO vbap.
ENDMODULE. " populate OUTPUT
thanks,
raji
reward if helpful
‎2008 Apr 23 1:16 PM
hi
TABLES: kna1,vbak.
TYPES : BEGIN OF ty_vbak,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
ernam LIKE vbak-ernam,
END OF ty_vbak.
DATA : it_vbak TYPE TABLE OF ty_vbak WITH HEADER LINE.
TYPES : BEGIN OF ty_kna1,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
land1 LIKE kna1-land1,
ort01 LIKE kna1-ort01,
END OF ty_kna1.
DATA : wa_kna1 TYPE ty_kna1,
scrno TYPE sy-dynnr VALUE '344'.
CONTROLS: tabstrip TYPE TABSTRIP,
tablecontrol TYPE TABLEVIEW USING SCREEN 345.
&----
*& Module USER_COMMAND_0343 INPUT
&----
text
----
MODULE user_command_0343 INPUT.
CASE tabstrip-activetab.
WHEN 'CUST'.
scrno = '344'.
WHEN 'SALES'.
scrno = '345'.
ENDCASE.
CASE sy-ucomm.
WHEN 'DISP'.
SELECT SINGLE kunnr name1 land1 ort01
FROM kna1
INTO wa_kna1
WHERE kunnr = kna1-kunnr.
SELECT vbeln erdat ernam
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = wa_kna1-kunnr.
WHEN 'REFRESH'.
REFRESH it_vbak.
CLEAR wa_kna1.
CLEAR kna1-kunnr.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0343 INPUT
&----
*& Module STATUS_0344 OUTPUT
&----
text
----
MODULE status_0344 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
MOVE-CORRESPONDING wa_kna1 TO kna1.
ENDMODULE. " STATUS_0344 OUTPUT
&----
*& Module STATUS_0345 OUTPUT
&----
text
----
MODULE status_0345 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
MOVE-CORRESPONDING it_vbak TO vbak.
ENDMODULE. " STATUS_0345 OUTPUT
‎2008 Apr 23 1:17 PM
Hi,
please refer to this link
http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbac1d35c111d1829f0000e829fbfe/content.htm
rgds,
bharat.