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

2 comments:

  1. Nice lakshmi...But in this i'm getting warning message, while am checks the Code Inspector. The error is " The type of the VALUE parameter "IS_NAST" has a length of 787 characters/bytes. No static write-access was found". Please, give me solution to clear this warning asap.

    Thanks & Regards,
    Shakthi

    ReplyDelete
  2. Hi Shakthi ,

    your problem got solved or not .... Please send me the details...


    Thanks in advance
    NAGARJUN

    ReplyDelete