Sunday, May 22, 2011

Developing a simple interactive report

“In this scenario, we would take an example of a material and develop an interactive report. Once you click on require “material no” on the basic list, the corresponding material information on the secondary list.”

Following is a sample interactive report developed for our demo purpose:

REPORT zintractive .

TYPES : BEGIN OF str_mard,         matnr TYPE mard-matnr,         lgort TYPE mard-lgort,         werks TYPE mard-werks,         END OF str_mard.
DATA : wa_mard TYPE str_mard,        it_mard TYPE TABLE OF str_mard.
TYPES : BEGIN OF str_makt,         matnr TYPE makt-matnr,         maktg TYPE makt-maktg,
        END OF str_makt.
DATA : wa_makt TYPE str_makt,        it_makt TYPE TABLE OF str_makt.
TYPES : BEGIN OF str_mara,         matnr TYPE mara-matnr,         ersda TYPE mara-ersda,         ernam TYPE mara-ernam,         laeda TYPE mara-laeda,         mtart TYPE mara-mtart,         matkl TYPE mara-matkl,         meins TYPE mara-meins,         END OF str_mara.
DATA : wa_mara TYPE str_mara,        it_mara TYPE TABLE OF str_mara.
TYPES : BEGIN OF str_final,        matnr TYPE mara-matnr,        ersda TYPE mara-ersda,        ernam TYPE mara-ernam,        laeda TYPE mara-laeda,        mtart TYPE mara-mtart,        matkl TYPE mara-matkl,        meins TYPE mara-meins,        lgort TYPE mard-lgort,        werks TYPE mard-werks,        END OF str_final.
DATA: wa_final TYPE str_final,       it_final TYPE TABLE OF str_final.
PARAMETERS : plant TYPE mard-werks,              stor LIKE mard-lgort.
SELECT matnr lgort werks FROM mard INTO TABLE  it_mard WHERE lgort = stor AND werks = plant. .
SELECT  matnr maktg FROM makt INTO TABLE  it_makt FOR ALL ENTRIES IN it_mard WHERE matnr = it_mard-matnr AND spras = 'E'. 
SELECT matnr ersda ernam  laeda mtart matkl meins FROM mara INTO TABLE it_mara FOR ALL ENTRIES IN it_makt WHERE matnr = it_makt-matnr. 
LOOP AT it_makt INTO wa_makt.   WRITE : /1 wa_makt-matnr COLOR 1,           40 wa_makt-maktg COLOR 2.   HIDE wa_makt-matnr. ENDLOOP.
CLEAR wa_mard-matnr.
AT LINE-SELECTION.   REFRESH it_final.   CLEAR wa_final.   ULINE.   IF sy-lsind = 1.     WRITE :  /1 'MATERIAL NO' COLOR 2,              20 'CREATION DATE' COLOR 3,              32 'PERSON CREATED',              50 'DATE OF LIST' ,              65 'MATERIALTYPE',              80 'MATGROUP' ,              90 'UNITOFMEASURE',              110 'STORLOCATION' COLOR 4,              130   'PLANT' COLOR 5.     ULINE.   ENDIF.
  LOOP AT it_mara INTO wa_mara WHERE matnr = wa_makt-matnr.
    wa_final-matnr = wa_mara-matnr.     wa_final-ersda = wa_mara-ersda.     wa_final-ernam = wa_mara-ernam.     wa_final-laeda = wa_mara-laeda.     wa_final-mtart = wa_mara-mtart.     wa_final-matkl = wa_mara-matkl.     wa_final-meins = wa_mara-meins.
    READ TABLE it_mard INTO wa_mard WITH KEY matnr = wa_makt-matnr.
    wa_final-lgort = wa_mard-lgort.     wa_final-werks = wa_mard-werks.
    APPEND  wa_final TO it_final.
  ENDLOOP.
  LOOP AT it_final INTO wa_final.
    WRITE :  /1  wa_final-matnr COLOR 2,              20 wa_final-ersda COLOR 3,              37 wa_final-ernam,              50 wa_final-laeda ,              70 wa_final-mtart ,              85 wa_final-matkl ,              95 wa_final-meins,              115   wa_final-lgort COLOR 4,              130   wa_final-werks COLOR 5.   ENDLOOP.
TOP-OF-PAGE.   WRITE : /1 'MATERIAL NO' COLOR 1,          40  'DISCRIPTION' COLOR 2.   ULINE .

Result

Enter the “Plant” and “Storage Location”

Press the Execute Button.

Double Click on require “Material No” which displays secondary list to corresponding material information.

The result shown below




No comments:

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

goodsites