Upload
nbpatil1
View
14
Download
1
Embed Size (px)
DESCRIPTION
Script Step by Step
Citation preview
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,
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.
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*&---------------------------------------------------------------------*
* 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
*----------------------------------------------------------------------*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: