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

module pool object

Former Member
0 Likes
466

hi everyone can u people give

me a simple module pool object which has some business functionality that is easy to understand.

i need to keep this object in my resume please kindly help me pals

3 REPLIES 3
Read only

Former Member
0 Likes
442

hi,

do u want any sample code?

regards

Sandeep Reddy

Read only

Former Member
0 Likes
442

yeah i need also code for that particular object itz urgent please

Read only

Former Member
0 Likes
442

Hi,

Here i am sending the code for One Object which uses Table Control.

MAIN Program :

***********************************************************************

  • Module pool : SAPMZ50871_SD_TABLECONTROL *

  • Title : Table Control *

  • Author : SANDEEP REDDY *

  • Date of Creation : December 10, 2007 *

***********************************************************************

  • Modification Log *

  • Author : *

  • Date of Change : *

  • Functional Specs # : *

  • Correction Request # : *

  • Description of Change : *

***********************************************************************

INCLUDE mz50871_sd_tablecontroltop. " Global Data

INCLUDE mz50871_sd_tablecontrol_usei01. " PAI Modules

INCLUDE mz50871_sd_tablecontrol_popo01. " PBO Modules

&----


*& Module EXIT INPUT

&----


MODULE exit INPUT.

CASE okcode.

WHEN 'CANCEL' OR 'TOP' OR 'BACK'.

LEAVE PROGRAM.

CLEAR okcode.

ENDCASE.

ENDMODULE. " EXIT INPUT

&----


*& Module GUISTATUS2 OUTPUT

&----


MODULE guistatus2 OUTPUT.

SET PF-STATUS 'MENU1'.

ENDMODULE. " GUISTATUS2 OUTPUT

&----


*& Module GUISTATUS3 OUTPUT

&----


MODULE guistatus3 OUTPUT.

SET PF-STATUS 'MENU1'.

ENDMODULE. " GUISTATUS3 OUTPUT

PAI Include :

----


  • INCLUDE MZ50871_SD_TABLECONTROL_USEI01 .

----


&----


*& Module USER_COMMAND_0100 INPUT

&----


MODULE user_command_0100 INPUT.

CASE okcode.

WHEN 'DISP'.

SELECT vbeln

erdat

ernam

vbtyp

auart

kunnr

FROM vbak

INTO CORRESPONDING FIELDS OF TABLE it_vbak

WHERE kunnr = v_kunnr.

IF sy-subrc NE 0.

MESSAGE i020(z50871msg) WITH 'Sales Header Data Is Not Available'.

ELSE.

tbc1-lines = sy-dbcnt.

CALL SCREEN '200'.

ENDIF.

CLEAR okcode.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module VALIDATE_KUNNR INPUT

&----


MODULE validate_kunnr INPUT.

SELECT SINGLE * FROM kna1 WHERE kunnr = v_kunnr.

IF sy-subrc = 0.

v_kunnr1 = kna1-kunnr.

v_name1 = kna1-name1.

ELSE.

MESSAGE i020(z50871msg) WITH 'Customer Does Not Exist'.

LEAVE TO SCREEN '100'.

ENDIF.

ENDMODULE. " VALIDATE_KUNNR INPUT

&----


*& Module MODIFY_ITAB INPUT

&----


MODULE modify_itab INPUT.

MODIFY it_vbak INDEX tbc1-current_line.

ENDMODULE. " MODIFY_ITAB INPUT

&----


*& Module user_command_0200 INPUT

&----


MODULE user_command_0200 INPUT.

CASE okcode.

WHEN 'ITEM'.

READ TABLE it_vbak WITH KEY check = 'X'.

IF sy-subrc = 0.

SELECT posnr

matnr

matkl

posar

FROM vbap

INTO TABLE it_vbap

WHERE vbeln = it_vbak-vbeln.

IF sy-subrc NE 0.

MESSAGE i020(z50871msg) WITH 'Sales Item Data Is not Available'.

ELSE.

v_vbeln = it_vbak-vbeln.

CALL SCREEN '300'.

ENDIF.

ELSE.

MESSAGE i020(z50871msg) WITH 'Please Select Sales Document Number'.

ENDIF.

WHEN 'BACK'.

LEAVE TO SCREEN '100'.

CLEAR okcode.

WHEN 'TOP' OR 'CANCEL'.

LEAVE PROGRAM.

CLEAR okcode.

ENDCASE.

ENDMODULE. " user_command_0200 INPUT

&----


*& Module user_command_0300 INPUT

&----


MODULE user_command_0300 INPUT.

CASE okcode.

WHEN 'BACK'.

LEAVE TO SCREEN '200'.

CLEAR it_vbap[].

CLEAR okcode.

WHEN 'CANCEL' OR 'TOP'.

CLEAR : it_vbak[] , it_vbap[].

LEAVE PROGRAM.

CLEAR okcode.

ENDCASE.

ENDMODULE. " user_command_0300 INPUT

PBO Include :

----


  • INCLUDE MZ50871_SD_TABLECONTROL_POPO01 .

----


&----


*& Module POPULATE_TBC1 OUTPUT

&----


MODULE populate_tbc1 OUTPUT.

vbak-vbeln = it_vbak-vbeln.

vbak-erdat = it_vbak-erdat.

vbak-ernam = it_vbak-ernam.

vbak-vbtyp = it_vbak-vbtyp.

vbak-auart = it_vbak-auart.

vbak-kunnr = it_vbak-kunnr.

ENDMODULE. " POPULATE_TBC1 OUTPUT

&----


*& Module GUISTATUS1 OUTPUT

&----


MODULE guistatus1 OUTPUT.

SET PF-STATUS 'MENU1'.

ENDMODULE. " GUISTATUS1 OUTPUT

&----


*& Module POPULATE_TBC2 OUTPUT

&----


MODULE populate_tbc2 OUTPUT.

vbap-posnr = it_vbap-posnr.

vbap-matnr = it_vbap-matnr.

vbap-matkl = it_vbap-matkl.

vbap-posar = it_vbap-posar.

ENDMODULE. " POPULATE_TBC2 OUTPUT

TOP Include :

&----


*& Include MZ50871_SD_TABLECONTROLTOP

&----


PROGRAM sapmz50871_sd_tablecontrol.

----


  • Tables

----


TABLES : kna1, vbak, vbap.

----


  • Structure Declarations

  • Internaltable Table Declarations

----


TYPES : BEGIN OF st_vbak,

check TYPE c,

vbeln TYPE vbak-vbeln, "Sales Document Number

erdat TYPE vbak-erdat, "Date on which the record was created

ernam TYPE vbak-ernam, "Name of Person who Created the Object

vbtyp TYPE vbak-vbtyp, "SD document category

auart TYPE vbak-auart, "Sales Document Type

kunnr TYPE vbak-kunnr, "Customer Number

END OF st_vbak.

TYPES : BEGIN OF st_vbap,

posnr TYPE vbap-posnr, "Sales Document Item

matnr TYPE vbap-matnr, "Material Number

matkl TYPE vbap-matkl, "Material Group

posar TYPE vbap-posar, "Item Type

END OF st_vbap.

DATA : it_vbak TYPE STANDARD TABLE OF st_vbak WITH HEADER LINE,

it_vbap TYPE STANDARD TABLE OF st_vbap WITH HEADER LINE.

*global varible declarations

DATA : v_kunnr TYPE kna1-kunnr, "Customer Number

v_name1 TYPE kna1-name1, "Customer Name

v_kunnr1 TYPE kna1-kunnr, "Customer Number

v_vbeln TYPE vbak-vbeln, "Sales Document Number

okcode TYPE sy-ucomm.

----


  • Table Control Declarations

----


CONTROLS : tbc1 TYPE TABLEVIEW USING SCREEN '200',

tbc2 TYPE TABLEVIEW USING SCREEN '300'.

Functionality

In the first screen : it will ask for Customer Number. if you enter any customer number it wil display sales header details related to that customer in table control in the next screen.

In that screen : tehre wil be one push button "display item detail".

you need to select sales order number, and you need to press that push button. then in the next screen it wil display item detaails related to that sales order number.

hope it helps you.

copy this code , and chk for functionality once.

<REMOVED BY MODERATOR>

Regards

Sandeep REddy

Edited by: Alvaro Tejada Galindo on May 22, 2008 4:58 PM