16

Script Step by Step

Embed Size (px)

DESCRIPTION

Script Step by Step

Citation preview

Page 1: Script Step by Step
Page 2: Script Step by Step
Page 3: Script Step by Step
Page 4: Script Step by Step
Page 5: Script Step by Step
Page 6: Script Step by Step
Page 7: Script Step by Step
Page 8: Script Step by Step
Page 9: Script Step by Step
Page 10: Script Step by Step

Code in SE38:*&---------------------------------------------------------------------**& Report YKC_SCRIPT_DRIVER_PRO*&*&---------------------------------------------------------------------**&Krishna Chauhan (Sparta Consulting)*&Date: 09 Jan 2009*&---------------------------------------------------------------------*REPORT  YKC_SCRIPT_DRIVER_PRO.tables: mara, makt, marc,mard.data: begin of it_final occurs 0,      matnr like mara-matnr,      maktx like makt-maktx,      ersda like mara-ersda,      ernam like mara-ernam,      werks like mard-werks,      lgort like mard-lgort,      beskz like marc-beskz,      dismm like marc-dismm,      end of it_final.*---internal table to get data from maradata: begin of it_mara occurs 0,      matnr like mara-matnr,      ersda like mara-ersda,      ernam like mara-ernam,

Page 11: Script Step by Step

      end of it_mara.*---internal table to store mat descriptiondata: begin of it_makt occurs 0,      matnr like makt-matnr,      spras like makt-spras,      maktx like makt-maktx,      end of it_makt.*--internal table to keep data from marcdata: begin of it_marc occurs 0,      matnr like mara-matnr,      werks like marc-werks,      beskz like marc-beskz,      dismm like marc-dismm,      end of it_marc.*--internal table to keep data from marddata: begin of it_mard occurs 0,      matnr like mara-matnr,      werks like mard-werks,      lgort like mard-lgort,      end of it_mard.Select-options s_matnr for mara-matnr.Start-of-selection.perform get_data.PERFORM open_form.  LOOP AT it_final.PERFORM start_form.PERFORM write_form.PERFORM end_form.  ENDLOOP.PERFORM close-form.*&---------------------------------------------------------------------**&      Form  GET_DATA*&---------------------------------------------------------------------**       text: Getting data into final internal table for display*----------------------------------------------------------------------*form GET_DATA .select  matnr ersda ernam        from mara into table it_mara        where matnr in s_matnr.sort it_mara by matnr.if not it_mara[] is initial.*---getting common data from mara & marc on the basis of matnr.select matnr werks beskz dismm       from marc into table it_marc       for all entries in it_mara       where matnr = it_mara-matnr.

Page 12: Script Step by Step

select matnr spras maktx       from makt into table it_makt       for all entries in it_mara       where matnr = it_mara-matnr       and  spras = 'E'.endif.*---gettng common data from marc & mard on the basis of matnr & werks.sort it_marc by matnr werks.if not it_marc[] is initial.select matnr werks lgort       from mard into table it_mard       for all entries in it_marc       where matnr = it_marc-matnr       and   werks = it_marc-werks.endif.sort it_mard by matnr werks.loop at it_mard.read table it_mara with key matnr = it_mard-matnr binary search.if sy-subrc = 0.*---getting matnr, ersda, ernam into it-finalit_final-matnr = it_mara-matnr.it_final-ersda = it_mara-ersda.it_final-ernam = it_mara-ernam.endif.*---getting material descread table it_makt with key matnr = it_mard-matnr binary search.if sy-subrc = 0.it_final-maktx = it_makt-maktx.endif.*---getting werks, lgort, beskz, dismm into it_finalit_final-werks = it_mard-werks.it_final-lgort = it_mard-lgort.read table it_marc with key matnr = it_mard-matnr                            werks = it_mard-werks                            binary search.if sy-subrc = 0.  it_final-beskz = it_marc-beskz.  it_final-dismm = it_marc-dismm.endif.append it_final.clear it_final.endloop.endform.                    " GET_DATA*&---------------------------------------------------------------------**&      Form  OPEN-FORM*&---------------------------------------------------------------------*

Page 13: Script Step by Step

*       text: opening script form*----------------------------------------------------------------------*Form OPEN_FORM .CALL FUNCTION 'OPEN_FORM'       EXPORTING            Form = 'YKC_FIRST_SCRIPT'.Endform.                    "OPEN-FORM*&---------------------------------------------------------------------**&      Form START_FORM*&---------------------------------------------------------------------**       Text: Starting form*----------------------------------------------------------------------*Form START_FORM .  CALL FUNCTION 'START_FORM'       EXPORTING            Form = 'YKC_FIRST_SCRIPT'.Endform.                    "START_FORM*&---------------------------------------------------------------------**&      Form  WRITE_FORM*&---------------------------------------------------------------------**       text: Writing into form*----------------------------------------------------------------------*Form WRITE_FORM .*---CALL FUNCTION 'WRITE_FORM'       EXPORTING            Window = 'GRAPH1'. CALL FUNCTION 'WRITE_FORM'   EXPORTING     Element                        = 'E1'*   FUNCTION                       = 'SET'*   TYPE                           = 'BODY'     Window                         = 'WINDOW1'            .  CALL FUNCTION 'WRITE_FORM'   EXPORTING     element                        = 'E2'*   FUNCTION                       = 'SET'*   TYPE                           = 'BODY'     Window                         = 'MAIN'            .endform.                    " WRITE_FORM*&---------------------------------------------------------------------**&      Form  END_FORM*&---------------------------------------------------------------------**       text: Ending form

Page 14: Script Step by Step

*----------------------------------------------------------------------*form END_FORM .  CALL FUNCTION 'END_FORM'* IMPORTING*   RESULT                         =* EXCEPTIONS*   UNOPENED                       = 1*   BAD_PAGEFORMAT_FOR_PRINT       = 2*   SPOOL_ERROR                    = 3*   OTHERS                         = 4            .  IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.  ENDIFendform.                    " END_FORM*&---------------------------------------------------------------------**&      Form CLOSE-FORM*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*form CLOSE-FORM .CALL FUNCTION 'CLOSE_FORM'* IMPORTING*   RESULT                         =*   RDI_RESULT                     =* TABLES*   OTFDATA                        =* EXCEPTIONS*   UNOPENED                       = 1*   BAD_PAGEFORMAT_FOR_PRINT       = 2*   SEND_ERROR                     = 3*   SPOOL_ERROR                    = 4*   OTHERS                         = 5            .

endform.                    "CLOSE-FORM

The output will be:

Page 15: Script Step by Step