‎2008 May 22 6:38 PM
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
‎2008 May 22 6:39 PM
‎2008 May 22 6:42 PM
yeah i need also code for that particular object itz urgent please
‎2008 May 22 7:02 PM
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