Quantcast
Viewing all articles
Browse latest Browse all 9656

Re: How to create column headings in the output in SAP ABAP

Hi Harikrishna,

 

Try this code....

 

INITIALIZATION.

TYPES : BEGINOF TY_MARD,
         MATNR TYPE MARD-MATNR,
         WERKS TYPE MARD-WERKS,
         LGORT TYPE MARD-LGORT,
         ENDOF TY_MARD,

         BEGINOF TY_MARA,
         MATNR TYPE MARA-MATNR,
         ERSDA TYPE MARA-ERSDA,
         ERNAM TYPE MARA-ERNAM,
         MTART TYPE MARA-MTART,
         MATKL TYPE MARA-MATKL,
         ENDOF TY_MARA,

         BEGINOF TY_MAKT,
         MATNR TYPE MAKT-MATNR,
         SPRAS TYPE MAKT-SPRAS,
         MAKTX TYPE MAKT-MAKTX,
         ENDOF TY_MAKT,

         BEGINOF TY_FINAL,
         MATNR TYPE MARA-MATNR,
         ERSDA TYPE MARA-ERSDA,
         ERNAM TYPE MARA-ERNAM,
         MTART TYPE MARA-MTART,
         MATKL TYPE MARA-MATKL,
         WERKS TYPE MARD-WERKS,
         LGORT TYPE MARD-LGORT,
         SPRAS TYPE MAKT-SPRAS,
         MAKTX TYPE MAKT-MAKTX,
         ENDOF TY_FINAL.

***** THE INITIALIZATION PART CREATING WORKAREA AND INTERNAL TABLE*****

DATA : W_MARD TYPE TY_MARD,
        I_MARD TYPETABLEOF TY_MARD,

        W_MARA TYPE TY_MARA,
        I_MARA TYPETABLEOF TY_MARA,

        W_MAKT TYPE TY_MAKT,
        I_MAKT TYPETABLEOF TY_MAKT,

        W_FINAL TYPE TY_FINAL,
        I_FINAL TYPETABLEOF TY_FINAL.
**************************START-OF-SELECTION.**************************

START-OF-SELECTION.

*************************GET INPUT FROM USER***************************

PARAMETER : PLANT TYPE MARD-WERKS,

             STLOC TYPE MARD-LGORT.

****SELECT DATA FROM DATABASE INTO INTERNAL TABLES*********************

**SELECT FROM MARD THE REQUIRED FIELDS FOR THE GIVEN INPUT*************

SELECT MATNR WERKS LGORT
FROM MARD
INTOTABLE I_MARD
WHERE WERKS = PLANT AND LGORT = STLOC.

*****CHECK IF RECORDS ARE FETCHED IF NO EXIT OUT OF THE PROGRAM********

IF SY-SUBRC <> 0.
    WRITE'NO RECORDS'.
    EXIT.
ELSE.

***IF RECORDS ARE FETCHED FROM FRIST TABLE*****************************
****FETCH RELATED RECORDS FROM NEXT TABLE******************************

     SELECT MATNR ERSDA ERNAM MTART MATKL
     FROM MARA
     INTOTABLE I_MARA
     FORALL ENTRIES IN I_MARD
     WHERE MATNR = I_MARD-MATNR.
       IF SY-SUBRC <> 0.
          WRITE'NO MASTER DATA'.
          STOP.
       ELSE.
         SELECT MATNR SPRAS MAKTX
         FROM MAKT
         INTOTABLE I_MAKT
         FORALL ENTRIES IN I_MARA
         WHERE MATNR = I_MARA-MATNR AND SPRAS = 'E'.
       ENDIF.
ENDIF.

*****READ FROM INTERNAL TABLE FOR OUTPUT ******************************

LOOPAT I_MARA INTO W_MARA.
ATFIRST.

WRITE : SY-ULINE(100),
         /1 SY-VLINE,
         25'EXAMPLE INTERACTIVE REPORT',
         100 SY-VLINE,
         / SY-ULINE(100),

         /1 SY-VLINE,
         2  'MATERIAL NUMBER' ,
         20 SY-VLINE,
         22'CREATION DATE',
         40 SY-VLINE,
         42'USER NAME',
         60 SY-VLINE,
         62'MATERIAL TYPE',
         80 SY-VLINE,
         82'MATERIAL GROUP',
         100 SY-VLINE,
       / SY-ULINE(100).
ENDAT.

ONCHANGEOF W_MARA-MATNR.
READTABLE I_MARD INTO W_MARD WITHKEY MATNR = W_MARA-MATNR.
ENDON.

WRITE :/1 SY-VLINE,
         2 W_MARA-MATNR ,
        20 SY-VLINE,
         22 W_MARA-ERSDA,
         40 SY-VLINE,
         42 W_MARA-ERNAM,
         60 SY-VLINE,
         62 W_MARA-MTART,
         80 SY-VLINE,
         82 W_MARA-MATKL,
         100 SY-VLINE.

HIDE W_MARA-MATNR.
CLEAR W_MARA-MATNR.

WRITE: / SY-ULINE(100).

ENDLOOP.

*****************END-OF-SELECTION.*************************************

END-OF-SELECTION.

****MOVING VALUES IN TO FINAL INTERNAL TABLE **************************

LOOPAT I_MARA INTO W_MARA.
ONCHANGEOF W_MARA-MATNR.
READTABLE I_MAKT INTO W_MAKT WITHKEY MATNR = W_MARA-MATNR.
READTABLE I_MARD INTO W_MARD WITHKEY MATNR = W_MARA-MATNR.
ENDON.

         W_FINAL-MATNR = W_MARA-MATNR.
         W_FINAL-ERSDA = W_MARA-ERSDA.
         W_FINAL-ERNAM = W_MARA-ERNAM.
         W_FINAL-MTART = W_MARA-MTART.
         W_FINAL-MATKL = W_MARA-MATKL.
         W_FINAL-WERKS = W_MARD-WERKS.
         W_FINAL-LGORT = W_MARD-LGORT.
         W_FINAL-SPRAS = W_MAKT-SPRAS.
         W_FINAL-MAKTX = W_MAKT-MAKTX.

         APPEND  W_FINAL TO I_FINAL.

ENDLOOP.

********AT LINE-SELECTION EVENT TRIGERING INTERACTIVE REPORTING.*******

ATLINE-SELECTION.

CASE SY-LSIND.

WHEN1.

**DISPLAY OUTPUT IN NEW SCREEN AT LINE SELECTION BY USER MOUSE CLICK **
WRITE: / W_MARA-MATNR COLOR2.

READTABLE I_FINAL INTO W_FINAL WITHKEY MATNR = W_MARA-MATNR  SPRAS = 'EN'.

ULINE1(200).
WRITE : /1 SY-VLINE,
         75'EXAMPLE INTERACTIVE REPORT',
         200 SY-VLINE,
         SY-ULINE(200),
         /1 SY-VLINE,
         2  'MATERIAL NUMBER' ,
         20 SY-VLINE,
         22'CREATION DATE',
         40 SY-VLINE,
         42'USER NAME',
         60 SY-VLINE,
         62'MATERIAL TYPE',
         80 SY-VLINE,
         82'MATERIAL GROUP',
         100 SY-VLINE,
         102'PLANT NUMBER',
         120 SY-VLINE,
         122'STORAG LOCATION',
         140 SY-VLINE,
         142'LANGUAGE',
         160 SY-VLINE,
         162'DESCRIPTION',
         200 SY-VLINE,
         / SY-ULINE(200).

WRITE :/1 SY-VLINE,
         2 W_FINAL-MATNR ,
         20 SY-VLINE,
         22 W_FINAL-ERSDA,
         40 SY-VLINE,
         42 W_FINAL-ERNAM,
         60 SY-VLINE,
         62 W_FINAL-MTART,
         80 SY-VLINE,
         82 W_FINAL-MATKL,
         100 SY-VLINE,
         102 W_FINAL-WERKS,
         120 SY-VLINE,
         122 W_FINAL-LGORT,
         140 SY-VLINE,
         142 W_FINAL-SPRAS,
         160 SY-VLINE,
         162 W_FINAL-MAKTX,
         200 SY-VLINE,
       / SY-ULINE(200).

CLEAR W_MARA-MATNR.

ENDCASE.


Viewing all articles
Browse latest Browse all 9656

Trending Articles