Showing posts with label Puchace Order Smartform Driver Program. Show all posts
Showing posts with label Puchace Order Smartform Driver Program. Show all posts

Tuesday, March 24, 2009

Puchace Order Smartform Driver Program

************************************************************************
* Druckroutinen für Einkaufsbelege *
************************************************************************
*----------------------------------------------------------------------*
* Datenteil
*----------------------------------------------------------------------*
INCLUDE ZFM06PTOP.
*INCLUDE FM06PTOP.
*----------------------------------------------------------------------*
* Datenbeschaffung
*----------------------------------------------------------------------*
*INCLUDE FM06PF01.
*----------------------------------------------------------------------*
* Formularausgabe
*----------------------------------------------------------------------*
*INCLUDE FM06PF02.
*----------------------------------------------------------------------*
* Sonstige PERFORM-Routinen
*----------------------------------------------------------------------*
*INCLUDE FM06PF03.
*----------------------------------------------------------------------*
* Dienstleistungsabwicklung
*----------------------------------------------------------------------*
*INCLUDE FM06PF04.
*----------------------------------------------------------------------*
* Matrixdruck für Varianten
*----------------------------------------------------------------------*
*INCLUDE FM06PFVA.
*----------------------------------------------------------------------*
* Entries
*----------------------------------------------------------------------*
*INCLUDE FM06PE01.
*INCLUDE FM06PF05.
*INCLUDE FM06PF06.
*INCLUDE FM06PF07.
*INCLUDE FM06PF08.
*INCLUDE FM06PF09.
INCLUDE ZFM06PE02.
*INCLUDE FM06PE02.
INCLUDE ZFM06PE03.
*INCLUDE FM06PE03.
INCLUDE ZFM06PE04.
*INCLUDE FM06PE04.

*&---------------------------------------------------------------------*
*& Form GET_EKKO_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_EKKO_DATA .
SELECT *
FROM EKKO
INTO TABLE IT_EKKO
WHERE EBELN = NAST-OBJKY.
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDFORM. " GET_EKKO_DATA
*&---------------------------------------------------------------------*
*& Form GET_EKPO_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_EKPO_DATA .
IF NOT IT_EKKO[] IS INITIAL.
SELECT *
FROM EKPO
INTO TABLE IT_EKPO
FOR ALL ENTRIES IN IT_EKKO
WHERE EBELN = IT_EKKO-EBELN.
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDIF.
ENDFORM. " GET_EKPO_DATA
*&---------------------------------------------------------------------*
*& Form GET_T001W_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_T001W_DATA .
IF NOT IT_EKPO[] IS INITIAL.
*-------SELECT construct to get the plant details
SELECT * "werks name1
FROM T001W
INTO TABLE IT_T001W
FOR ALL ENTRIES IN IT_EKPO
WHERE WERKS = IT_EKPO-WERKS.
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDIF.
ENDFORM. " GET_T001W_DATA
*&---------------------------------------------------------------------*
*& Form GET_LFA1_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_LFA1_DATA .
IF NOT IT_EKKO IS INITIAL.
SELECT *
FROM LFA1
INTO TABLE IT_LFA1
FOR ALL ENTRIES IN IT_EKKO
WHERE LIFNR = IT_EKKO-LIFNR.
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDIF.
ENDFORM. " GET_LFA1_DATA
*&---------------------------------------------------------------------*
*& Form GET_ADRC_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_ADRC_DATA .
IF NOT IT_T001W[] IS INITIAL.
SELECT * "addrnumber str_suppl3 location fax_number
FROM ADRC
INTO TABLE IT_ADRC
FOR ALL ENTRIES IN IT_T001W
WHERE ADDRNUMBER = IT_T001W-ADRNR.
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDIF.
ENDFORM. " GET_ADRC_DATA
*&---------------------------------------------------------------------*
*& Form GET_ADR6_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_ADR6_DATA .
IF NOT IT_T001W[] IS INITIAL.
SELECT * "addrnumber smtp_addr
FROM ADR6
INTO TABLE IT_ADR6
FOR ALL ENTRIES IN IT_T001W
WHERE ADDRNUMBER = IT_T001W-ADRNR.
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDIF.
ENDFORM. " GET_ADR6_DATA
*&---------------------------------------------------------------------*
*& Form GET_KONV_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_KONV_DATA .
IF NOT IT_EKKO[] IS INITIAL.
SELECT *
FROM KONV
INTO TABLE IT_KONV
FOR ALL ENTRIES IN IT_EKKO
WHERE KNUMV = IT_EKKO-KNUMV
AND KSCHL IN ('R001','P001').
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDIF.
ENDFORM. " GET_KONV_DATA
*&---------------------------------------------------------------------*
*& Form GET_MAKT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_MAKT_DATA .
IF NOT IT_EKPO[] IS INITIAL.
SELECT *
FROM MAKT
INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_EKPO
WHERE MATNR = IT_EKPO-MATNR.
IF SY-SUBRC <> 0.
* --- On Failure display message
MESSAGE S000(ZSAS_MSGCLASS) WITH 'No Data found with selection criteria'(003).
ENDIF.
ENDIF.
ENDFORM. " GET_MAKT_DATA
ZFM06PTOP

*&---------------------------------------------------------------------*
*& Include ZFM06PTOP
*&---------------------------------------------------------------------*
PROGRAM SAPFM06P MESSAGE-ID ME.
TYPE-POOLS: ADDI, meein,
MMPUR.
INCLUDE RVADTABL.
INCLUDE FM06P_CONST.
*----------------------------------------------------------------------*
* DATA DECLARATIONS *
*----------------------------------------------------------------------*
DATA: LF_FORMNAME TYPE TDSFNAME, " To get the Form name
LF_FM_NAME TYPE RS38L_FNAM. " To get the Fun.Module Name
DATA : CF_RETCODE.
DATA: ANZAL LIKE NAST-ANZAL. "HUNGARY
DATA: NAST_ANZAL LIKE NAST-ANZAL. "Number of outputs (Orig. + Cop.)
DATA: XSCREEN(1) TYPE C. "Output on printer or screen
DATA: REPEAT(1) TYPE C.
DATA: LS_COMPOSER_PARAM TYPE SSFCOMPOP.
DATA: LS_RECIPIENT TYPE SWOTOBJID.
DATA: LS_CONTROL_PARAM TYPE SSFCTRLOP.
DATA: LS_SENDER TYPE SWOTOBJID.
DATA: BEGIN OF OTFDATA1 OCCURS 0 .
INCLUDE STRUCTURE ITCOO .
DATA: END OF OTFDATA1 .

*----------------------------------------------------------------------*
* INTERNAL TABLE DECLARATIONS
*----------------------------------------------------------------------*
*--- Internal table to hold Plant
DATA : IT_T001W TYPE TABLE OF T001W,
*--- Internal table to hold Purchasing Document Header
IT_EKKO TYPE TABLE OF EKKO,
*--- Internal table to hold Purchasing Document Item
IT_EKPO TYPE TABLE OF EKPO,
*--- Internal table to hold Vendor
IT_LFA1 TYPE TABLE OF LFA1,
*--- Internal table to hold the Address details
IT_ADRC TYPE TABLE OF ADRC,
*--- Internal table to hold the Email Address details
IT_ADR6 TYPE TABLE OF ADR6,
*--- Internal table to hold the Condition data for the PO'S
IT_KONV TYPE TABLE OF KONV ,
*--- Internal table to hold the Material Descriptions
IT_MAKT TYPE TABLE OF MAKT,
*--- Internal Table to hold the Payments terms text
IT_T052U TYPE TABLE OF T052U,
*--- Internal table to hold long Texts
IT_TLINE TYPE TABLE OF TLINE,
IT_TLINE1 type table of TLINE,
IT_TLINE2 type table of TLINE.
DATA : wa_ekko type ekko.

ZFM06PE02

*&---------------------------------------------------------------------*
*& Include ZFM06PE02
*&---------------------------------------------------------------------*
FORM ENTRY_NEU USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.

CLEAR: ENT_RETCO, CF_RETCODE.
IF NAST-AENDE EQ SPACE.
L_DRUVO = '1'.
ELSE.
L_DRUVO = '2'.
ENDIF.
*--- Perform to get the Purchasing Document Header
PERFORM GET_EKKO_DATA.
*--- Perform to get the Purchasing Document Item
PERFORM GET_EKPO_DATA.
*--- Perform to get the plant details.
PERFORM GET_T001W_DATA.
*--- Perform to get the vendor details
PERFORM GET_LFA1_DATA.
*--- Perform to get the address details
PERFORM GET_ADRC_DATA.
*--- Perform to get the EMAIL Address
PERFORM GET_ADR6_DATA.
*--- Perform to get the Conditions
PERFORM GET_KONV_DATA.
*--- Perform to get the material description
PERFORM GET_MAKT_DATA.
*--- Perform to get the long text details

* call function 'ME_READ_PO_FOR_PRINTING'
* exporting
* ix_nast = nast
* ix_screen = ent_screen
* importing
* ex_retco = ent_retco
* ex_nast = l_nast
* doc = l_doc
* changing
* cx_druvo = l_druvo
* cx_from_memory = l_from_memory.
* check ent_retco eq 0.
* call function 'ME_PRINT_PO'
* exporting
* ix_nast = l_nast
* ix_druvo = l_druvo
* doc = l_doc
* ix_screen = ent_screen
* ix_from_memory = l_from_memory
* ix_toa_dara = toa_dara
* ix_arc_params = arc_params
* ix_fonam = tnapr-fonam "HW 214570
* importing
* ex_retco = ent_retco.
CLEAR : OTFDATA1,OTFDATA1[].
LF_FORMNAME = TNAPR-SFORM.
IF CF_RETCODE = 0.
*Changes By Dheeraj Upadhyaya on 22.07.2008 requested by Nilesh Damahe
if wa_ekko-frgke = 'R' or wa_ekko-frgke = ' '.
*End of Changes
*--Determine smartform function module for invoice
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING FORMNAME = LF_FORMNAME
* variant = ' '
* direct_call = ' '
IMPORTING FM_NAME = LF_FM_NAME
EXCEPTIONS NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
* error handling
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
*Changes By Dheeraj Upadhyaya on 22.07.2008 requested by Nilesh Damahe
else.
MESSAGE s001(ZSAS_MSGCLASS) WITH text-005.
exit.
endif.
*End of Changes
ENDIF.
IF CF_RETCODE = 0.
PERFORM CHECK_REPEAT.
IF NAST-KSCHL+2(1) = '0'.
CLEAR REPEAT.
ELSE.
REPEAT = 'X'.
ENDIF.
IF LS_COMPOSER_PARAM-TDCOPIES EQ 0.
NAST_ANZAL = 1.
ELSE.
NAST_ANZAL = LS_COMPOSER_PARAM-TDCOPIES.
ENDIF.
DO NAST_ANZAL TIMES.
*--In case of repetition only one time archiving
* if sy-index > 1 and nast-tdarmod = 3.
* nast_tdarmod = nast-tdarmod.
* nast-tdarmod = 1.
* ls_composer_param-tdarmod = 1.
* endif.
IF SY-INDEX NE 1 AND REPEAT IS INITIAL.
REPEAT = 'X'.
ENDIF.
CALL FUNCTION LF_FM_NAME
EXPORTING
ARCHIVE_INDEX = TOA_DARA
ARCHIVE_PARAMETERS = ARC_PARAMS
CONTROL_PARAMETERS = LS_CONTROL_PARAM
MAIL_RECIPIENT = LS_RECIPIENT
MAIL_SENDER = LS_SENDER
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
USER_SETTINGS = SPACE
IS_NAST = NAST
IS_REPEAT = REPEAT
* IMPORTING
* DOCUMENT_OUTPUT_INFO =
* JOB_OUTPUT_INFO =
* JOB_OUTPUT_OPTIONS =
TABLES
IT_EKKO = IT_EKKO
IT_EKPO = IT_EKPO
IT_T001W = IT_T001W
IT_LFA1 = IT_LFA1
IT_ADRC = IT_ADRC
IT_ADR6 = IT_ADR6
IT_KONV = IT_KONV
IT_MAKT = IT_MAKT
IT_TLINE = IT_TLINE
IT_TLINE1 = IT_TLINE1
IT_TLINE2 = IT_TLINE2
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
.
* 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 LF_FM_NAME
* EXPORTING
* ARCHIVE_INDEX = TOA_DARA
* ARCHIVE_PARAMETERS = ARC_PARAMS
* CONTROL_PARAMETERS = LS_CONTROL_PARAM
* MAIL_RECIPIENT = LS_RECIPIENT
* MAIL_SENDER = LS_SENDER
* OUTPUT_OPTIONS = LS_COMPOSER_PARAM
* USER_SETTINGS = SPACE
* IS_NAST = NAST
* IS_REPEAT = REPEAT
* WA_EKKO = WA_EKKO
* WA_LFA1 = WA_LFA1
* WA_ADR6 = WA_ADR6
* WA_T001W = WA_T001W
* WA_EXCISE = WA_EXCISE
* WA_T052U = WA_T052U
* WA_T005T = WA_T005T
* WA_T024 = WA_T024
** IMPORTING
** DOCUMENT_OUTPUT_INFO =
** JOB_OUTPUT_INFO =
** JOB_OUTPUT_OPTIONS =
* TABLES
* IT_EKPO = IT_EKPO
* IT_KONV = IT_KONV
* IT_EKET = IT_EKET
* IT_T685T = IT_T685T
* IT_TLINE = IT_TLINE
* T_COLLECT = T_COLLECT
* T_KTEXT = T_KTEXT
* IT_ESLL = IT_ESLL
* IT_TLINE2 = IT_TLINE2
* IT_TLINE1 = IT_TLINE1
* EXCEPTIONS
* FORMATTING_ERROR = 1
* INTERNAL_ERROR = 2
* SEND_ERROR = 3
* USER_CANCELED = 4
* OTHERS = 5.
IF SY-SUBRC <> 0.
*--error handling
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
*--Parameter set for OTF output.
* LS_CONTROL_PARAM-PREVIEW = ' '.
* LS_CONTROL_PARAM-GETOTF = 'X'.
* LS_CONTROL_PARAM-NO_DIALOG = 'X'.
ENDDO.
ENDIF.
CLEAR it_ADR6.
ENDFORM. "entry_neu
*---------------------------------------------------------------------*
* FORM PROTOCOL_UPDATE *
*---------------------------------------------------------------------*
* The messages are collected for the processing protocol. *
*---------------------------------------------------------------------*
FORM PROTOCOL_UPDATE.
CHECK XSCREEN = SPACE.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = SYST-MSGID
MSG_NR = SYST-MSGNO
MSG_TY = SYST-MSGTY
MSG_V1 = SYST-MSGV1
MSG_V2 = SYST-MSGV2
MSG_V3 = SYST-MSGV3
MSG_V4 = SYST-MSGV4
EXCEPTIONS
OTHERS = 1.
ENDFORM. "PROTOCOL_UPDATE
*---------------------------------------------------------------------*
* FORM CHECK_REPEAT *
*---------------------------------------------------------------------*
* A text is printed, if it is a repeat print for the document. *
*---------------------------------------------------------------------*
FORM CHECK_REPEAT.
CLEAR REPEAT.
CLEAR ANZAL.
SELECT * INTO *NAST FROM NAST WHERE KAPPL = NAST-KAPPL
AND OBJKY = NAST-OBJKY
AND KSCHL = NAST-KSCHL
AND SPRAS = NAST-SPRAS
AND PARNR = NAST-PARNR
AND PARVW = NAST-PARVW
AND NACHA BETWEEN '1' AND '4'.
IF *NAST-VSTAT = '1'.
ANZAL = ANZAL + *NAST-ANZAL.
REPEAT = 'X'.
ENDIF.
ENDSELECT.
ENDFORM. "CHECK_REPEAT
*eject
*----------------------------------------------------------------------*
* Umlagerungsbestellung, Hinweis 670912 *
*----------------------------------------------------------------------*
FORM ENTRY_NEU_STO USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT,
F_STO. "670912

CLEAR ENT_RETCO.
IF NAST-AENDE EQ SPACE.
L_DRUVO = '1'.
ELSE.
L_DRUVO = '2'.
ENDIF.
F_STO = 'X'. "670912
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IX_STO = F_STO "670912
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_neu_sto
*eject
*----------------------------------------------------------------------*
* Mahnung
*----------------------------------------------------------------------*
FORM ENTRY_MAHN USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
L_DRUVO = '3'.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_mahn
*eject
*----------------------------------------------------------------------*
* Auftragsbestätigungsmahnung
*----------------------------------------------------------------------*
FORM ENTRY_AUFB USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
L_DRUVO = '7'.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_aufb
*eject
*----------------------------------------------------------------------*
* Lieferabrufdruck für Formular MEDRUCK mit Fortschrittszahlen
*----------------------------------------------------------------------*
FORM ENTRY_LPHE USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_XFZ,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
L_DRUVO = '9'.
L_XFZ = 'X'.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_XFZ = L_XFZ
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_lphe
*eject
*----------------------------------------------------------------------*
* Lieferabrufdruck für Formular MEDRUCK ohne Fortschrittszahlen
*----------------------------------------------------------------------*
FORM ENTRY_LPHE_CD USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
L_DRUVO = '9'.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_lphe_cd
*eject
*----------------------------------------------------------------------*
* Feinabrufdruck für Formular MEDRUCK mit Fortschrittszahlen
*----------------------------------------------------------------------*
FORM ENTRY_LPJE USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_XFZ,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
L_DRUVO = 'A'.
L_XFZ = 'X'.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_XFZ = L_XFZ
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_lpje
*eject
*----------------------------------------------------------------------*
* Feinabrufdruck für Formular MEDRUCK ohne Fortschrittszahlen
*----------------------------------------------------------------------*
FORM ENTRY_LPJE_CD USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
L_DRUVO = 'A'.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_lpje_cd
*eject
*----------------------------------------------------------------------*
* INCLUDE FM06PE02 *
*----------------------------------------------------------------------*
FORM ENTRY_NEU_MATRIX USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
IF NAST-AENDE EQ SPACE.
L_DRUVO = '1'.
ELSE.
L_DRUVO = '2'.
ENDIF.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_MFLAG = 'X'
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_neu_matrix
*eject
*----------------------------------------------------------------------*
* Angebotsabsage
*----------------------------------------------------------------------*
FORM ENTRY_ABSA USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
L_DRUVO = '4'.
CLEAR ENT_RETCO.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_absa
*eject
*----------------------------------------------------------------------*
* Lieferplaneinteilung
*----------------------------------------------------------------------*
FORM ENTRY_LPET USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
IF NAST-AENDE EQ SPACE.
L_DRUVO = '5'.
ELSE.
L_DRUVO = '8'.
ENDIF.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_lpet
*eject
*----------------------------------------------------------------------*
* Lieferplaneinteilung
*----------------------------------------------------------------------*
FORM ENTRY_LPFZ USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
IF NAST-AENDE EQ SPACE.
L_DRUVO = '5'.
ELSE.
L_DRUVO = '8'.
ENDIF.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_XFZ = 'X'
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_lpfz
*eject
*----------------------------------------------------------------------*
* Mahnung
*----------------------------------------------------------------------*
FORM ENTRY_LPMA USING ENT_RETCO ENT_SCREEN.
DATA: L_DRUVO LIKE T166K-DRUVO,
L_NAST LIKE NAST,
L_FROM_MEMORY,
L_DOC TYPE MEEIN_PURCHASE_DOC_PRINT.
CLEAR ENT_RETCO.
L_DRUVO = '6'.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
IX_NAST = NAST
IX_SCREEN = ENT_SCREEN
IMPORTING
EX_RETCO = ENT_RETCO
EX_NAST = L_NAST
DOC = L_DOC
CHANGING
CX_DRUVO = L_DRUVO
CX_FROM_MEMORY = L_FROM_MEMORY.
CHECK ENT_RETCO EQ 0.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING
IX_NAST = L_NAST
IX_DRUVO = L_DRUVO
DOC = L_DOC
IX_SCREEN = ENT_SCREEN
IX_FROM_MEMORY = L_FROM_MEMORY
IX_TOA_DARA = TOA_DARA
IX_ARC_PARAMS = ARC_PARAMS
IX_FONAM = TNAPR-FONAM "HW 214570
IMPORTING
EX_RETCO = ENT_RETCO.
ENDFORM. "entry_lpma

ZFM06PE03

*&---------------------------------------------------------------------*
*& Include ZFM06PE03
*&---------------------------------------------------------------------*
*&--------------------------------------------------------------------*
*& Form adobe_entry_neu
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->ENT_RETCO text
* -->ENT_SCREEN text
*---------------------------------------------------------------------*
FORM adobe_entry_neu USING ent_retco LIKE sy-subrc
ent_screen TYPE c.
DATA: xdruvo TYPE c.
IF nast-aende EQ space.
xdruvo = prntev_new.
ELSE.
xdruvo = prntev_chg.
ENDIF.
PERFORM adobe_print_output USING xdruvo
ent_screen
CHANGING ent_retco.

ENDFORM. " adobe_entry_neu


*&--------------------------------------------------------------------*
*& Form adobe_entry_mahn
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->ENT_RETCO text
* -->ENT_SCREEN text
*---------------------------------------------------------------------*
FORM adobe_entry_mahn USING ent_retco LIKE sy-subrc
ent_screen TYPE c.
DATA: xdruvo TYPE c.
xdruvo = prntev_mahn.
PERFORM adobe_print_output USING xdruvo
ent_screen
CHANGING ent_retco.
ENDFORM. " adobe_entry_mahn


*&--------------------------------------------------------------------*
*& Form adobe_entry_aufb
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->ENT_RETCO text
* -->ENT_SCREEN text
*---------------------------------------------------------------------*
FORM adobe_entry_aufb USING ent_retco LIKE sy-subrc
ent_screen TYPE c.
DATA: xdruvo TYPE c.
xdruvo = prntev_aufb.
PERFORM adobe_print_output USING xdruvo
ent_screen
CHANGING ent_retco.
ENDFORM. " adobe_entry_aufb.
ZFM06PE04

*&---------------------------------------------------------------------*
*& Include ZFM06PE04
*&---------------------------------------------------------------------*
FORM adobe_print_output USING value(if_druvo) TYPE druvo
value(if_preview) TYPE c
CHANGING ef_retco LIKE sy-subrc.
DATA: cl_output_po TYPE REF TO cl_purchase_order_output,
cl_output_knt TYPE REF TO cl_purchase_contract_output,
cl_output_schedagr TYPE REF TO cl_purchase_sched_agr_output,
fp_docparams TYPE sfpdocparams,
fp_outputparams TYPE sfpoutputparams,
fp_formoutput TYPE fpformoutput,
fp_interfacetype TYPE fpinterfacetype,
lf_formname TYPE fpname,
l_errstr TYPE string.
DATA: l_ebeln TYPE ebeln,
ls_ekko TYPE ekko,
W_CX_ROOT TYPE REF TO CX_ROOT,
MESG TYPE STRING.

IF nast-kappl = 'EF'.
CREATE OBJECT cl_output_po TYPE cl_purchase_order_output
EXPORTING c_mode = if_druvo
es_nast = nast.
CALL METHOD cl_output_po->read.
ELSE.
MOVE nast-objky(10) TO l_ebeln.
SELECT SINGLE * FROM ekko INTO ls_ekko
WHERE ebeln EQ l_ebeln.
IF ls_ekko-bstyp = 'K'.
CREATE OBJECT cl_output_knt TYPE cl_purchase_contract_output
EXPORTING c_mode = if_druvo
es_nast = nast.
CALL METHOD cl_output_knt->read.
ELSE.
CREATE OBJECT cl_output_schedagr
TYPE cl_purchase_sched_agr_output
EXPORTING c_mode = if_druvo
es_nast = nast.
CALL METHOD cl_output_schedagr->read.
ENDIF.
ENDIF.
DATA: ls_function TYPE rs38l_fnam, "LIKE tnapr-funcname,
ls_options TYPE ssfcompop,
ls_control TYPE ssfctrlop.
CLEAR ef_retco.
ls_function = tnapr-funcname.
IF NOT tnapr-fonam IS INITIAL.
lf_formname = tnapr-fonam.
TRY.
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = lf_formname
IMPORTING
e_funcname = ls_function
e_interface_type = fp_interfacetype .
CATCH CX_ROOT INTO W_CX_ROOT.
MESG = W_CX_ROOT->GET_TEXT( ).
WRITE:/ MESG.
ENDTRY.
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.

PERFORM fill_control_structure USING nast
if_preview
CHANGING fp_outputparams.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR: fp_docparams.
fp_docparams-langu = nast-tdspras.
fp_docparams-country = nast-tland.
IF nast-kappl = 'EF'.
call function ls_function
EXPORTING
/1bcdwb/docparams = fp_docparams
mode = cl_output_po->mode
header = cl_output_po->is_ekko
addressinfo = cl_output_po->is_t024e
headerinfo = cl_output_po->is_t166u
contactinfo = cl_output_po->is_t024
headertext = cl_output_po->it_t166k
paymentterms = cl_output_po->it_payment
item = cl_output_po->it_ekpo
itemline = cl_output_po->it_item
schedule = cl_output_po->it_eket
conditions = cl_output_po->it_komvd
manfdetails = cl_output_po->it_htnmat
changetext = cl_output_po->it_t166t
account = cl_output_po->it_ekkn
qmtext = cl_output_po->it_qmtext
texts = cl_output_po->it_t166p
documents = cl_output_po->it_drad
komk = cl_output_po->is_komk
componentshdr = cl_output_po->it_complist_hdr
components = cl_output_po->it_complist
invoice = cl_output_po->it_fpltdr
invoiceper = cl_output_po->it_fpltdr_per
invoiceval = cl_output_po->it_fpltdr_val
appendixtext = cl_output_po->it_t166a
shipinstr = cl_output_po->it_t027b
variants = cl_output_po->it_pekpov
configmat = cl_output_po->it_econf_out
services = cl_output_po->it_ml_esll
srvlines = cl_output_po->it_srvlines
srvtyp = cl_output_po->it_srvtyp
srvhdr = cl_output_po->it_srvhdr
srvtime = cl_output_po->it_time
srvvalue = cl_output_po->it_esuh
formulahdr = cl_output_po->it_formel
formulabody = cl_output_po->it_variablen
srvconditions = cl_output_po->it_komvd_srv
srvtext = cl_output_po->it_t166p_srv
chgtxtsrv = cl_output_po->it_t166t_srv
mainthdr = cl_output_po->it_mmpt
maintpos = cl_output_po->it_mpos.

ELSE.
IF ls_ekko-bstyp = 'K'.
call function ls_function
EXPORTING
/1bcdwb/docparams = fp_docparams
mode = cl_output_knt->mode
header = cl_output_knt->is_ekko
addressinfo = cl_output_knt->is_t024e
headerinfo = cl_output_knt->is_t166u
contactinfo = cl_output_knt->is_t024
headertext = cl_output_knt->it_t166k
paymentterms = cl_output_knt->it_payment
item = cl_output_knt->it_ekpo
itemline = cl_output_knt->it_item
schedule = cl_output_knt->it_eket
contconditions = cl_output_knt->it_ekomd
quanconditions = cl_output_knt->it_ekomd_quant
valueconditions = cl_output_knt->it_ekomd_value
lineconditions = cl_output_knt->it_ekomd_cond
manfdetails = cl_output_knt->it_htnmat
changetext = cl_output_knt->it_t166t
account = cl_output_knt->it_ekkn
qmtext = cl_output_knt->it_qmtext
texts = cl_output_knt->it_t166p
documents = cl_output_knt->it_drad
komk = cl_output_knt->is_komk
invoice = cl_output_knt->it_fpltdr
invoiceper = cl_output_knt->it_fpltdr_per
invoiceval = cl_output_knt->it_fpltdr_val
appendixtext = cl_output_knt->it_t166a
shipinstr = cl_output_knt->it_t027b
variants = cl_output_knt->it_pekpov
configmat = cl_output_knt->it_econf_out
services = cl_output_knt->it_ml_esll
srvlines = cl_output_knt->it_srvlines
srvtyp = cl_output_knt->it_srvtyp
srvhdr = cl_output_knt->it_srvhdr
srvtime = cl_output_knt->it_time
srvvalue = cl_output_knt->it_esuh
formulahdr = cl_output_knt->it_formel
formulabody = cl_output_knt->it_variablen
srvconditions = cl_output_knt->it_komvd_srv
srvtext = cl_output_knt->it_t166p_srv
chgtxtsrv = cl_output_knt->it_t166t_srv
mainthdr = cl_output_knt->it_mmpt
maintpos = cl_output_knt->it_mpos.
ELSE.
call function ls_function
EXPORTING
/1bcdwb/docparams = fp_docparams
mode = cl_output_schedagr->mode
header = cl_output_schedagr->is_ekko
addressinfo = cl_output_schedagr->is_t024e
headerinfo = cl_output_schedagr->is_t166u
contactinfo = cl_output_schedagr->is_t024
headertext = cl_output_schedagr->it_t166k
paymentterms = cl_output_schedagr->it_payment
item = cl_output_schedagr->it_ekpo
itemline = cl_output_schedagr->it_item
schedule = cl_output_schedagr->it_eket
conditions = cl_output_schedagr->it_komvd
contconditions = cl_output_schedagr->it_ekomd
quanconditions = cl_output_schedagr->it_ekomd_quant
valueconditions = cl_output_schedagr->it_ekomd_value
lineconditions = cl_output_schedagr->it_ekomd_cond
manfdetails = cl_output_schedagr->it_htnmat
changetext = cl_output_schedagr->it_t166t
account = cl_output_schedagr->it_ekkn
qmtext = cl_output_schedagr->it_qmtext
texts = cl_output_schedagr->it_t166p
documents = cl_output_schedagr->it_drad
komk = cl_output_schedagr->is_komk
invoice = cl_output_schedagr->it_fpltdr
invoiceper = cl_output_schedagr->it_fpltdr_per
invoiceval = cl_output_schedagr->it_fpltdr_val
appendixtext = cl_output_schedagr->it_t166a
shipinstr = cl_output_schedagr->it_t027b
variants = cl_output_schedagr->it_pekpov
configmat = cl_output_schedagr->it_econf_out
services = cl_output_schedagr->it_ml_esll
srvlines = cl_output_schedagr->it_srvlines
srvtyp = cl_output_schedagr->it_srvtyp
srvhdr = cl_output_schedagr->it_srvhdr
srvtime = cl_output_schedagr->it_time
srvvalue = cl_output_schedagr->it_esuh
formulahdr = cl_output_schedagr->it_formel
formulabody = cl_output_schedagr->it_variablen
srvconditions = cl_output_schedagr->it_komvd_srv
srvtext = cl_output_schedagr->it_t166p_srv
chgtxtsrv = cl_output_schedagr->it_t166t_srv
mainthdr = cl_output_schedagr->it_mmpt
maintpos = cl_output_schedagr->it_mpos.
ENDIF.
ENDIF.
CALL FUNCTION 'FP_GET_LAST_ADS_ERRSTR'
IMPORTING
E_ADSERRSTR = l_errstr.


CALL FUNCTION 'FP_JOB_CLOSE'
* IMPORTING
* E_RESULT =
EXCEPTIONS
usage_error = 1
system_error = 2
internal_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.
ENDIF.
ENDFORM. " adobe_print_output


*&---------------------------------------------------------------------*
*& Form fill_control_structure
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_NAST text
* -->P_IF_PREVIEW text
* <--P_FP_OUTPUTPARAMS text
*----------------------------------------------------------------------*
FORM fill_control_structure USING value(is_nast) TYPE nast
value(if_preview) TYPE c
CHANGING es_outparms TYPE sfpoutputparams.
CLEAR: es_outparms.
IF if_preview IS INITIAL.
CLEAR: es_outparms-preview.
ELSE.
es_outparms-preview = 'X'.
ENDIF.
es_outparms-nodialog = 'X'.
es_outparms-dest = is_nast-ldest.
es_outparms-reqimm = is_nast-dimme.
es_outparms-reqdel = is_nast-delet.
es_outparms-copies = is_nast-anzal.
es_outparms-dataset = is_nast-dsnam.
es_outparms-suffix1 = is_nast-dsuf1.
es_outparms-suffix2 = is_nast-dsuf2.
es_outparms-covtitle = is_nast-tdcovtitle.
es_outparms-cover = is_nast-tdocover.
es_outparms-receiver = is_nast-tdreceiver.
es_outparms-division = is_nast-tddivision.
es_outparms-reqfinal = 'X'.
es_outparms-arcmode = is_nast-tdarmod.
es_outparms-schedule = is_nast-tdschedule.
es_outparms-senddate = is_nast-vsdat.
es_outparms-sendtime = is_nast-vsura.

ENDFORM. " fill_control_structure