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

Dialog programming

Former Member
0 Likes
617

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

6 REPLIES 6
Read only

Former Member
0 Likes
548

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

Read only

Former Member
0 Likes
548

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.

Read only

prasanth_kasturi
Active Contributor
0 Likes
548

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

Read only

Former Member
0 Likes
548

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

Read only

prasanth_kasturi
Active Contributor
0 Likes
548

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

Read only

Former Member