Sie sind auf Seite 1von 18

*&---------------------------------------------------------------------* *& Report ZPURCH_ORDER *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZPURCH_ORDER_200.

TYPES: BEGIN OF WA_EKKO, EBELN TYPE EKKO-EBELN, BSART TYPE EKKO-BSART, AEDAT TYPE EKKO-AEDAT, LIFNR TYPE EKKO-LIFNR, ZTERM TYPE EKKO-ZTERM, KDATE TYPE EKKO-KDATE, ANGNR TYPE EKKO-ANGNR, IHRAN TYPE EKKO-IHRAN, KNUMV TYPE EKKO-KNUMV, END OF WA_EKKO, BEGIN OF WA_EKPO, EBELN TYPE EKPO-EBELN, TXZ01 TYPE EKPO-TXZ01, MATNR TYPE EKPO-MATNR, WERKS TYPE EKPO-WERKS, MENGE TYPE EKPO-MENGE, MEINS TYPE EKPO-MEINS, NETPR TYPE EKPO-NETPR, NETWR TYPE EKPO-NETWR, EVERS TYPE EKPO-EVERS, END OF WA_EKPO, BEGIN OF WA_KONV, KNUMV TYPE KONV-KNUMV, KSCHL TYPE KONV-KSCHL, KBETR TYPE KONV-KBETR, KWERT TYPE KONV-KWERT, END OF WA_KONV, BEGIN OF WA_LFA1, LIFNR TYPE LFA1-LIFNR, LAND1 TYPE LFA1-LAND1, NAME1 TYPE LFA1-NAME1, ORT01 TYPE LFA1-ORT01, PSTLZ TYPE LFA1-PSTLZ, REGIO TYPE LFA1-REGIO, STRAS TYPE LFA1-STRAS, END OF WA_LFA1, BEGIN OF WA_T052U, ZTERM TYPE T052U-ZTERM, TEXT1 TYPE T052U-TEXT1, END OF WA_T052U, BEGIN OF WA_T001W, WERKS TYPE T001W-WERKS, NAME1 TYPE T001W-NAME1, END OF WA_T001W,

BEGIN OF WA_T161T, SPRAS TYPE T161T-SPRAS, BSART TYPE T161T-BSART, BATXT TYPE T161T-BATXT, END OF WA_T161T, BEGIN OF WA_OUT1, QUANT(9) TYPE C, RATE(9) TYPE C, AMOUNT(13) TYPE C, DISCOUNT(10) TYPE C, DESC(26) TYPE C, CONDITION(11) TYPE C, FRIEGHT(11) TYPE C, END OF WA_OUT1, BEGIN OF WA_OUT2, ZBED TYPE KBETR, ZECS TYPE KBETR, ZHCS TYPE KBETR, END OF WA_OUT2, BEGIN OF WA_OUT, EBELN TYPE EKKO-EBELN, BSART TYPE EKKO-BSART, AEDAT TYPE EKKO-AEDAT, LIFNR TYPE EKKO-LIFNR, KDATE TYPE EKKO-KDATE, ANGNR TYPE EKKO-ANGNR, IHRAN TYPE EKKO-IHRAN, KNUMV TYPE EKKO-KNUMV, TXZ01 TYPE EKPO-TXZ01, MATNR TYPE EKPO-MATNR, WERKS TYPE EKPO-WERKS, MENGE TYPE EKPO-MENGE, MEINS TYPE EKPO-MEINS, NETPR TYPE EKPO-NETPR, NETWR TYPE EKPO-NETWR, EVERS TYPE EKPO-EVERS, KSCHL TYPE KONV-KSCHL, KBETR TYPE KONV-KBETR, KWERT TYPE KONV-KWERT, KWERT1 TYPE KONV-KWERT, KWERT2 TYPE KONV-KWERT, KWERT3 TYPE KONV-KWERT, LAND1 TYPE LFA1-LAND1, NAME1 TYPE LFA1-NAME1, ORT01 TYPE LFA1-ORT01, PSTLZ TYPE LFA1-PSTLZ, REGIO TYPE LFA1-REGIO, STRAS TYPE LFA1-STRAS, ZTERM TYPE T052U-ZTERM, TEXT1 TYPE T052U-TEXT1, NAME TYPE T001W-NAME1, SPRAS TYPE T161T-SPRAS, BATXT TYPE T161T-BATXT, ZBED TYPE KONV-KBETR, ZECS TYPE KONV-KBETR, ZHCS TYPE KONV-KBETR,

* * * * * *

" IT_OUT-ZDCS DISCOUNT AMOUNT

"Quantity "Rate "Amount "Discount "condition "condition for ZFR7 "condition for ZFR3 "condition for ZFR5

ZVAT TYPE KONV-KBETR, ZDCS TYPE KONV-KBETR, ZDSC TYPE KONV-KBETR, ZFR7 TYPE KONV-KBETR, ZFR2 TYPE KONV-KBETR, ZFR3 TYPE KONV-KBETR, ZFR4 TYPE KONV-KBETR, ZFR5 TYPE KONV-KBETR, ZFR6 TYPE KONV-KBETR, ZFPK TYPE KONV-KBETR, END OF WA_OUT.

"ZFPK for Fwd/Packing Amount

DATA : IT_EKKO TYPE TABLE OF WA_EKKO WITH HEADER LINE, IT_EKPO TYPE TABLE OF WA_EKPO WITH HEADER LINE, IT_KONV TYPE TABLE OF WA_KONV WITH HEADER LINE, IT_LFA1 TYPE TABLE OF WA_LFA1 WITH HEADER LINE, IT_T052U TYPE TABLE OF WA_T052U WITH HEADER LINE, IT_T001W TYPE TABLE OF WA_T001W WITH HEADER LINE, IT_T161T TYPE TABLE OF WA_T161T WITH HEADER LINE, IT_OUT1 TYPE TABLE OF WA_OUT1 WITH HEADER LINE, * IT_OUT2 TYPE TABLE OF WA_OUT2 WITH HEADER LINE, IT_OUT TYPE TABLE OF WA_OUT WITH HEADER LINE. SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETERS: PA_EBELN TYPE EKKO-EBELN. SELECTION-SCREEN END OF BLOCK B1. * PA_IHRAN TYPE EKKO-IHRAN. START-OF-SELECTION. SELECT EK~EBELN EK~BSART EK~AEDAT EK~LIFNR EK~ZTERM EK~KDATE EK~ANGNR EK~IHRAN EK~KNUMV EP~TXZ01 EP~MATNR EP~WERKS EP~MENGE EP~MEINS EP~NETPR EP~NETWR EP~EVERS INTO CORRESPONDING FIELDS OF TABLE IT_OUT FROM EKKO AS EK INNER JOIN EKPO AS EP ON EK~EBELN = EP~EBELN WHERE EK~EBELN = PA_EBELN. SELECT KNUMV KSCHL KBETR KWERT INTO CORRESPONDING FIELDS OF TABLE IT_KONV FROM KONV FOR ALL ENTRIES IN IT_OUT WHERE KNUMV = IT_OUT-KNUMV. * AND KSCHL = 'ZDSC'.

SELECT LIFNR LAND1 NAME1 ORT01 PSTLZ REGIO STRAS INTO CORRESPONDING FIELDS OF TABLE IT_LFA1 FROM LFA1 FOR ALL ENTRIES IN IT_OUT WHERE LIFNR = IT_OUT-LIFNR. SELECT ZTERM TEXT1 INTO CORRESPONDING FIELDS OF TABLE IT_T052U FROM T052U FOR ALL ENTRIES IN IT_OUT WHERE ZTERM = IT_OUT-ZTERM. SELECT WERKS NAME1 INTO CORRESPONDING FIELDS OF TABLE IT_T001W FROM T001W FOR ALL ENTRIES IN IT_OUT WHERE WERKS = IT_OUT-WERKS. SELECT SPRAS BSART BATXT INTO CORRESPONDING FIELDS OF TABLE IT_T161T FROM T161T FOR ALL ENTRIES IN IT_OUT WHERE SPRAS = SY-LANGU AND BSART = IT_OUT-BSART. LOOP AT IT_OUT. READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZDSC'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZDSC = IT_KONV-KBETR. IT_OUT-KWERT = IT_KONV-KWERT. DATA : ZDSC TYPE KONV-KBETR. ZDSC = ( -1 ) * IT_OUT-ZDSC / 10. "discount in % READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZDCS'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZDCS = IT_KONV-KBETR. DATA : ZDCS TYPE KONV-KBETR. ZDCS = ( -1 ) * IT_OUT-ZDCS . "discount in INR READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZFR7'. IF IT_OUT-KSCHL = 'ZFR7'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZFR7 = IT_KONV-KBETR. IT_OUT-KWERT1 = IT_KONV-KWERT. DATA : ZFR7 TYPE KONV-KBETR. ZFR7 = IT_OUT-ZFR7 / 10. "frieght in % ELSE. IT_OUT-KWERT1 = 0. ENDIF.

READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZFR2'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZFR2 = IT_KONV-KBETR. DATA : ZFR2 TYPE KONV-KBETR. ZFR2 = IT_OUT-ZFR2. "frieght in INR READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZFR3'. IF IT_OUT-KSCHL = 'ZFR3'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZFR3 = IT_KONV-KBETR. IT_OUT-KWERT2 = IT_KONV-KWERT. DATA : ZFR3 TYPE KONV-KBETR. ZFR3 = IT_OUT-ZFR3 / 10. "frieght in % ELSE. IT_OUT-KWERT2 = 0. ENDIF. READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZFR4'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZFR4 = IT_KONV-KBETR. DATA : ZFR4 TYPE KONV-KBETR. ZFR4 = IT_OUT-ZFR4. "frieght in INR READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZFR5'. IF IT_OUT-KSCHL = 'ZFR3'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZFR5 = IT_KONV-KBETR. IT_OUT-KWERT3 = IT_KONV-KWERT. DATA : ZFR5 TYPE KONV-KBETR. ZFR5 = IT_OUT-ZFR5 / 10. "frieght in % ELSE. IT_OUT-KWERT2 = 0. ENDIF. READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZFR6'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZFR6 = IT_KONV-KBETR. DATA : ZFR6 TYPE KONV-KBETR. ZFR6 = IT_OUT-ZFR6. "frieght in INR READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZFPK'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZFPK = IT_KONV-KBETR. DATA : ZFPK TYPE KONV-KBETR. ZFPK = IT_OUT-ZFPK. "fwd/Packing READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZBED'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZBED = IT_KONV-KBETR. DATA ZBED TYPE KONV-KBETR VALUE 0. ZBED = IT_OUT-ZBED / 10. "BASIC DTY IN %

* * *

* * *

READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZECS'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZECS = IT_KONV-KBETR. DATA ZECS TYPE KONV-KBETR VALUE 0. ZECS = IT_OUT-ZECS / 10. "EXISE DTY IN % READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZHCS'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZHCS = IT_KONV-KBETR. DATA ZHCS TYPE KONV-KBETR VALUE 0. ZHCS = IT_OUT-ZHCS / 10. "HIGHER EXISE DTY IN % READ TABLE IT_KONV WITH KEY KNUMV = IT_OUT-KNUMV KSCHL = 'ZVAT'. IT_OUT-KSCHL = IT_KONV-KSCHL. IT_OUT-ZVAT = IT_KONV-KBETR. DATA ZVAT TYPE KONV-KBETR VALUE 0. ZVAT = IT_OUT-ZVAT / 10. "VAT IN % READ TABLE IT_LFA1 WITH KEY LIFNR = IT_OUT-LIFNR. IT_OUT-LAND1 = IT_LFA1-LAND1. IT_OUT-NAME1 = IT_LFA1-NAME1. IT_OUT-ORT01 = IT_LFA1-ORT01. IT_OUT-PSTLZ = IT_LFA1-PSTLZ. IT_OUT-REGIO = IT_LFA1-REGIO. IT_OUT-STRAS = IT_LFA1-STRAS. READ TABLE IT_T052U WITH KEY ZTERM = IT_OUT-ZTERM. IT_OUT-TEXT1 = IT_T052U-TEXT1. READ TABLE IT_T001W WITH KEY WERKS = IT_OUT-WERKS. IT_OUT-NAME = IT_T001W-NAME1. READ TABLE IT_T161T WITH KEY BSART = IT_OUT-BSART. IT_OUT-BATXT = IT_T161T-BATXT. MODIFY IT_OUT. ENDLOOP.

CALL FUNCTION 'OPEN_FORM' EXPORTING * APPLICATION * ARCHIVE_INDEX * ARCHIVE_PARAMS * DEVICE * DIALOG FORM 9-11-07 ZORDER ZMM_ORDER ZMM_ORDER_02 LANGUAGE * OPTIONS * MAIL_SENDER * MAIL_RECIPIENT * MAIL_APPL_OBJECT * RAW_DATA_INTERFACE * SPONUMIV * IMPORTING * LANGUAGE * NEW_ARCHIVE_PARAMS

= 'TX' = = = 'PRINTER' = 'X' = 'ZMM_ORDER_200' "ZPURCHASE_ORDER ZDEV_1 = SY-LANGU = = = = = '*' = = =

RESULT = EXCEPTIONS CANCELED = 1 DEVICE = 2 FORM = 3 OPTIONS = 4 UNCLOSED = 5 MAIL_OPTIONS = 6 ARCHIVE_ERROR = 7 INVALID_FAX_NUMBER = 8 MORE_PARAMS_NEEDED_IN_BATCH = 9 SPOOL_ERROR = 10 CODEPAGE = 11 OTHERS = 12 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. LOOP AT IT_OUT. CLEAR IT_OUT1. IT_OUT1-QUANT = IT_OUT-MENGE. IT_OUT1-RATE = IT_OUT-NETPR. IT_OUT1-AMOUNT = IT_OUT-NETWR. IT_OUT1-DISCOUNT = IT_OUT-KBETR. IT_OUT1-CONDITION = IT_OUT-KWERT. IT_OUT1-DESC = IT_OUT-TXZ01. *IT_OUT1-FRIEGHT = APPEND IT_OUT1. DATA : IT_TOT1 TYPE EKPO-NETWR VALUE 0, IT_DISCOUNT1 TYPE KONV-KBETR VALUE 0, IT_TOT2 TYPE EKPO-NETWR VALUE 0, IT_NEW_TOT2 TYPE EKPO-NETWR VALUE 0, EX_DUTY TYPE KONV-KBETR VALUE 0, ED_CESS TYPE KONV-KBETR VALUE 0, HED_CESS TYPE KONV-KBETR VALUE 0, IT_TOT3 TYPE EKPO-NETWR VALUE 0, IT_NEW_TOT3 TYPE EKPO-NETWR VALUE 0, IT_ZVAT TYPE KONV-KBETR VALUE 0, IT_FR01 TYPE KONV-KBETR VALUE 0, IT_FR02 TYPE KONV-KBETR VALUE 0, IT_TOT4 TYPE EKPO-NETWR VALUE 0, IT_FR03 TYPE KONV-KBETR VALUE 0, FINAL_AMT TYPE VBRP-NETWR VALUE 0. * n type p decimals 4. IT_TOT1 = IT_TOT1 + IT_OUT1-AMOUNT. "1st total in TOTALS window IT_DISCOUNT1 = IT_DISCOUNT1 + ZDCS - IT_OUT1-CONDITION. "addition of % discou nt and condition value IT_OUT1-DISCOUNT = ZDSC. IT_TOT2 = IT_TOT1 - it_discount1. "IT_OUT-ZDCS . ow IT_FR01 = IT_OUT-KWERT1 + ZFR2. IT_NEW_TOT2 = IT_TOT2 + IT_FR01. "2nd total in TOTALS wind

EX_DUTY = IT_NEW_TOT2 * ( ZBED / 100 ). "BASIC DTY IN AMOUNT ED_CESS = EX_DUTY * ( ZECS / 100 ). "EXISE DTY IN AMOUNT HED_CESS = EX_DUTY * ( ZHCS / 100 ). "HIGHERB EXISE DTY IN AMOUNT IT_TOT3 = EX_DUTY + ED_CESS + HED_CESS + IT_NEW_TOT2. ndow IT_FR02 = IT_OUT-KWERT2 + ZFR4. IT_NEW_TOT3 = IT_TOT3 + IT_FR02. IT_ZVAT = IT_NEW_TOT3 * ( ZVAT / 100 ). IT_TOT4 = IT_NEW_TOT3 + IT_ZVAT. IT_FR03 = IT_OUT-KWERT3 + ZFR6. FINAL_AMT = IT_FR03 + IT_TOT4 + IT_OUT-ZFPK. DATA: AMT_IN_WORDS(200) TYPE C. DATA : AMOUNT LIKE PC207-BETRG. CALL FUNCTION 'HR_IN_ROUND_AMT' EXPORTING AMOUNT = FINAL_AMT RNDOFF = 100 RNDLMT = 'N' IMPORTING RETAMT = AMOUNT * DLTAMT = . CALL FUNCTION 'HR_IN_CHG_INR_WRDS' EXPORTING AMT_IN_NUM = AMOUNT IMPORTING AMT_IN_WORDS = AMT_IN_WORDS EXCEPTIONS DATA_TYPE_MISMATCH = 1 OTHERS = 2 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT FUNCTION TYPE WINDOW * IMPORTING * PENDING_LINES * EXCEPTIONS * ELEMENT * FUNCTION * TYPE "FINAL TOTAL "VAT IN AMOUNT "3rd toatal in TOTALS wi

= = = = =

'LIST1' 'SET' 'BODY' 'ADDRESS'

= 1 = 2 = 3

* * * * * * *

UNOPENED = 4 UNSTARTED = 5 WINDOW = 6 BAD_PAGEFORMAT_FOR_PRINT = 7 SPOOL_ERROR = 8 CODEPAGE = 9 OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. *SUM. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'LIST2' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'PO' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'LIST3' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'MAIN' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* ENDIF.

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. "----------------Start of FOR DISNIL

IF IT_DISCOUNT1 <> 0.

CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'DISNIL' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'DISNIL' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'DISAMT' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'DISAMT' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. IF IT_FR01 <> 0. "----------------ENDIF FOR DISNIL "----------------Start of FOR FR01

CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'FR1' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'FRT01NIL' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'FRTAMT01 ' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'FRT01AMT' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. IF IT_FR02 <> 0. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT "-----------------ENDIF FOR FRT01 "----------------START of IF FOR FR02

= 'FRT02 '

FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'FRT02NIL' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'FRTAMT02' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'FRT02AMT' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. IF IT_FR03 <> 0. R02 CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT FUNCTION TYPE WINDOW "----------------------ENDIF FOR FRT02 "----------------------START of IF FOR F

= = = =

'FRT03 ' 'SET' 'BODY' 'FRT03NIL'

* IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'FRTAMT03' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'FRT03AMT' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. RT03 IF ZVAT <> 0. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT FUNCTION TYPE WINDOW * IMPORTING * PENDING_LINES * EXCEPTIONS * ELEMENT * FUNCTION "--------------------ENDIF FOR F

= = = = =

'VATNIL' 'SET' 'BODY' 'VATNIL'

= 1 = 2

* * * * * * * *

TYPE = 3 UNOPENED = 4 UNSTARTED = 5 WINDOW = 6 BAD_PAGEFORMAT_FOR_PRINT = 7 SPOOL_ERROR = 8 CODEPAGE = 9 OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'VATAMT' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'VATAMT' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. IF ZBED <> 0. CISE) CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT FUNCTION TYPE WINDOW * IMPORTING * PENDING_LINES * EXCEPTIONS * ELEMENT * FUNCTION * TYPE * UNOPENED * UNSTARTED * WINDOW "ENDIF FOR ZVAT "----------------START of IF FOR ZBED (EX

= = = = = = = = = = =

'ELEMENT' 'SET' 'BODY' 'TOTALNIL'

1 2 3 4 5 6

* * * *

BAD_PAGEFORMAT_FOR_PRINT = 7 SPOOL_ERROR = 8 CODEPAGE = 9 OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'ELEMENT1' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'TOTNIL' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. "---------------------ENDIF FOR EXISE NIL (ZBED)

CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT FUNCTION TYPE WINDOW * IMPORTING * PENDING_LINES * EXCEPTIONS * ELEMENT * FUNCTION * TYPE * UNOPENED * UNSTARTED * WINDOW * BAD_PAGEFORMAT_FOR_PRINT * SPOOL_ERROR * CODEPAGE * OTHERS .

= = = = = = = = = = = = = = =

'LIST4' 'SET' 'BODY' 'TOTALS'

1 2 3 4 5 6 7 8 9 10

IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'LIST_TOT' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'TOT' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'LIST5' FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'REMARKS' * IMPORTING * PENDING_LINES = * EXCEPTIONS * ELEMENT = 1 * FUNCTION = 2 * TYPE = 3 * UNOPENED = 4 * UNSTARTED = 5 * WINDOW = 6 * BAD_PAGEFORMAT_FOR_PRINT = 7 * SPOOL_ERROR = 8 * CODEPAGE = 9 * OTHERS = 10 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

ENDLOOP.

CALL FUNCTION 'CLOSE_FORM' * IMPORTING * RESULT = * RDI_RESULT = * TABLES * OTFDATA = * EXCEPTIONS * UNOPENED = 1 * BAD_PAGEFORMAT_FOR_PRINT = 2 * SEND_ERROR = 3 * SPOOL_ERROR = 4 * CODEPAGE = 5 * OTHERS = 6 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. *======================================================================= *CALL FUNCTION 'OPEN_FORM' * EXPORTING ** APPLICATION = 'TX' ** ARCHIVE_INDEX = ** ARCHIVE_PARAMS = ** DEVICE = 'PRINTER' ** DIALOG = 'X' * FORM = 'ZPURCH_ORDER' * LANGUAGE = SY-LANGU ** OPTIONS = ** MAIL_SENDER = ** MAIL_RECIPIENT = ** MAIL_APPL_OBJECT = ** RAW_DATA_INTERFACE = '*' ** SPONUMIV = ** IMPORTING ** LANGUAGE = ** NEW_ARCHIVE_PARAMS = ** RESULT = * EXCEPTIONS * CANCELED = 1 * DEVICE = 2 * FORM = 3 * OPTIONS = 4 * UNCLOSED = 5 * MAIL_OPTIONS = 6 * ARCHIVE_ERROR = 7 * INVALID_FAX_NUMBER = 8 * MORE_PARAMS_NEEDED_IN_BATCH = 9 * SPOOL_ERROR = 10 * CODEPAGE = 11 * OTHERS = 12 * . *IF SY-SUBRC <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. *ENDIF. **LOOP . *CALL FUNCTION 'WRITE_FORM' * EXPORTING

* ELEMENT = ' ' * FUNCTION = 'SET' * TYPE = 'BODY' * WINDOW = 'MAIN' ** IMPORTING ** PENDING_LINES = ** EXCEPTIONS ** ELEMENT = 1 ** FUNCTION = 2 ** TYPE = 3 ** UNOPENED = 4 ** UNSTARTED = 5 ** WINDOW = 6 ** BAD_PAGEFORMAT_FOR_PRINT = 7 ** SPOOL_ERROR = 8 ** CODEPAGE = 9 ** OTHERS = 10 * . *IF SY-SUBRC <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. *ENDIF. **ENDLOOP. *CALL FUNCTION 'CLOSE_FORM' ** IMPORTING ** RESULT = ** RDI_RESULT = ** TABLES ** OTFDATA = ** EXCEPTIONS ** UNOPENED = 1 ** BAD_PAGEFORMAT_FOR_PRINT = 2 ** SEND_ERROR = 3 ** SPOOL_ERROR = 4 ** CODEPAGE = 5 ** OTHERS = 6 * . *IF SY-SUBRC <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. *ENDIF.

Das könnte Ihnen auch gefallen