<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Convert SapScripts into PDF in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701556#M1104793</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gopi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please go through this program,this is for smartform but you can use this in your script driver program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  YMSL_ORDER_ACCEPTANCE&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YMSL_ORDER_ACCEPTANCE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********Variable Declarations *****************************&lt;/P&gt;&lt;P&gt;DATA: GV_FORM_NAME TYPE RS38L_FNAM, " Used to store the function module generated by Smartform&lt;/P&gt;&lt;P&gt;      GV_BIN_FILESIZE TYPE I, " Store the file size&lt;/P&gt;&lt;P&gt;      GV_POS TYPE I,&lt;/P&gt;&lt;P&gt;      GV_LEN TYPE I,&lt;/P&gt;&lt;P&gt;      GV_TAB_LINES TYPE I,&lt;/P&gt;&lt;P&gt;      gv_desc_lines type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********Constants *******************************************&lt;/P&gt;&lt;P&gt;DATA : GC_TEXT(11) TYPE C VALUE 'Form Output',&lt;/P&gt;&lt;P&gt;       GC_TST(3) TYPE C VALUE 'TST',&lt;/P&gt;&lt;P&gt;       GC_TESTING(20) TYPE C VALUE 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;*********Work Area Declarations *****************************&lt;/P&gt;&lt;P&gt;DATA: GS_DOCDATA TYPE SODOCCHGI1, " Data of an object which can be changed&lt;/P&gt;&lt;P&gt;      GS_CTRLOP TYPE SSFCTRLOP, " Smart Forms: Control structure&lt;/P&gt;&lt;P&gt;      GS_OUTOPT TYPE SSFCOMPOP, " SAP Smart Forms: Smart Composer (transfer) options&lt;/P&gt;&lt;P&gt;      GS_OTFDATA TYPE SSFCRESCL, " Smart Forms: Return value at end of form printing&lt;/P&gt;&lt;P&gt;      GS_RECLIST TYPE SOMLRECI1, " SAPoffice: Structure of the API Recipient List&lt;/P&gt;&lt;P&gt;      GS_PDF_TAB TYPE TLINE, " Workarea for SAP Script Text Lines&lt;/P&gt;&lt;P&gt;      GS_OBJBIN TYPE SOLISTI1, " SAPoffice: Single List with Column Length 255&lt;/P&gt;&lt;P&gt;      GS_OBJPACK TYPE SOPCKLSTI1. " SAPoffice: Description of Imported Object Components&lt;/P&gt;&lt;P&gt;DATA : w_doc_chng typE sodocchgi1.&lt;/P&gt;&lt;P&gt;*********Internal tables Declarations *****************************&lt;/P&gt;&lt;P&gt;DATA : I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: GT_RECLIST TYPE TABLE OF SOMLRECI1, " SAPoffice: Structure of the API Recipient List&lt;/P&gt;&lt;P&gt;      GT_PDF_TAB TYPE TABLE OF TLINE, " SAPscript: Text Lines&lt;/P&gt;&lt;P&gt;      GT_OTF TYPE TABLE OF ITCOO, " OTF Structure&lt;/P&gt;&lt;P&gt;      GT_OBJBIN TYPE TABLE OF SOLISTI1, " SAPoffice: Single List with Column Length 255&lt;/P&gt;&lt;P&gt;      GT_OBJPACK TYPE TABLE OF SOPCKLSTI1. " SAPoffice: Description of Imported Object Components&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_ADR6 OCCURS 0,&lt;/P&gt;&lt;P&gt;          SMTP_ADDR TYPE ADR6-SMTP_ADDR,&lt;/P&gt;&lt;P&gt;        END OF IT_ADR6.&lt;/P&gt;&lt;P&gt;DATA : W_FILE_NAME TYPE STRING,&lt;/P&gt;&lt;P&gt;      W_FILE_PATH TYPE STRING,&lt;/P&gt;&lt;P&gt;      W_FULL_PATH TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : GV_FORM_NAME,&lt;/P&gt;&lt;P&gt;        GS_CTRLOP,&lt;/P&gt;&lt;P&gt;        GS_OUTOPT,&lt;/P&gt;&lt;P&gt;        GS_OTFDATA,&lt;/P&gt;&lt;P&gt;        GV_BIN_FILESIZE,&lt;/P&gt;&lt;P&gt;        GV_POS,&lt;/P&gt;&lt;P&gt;        GV_LEN,&lt;/P&gt;&lt;P&gt;        GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:  BEGIN OF SCREEN 1001 AS WINDOW  TITLE scr_ttl .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TXT_B1 NO INTERVALS.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(15) TX_VBELN.&lt;/P&gt;&lt;P&gt;PARAMETER : P_VBELN TYPE VBAK-VBELN .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TXT_B2 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: R_OUT RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD11 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(20) TXT_OUT.  "  roles by t-code&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETER R_PDF RADIOBUTTON GROUP R1 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(20) TXT_PDF.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETER R_MAIL RADIOBUTTON GROUP R1 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(15) TXT_MAIL.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 20(7) TXT_MAL1.&lt;/P&gt;&lt;P&gt;PARAMETER : P_MAIL TYPE ADR6-SMTP_ADDR MODIF ID M1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF SCREEN 1001 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SELECTION-SCREEN 1001 STARTING AT 20 5 ENDING AT 105 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SET PF-STATUS 'STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TX_VBELN = 'Order'.&lt;/P&gt;&lt;P&gt;  TXT_B1 = 'Selection Criteria '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TXT_B2 = 'Output Criteria '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  scr_ttl = 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;  TXT_OUT = 'Print Output'.&lt;/P&gt;&lt;P&gt;  TXT_PDF = 'Save To PDF'.&lt;/P&gt;&lt;P&gt;  TXT_MAIL = 'Mail the Output'.&lt;/P&gt;&lt;P&gt;  TXT_MAL1 = 'E-mail'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;    IF R_MAIL &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'M1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-INVISIBLE =  1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SCREEN-INPUT = 0. " Disable for input.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MAIL.&lt;/P&gt;&lt;P&gt;  PERFORM TABLE_HELP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF P_VBELN IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_SF.&lt;/P&gt;&lt;P&gt;    IF R_PDF = 'X' .&lt;/P&gt;&lt;P&gt;      PERFORM CONVERT_OTF.&lt;/P&gt;&lt;P&gt;      PERFORM SAVE_DIALOG.&lt;/P&gt;&lt;P&gt;      PERFORM DOWNLOAD.&lt;/P&gt;&lt;P&gt;    ELSEIF R_MAIL = 'X'.&lt;/P&gt;&lt;P&gt;      IF P_MAIL IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;       PERFORM CONVERT_OTF.&lt;/P&gt;&lt;P&gt;       PERFORM SEND_MAIL.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE 'Please Enter Email Address' TYPE 'S'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        CALL TRANSACTION 'YMSL20'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE 'Please Enter Order No' TYPE 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     CALL TRANSACTION 'YMSL20'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TABLE_HELP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TABLE_HELP .&lt;/P&gt;&lt;P&gt;  IF R_MAIL = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT SMTP_ADDR FROM ADR6 INTO TABLE IT_ADR6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT IT_ADR6.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM IT_ADR6 COMPARING ALL FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DDIC_STRUCTURE         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        RETFIELD               = 'IT_ADR6-SMTP_ADDR'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PVALKEY                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DYNPPROG               = SY-REPID&lt;/P&gt;&lt;P&gt;       DYNPNR                 = SY-DYNNR&lt;/P&gt;&lt;P&gt;       DYNPROFIELD            = 'EMAIL'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    STEPL                  = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       WINDOW_TITLE           = 'SELECT MAIL ADDRESS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    VALUE                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       VALUE_ORG              = 'S'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MULTIPLE_CHOICE        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DISPLAY                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CALLBACK_PROGRAM       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CALLBACK_FORM          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MARK_TAB               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_RESET             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        VALUE_TAB              = IT_ADR6&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FIELD_TAB              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    RETURN_TAB             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DYNPFLD_MAPPING        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PARAMETER_ERROR        = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    NO_VALUES_FOUND        = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                 = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TABLE_HELP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_SF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_SF .&lt;/P&gt;&lt;P&gt;*u2022 Generate Function Module name&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FORMNAME           = 'Z_CHK'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FM_NAME            = GV_FORM_NAME&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_FORM            = 1&lt;/P&gt;&lt;P&gt;      NO_FUNCTION_MODULE = 2&lt;/P&gt;&lt;P&gt;      OTHERS             = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC  &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*u2022 Assigning values to Form Control Structure and Form Composer&lt;/P&gt;&lt;P&gt;  IF R_OUT &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;    GS_CTRLOP-GETOTF = 'X'.&lt;/P&gt;&lt;P&gt;    GS_CTRLOP-NO_DIALOG = 'X'.&lt;/P&gt;&lt;P&gt;    GS_OUTOPT-TDNOPREV = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/1BCDWB/SF00000368&lt;/P&gt;&lt;P&gt;CALL FUNCTION  GV_FORM_NAME "'/1BCDWB/SF00000368'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX_TAB          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CONTROL_PARAMETERS         = GS_CTRLOP&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_APPL_OBJ              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_RECIPIENT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_SENDER                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   OUTPUT_OPTIONS             = GS_OUTOPT&lt;/P&gt;&lt;P&gt;   USER_SETTINGS              = 'X'&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCUMENT_OUTPUT_INFO       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   JOB_OUTPUT_INFO            = GS_OTFDATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  JOB_OUTPUT_OPTIONS         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FORMATTING_ERROR           = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNAL_ERROR             = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEND_ERROR                 = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_CANCELED              = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                     = 5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION GV_FORM_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX_TAB          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONTROL_PARAMETERS         = GS_CTRLOP&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MAIL_APPL_OBJ              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MAIL_RECIPIENT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MAIL_SENDER                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OUTPUT_OPTIONS             = GS_OUTOPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     USER_SETTINGS              = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TEMP_VBELN                 =  P_VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  DOCUMENT_OUTPUT_INFO       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     JOB_OUTPUT_INFO            = GS_OTFDATA&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  JOB_OUTPUT_OPTIONS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FORMATTING_ERROR           = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INTERNAL_ERROR             = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    SEND_ERROR                 = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_CANCELED              = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                     = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_SF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CONVERT_OTF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CONVERT_OTF .&lt;/P&gt;&lt;P&gt;*u2022 Assigning the OTFDATA to OTF Structure table&lt;/P&gt;&lt;P&gt;  CLEAR GT_OTF.&lt;/P&gt;&lt;P&gt;  GT_OTF[] = GS_OTFDATA-OTFDATA[].&lt;/P&gt;&lt;P&gt;*u2022 Convert the OTF DATA to SAP Script Text lines&lt;/P&gt;&lt;P&gt;  CLEAR GT_PDF_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_OTF'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     FORMAT                      = 'PDF'&lt;/P&gt;&lt;P&gt;     MAX_LINEWIDTH               = 132&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COPYNUMBER                  = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ASCII_BIDI_VIS2LOG          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PDF_DELETE_OTFTAB           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     BIN_FILESIZE                = GV_BIN_FILESIZE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      OTF                         = GT_OTF&lt;/P&gt;&lt;P&gt;      LINES                       = GT_PDF_TAB&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ERR_MAX_LINEWIDTH           = 1&lt;/P&gt;&lt;P&gt;     ERR_FORMAT                  = 2&lt;/P&gt;&lt;P&gt;     ERR_CONV_NOT_POSSIBLE       = 3&lt;/P&gt;&lt;P&gt;     ERR_BAD_OTF                 = 4&lt;/P&gt;&lt;P&gt;     OTHERS                      = 5&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*t_otf[] = t_otf_from_fm-otfdata[].&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Function Module CONVERT_OTF is used to convert the OTF format to PDF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'CONVERT_OTF'&lt;/P&gt;&lt;P&gt;*EXPORTING&lt;/P&gt;&lt;P&gt;*FORMAT = 'PDF'&lt;/P&gt;&lt;P&gt;*MAX_LINEWIDTH = 132&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;ARCHIVE_INDEX = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;COPYNUMBER = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;ASCII_BIDI_VIS2LOG = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;PDF_DELETE_OTFTAB = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IMPORTING&lt;/P&gt;&lt;P&gt;*BIN_FILESIZE = W_bin_filesize&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;BIN_FILE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*TABLES&lt;/P&gt;&lt;P&gt;*otf = T_OTF&lt;/P&gt;&lt;P&gt;*lines = T_pdf_tab&lt;/P&gt;&lt;P&gt;*EXCEPTIONS&lt;/P&gt;&lt;P&gt;*ERR_MAX_LINEWIDTH = 1&lt;/P&gt;&lt;P&gt;*ERR_FORMAT = 2&lt;/P&gt;&lt;P&gt;*ERR_CONV_NOT_POSSIBLE = 3&lt;/P&gt;&lt;P&gt;*ERR_BAD_OTF = 4&lt;/P&gt;&lt;P&gt;*OTHERS = 5&lt;/P&gt;&lt;P&gt;*.&lt;/P&gt;&lt;P&gt;*IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;*WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CONVERT_OTF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SAVE_DIALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SAVE_DIALOG .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To display File SAVE dialog window&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_SAVE_DIALOG&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;   WINDOW_TITLE = 'Download to PDF '&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT_EXTENSION = '(*.PDF)'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   DEFAULT_FILE_NAME = 'file.pdf'&lt;/P&gt;&lt;P&gt;   FILE_FILTER = 'PDF Format(*.PDF)'&lt;/P&gt;&lt;P&gt;   INITIAL_DIRECTORY = 'C:\Documents and Settings\Administrator\Desktop'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH_ENCODING =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   PROMPT_ON_OVERWRITE = 'X'&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;  FILENAME = W_FILE_NAME&lt;/P&gt;&lt;P&gt;  PATH = W_FILE_PATH&lt;/P&gt;&lt;P&gt;  FULLPATH = W_FULL_PATH&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USER_ACTION =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILE_ENCODING =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;  CNTL_ERROR = 1&lt;/P&gt;&lt;P&gt;  ERROR_NO_GUI = 2&lt;/P&gt;&lt;P&gt;  NOT_SUPPORTED_BY_GUI = 3&lt;/P&gt;&lt;P&gt;  OTHERS = 4&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SAVE_DIALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DOWNLOAD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOAD .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Use the FM GUI_DOWNLOAD to download the generated PDF file onto the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;presentation server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  BIN_FILESIZE = GV_BIN_FILESIZE&lt;/P&gt;&lt;P&gt;  FILENAME = W_FULL_PATH&lt;/P&gt;&lt;P&gt;  FILETYPE = 'BIN'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE_FIELD_SEPARATOR = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER = '00'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRUNC_TRAILING_BLANKS = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE_LF = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COL_SELECT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COL_SELECT_MASK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DAT_MODE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONFIRM_OVERWRITE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_AUTH_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CODEPAGE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IGNORE_CERR = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REPLACEMENT = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE_BOM = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRUNC_TRAILING_BLANKS_EOL = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_N_FORMAT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_N_SIZE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_T_FORMAT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_T_SIZE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILELENGTH =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;  DATA_TAB = GT_PDF_TAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FIELDNAMES =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILE_WRITE_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_BATCH = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GUI_REFUSE_FILETRANSFER = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INVALID_TYPE = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_AUTHORITY = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNKNOWN_ERROR = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER_NOT_ALLOWED = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SEPARATOR_NOT_ALLOWED = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILESIZE_NOT_ALLOWED = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER_TOO_LONG = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_ERROR_CREATE = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_ERROR_SEND = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_ERROR_WRITE = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNKNOWN_DP_ERROR = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ACCESS_DENIED = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_OUT_OF_MEMORY = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DISK_FULL = 17&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_TIMEOUT = 18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILE_NOT_FOUND = 19&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATAPROVIDER_EXCEPTION = 20&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONTROL_FLUSH_ERROR = 21&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 22&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DOWNLOAD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SEND_MAIL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SEND_MAIL .&lt;/P&gt;&lt;P&gt;***changes by rajan&lt;/P&gt;&lt;P&gt;*DATA : v_first TYPE USER_ADDR-NAME_FIRST,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     V_LAST   TYPE USER_ADDR-NAME_LAST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : detail TYPE STRING.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT SINGLE NAME_FIRST NAME_LAST FROM&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; USER_ADDR INTO (V_FIRST,V_LAST)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE BNAME = syst-UNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE v_first V_LAST INTO detail SEPARATED BY space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : v_po_no TYPE vbkd-bstkd,&lt;/P&gt;&lt;P&gt;      v_po_date TYPE vbkd-bstdk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : day TYPE STRING,&lt;/P&gt;&lt;P&gt;       month type STRING,&lt;/P&gt;&lt;P&gt;       year  TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : date TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE BSTKD BSTDK&lt;/P&gt;&lt;P&gt;  FROM VBKD&lt;/P&gt;&lt;P&gt;  INTO (v_po_no,v_po_date)&lt;/P&gt;&lt;P&gt;  WHERE VBELN = P_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;day = v_po_date+6(2).&lt;/P&gt;&lt;P&gt;month = v_po_date+4(2).&lt;/P&gt;&lt;P&gt;year = v_po_date+0(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE day '/' month '/' year INTO date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Please Find attached Order Acceptance against your P.O.No.' v_po_no 'dated' date  '.' INTO detail SEPARATED BY space.&lt;/P&gt;&lt;P&gt;**u2022 Assigning the Description of the object sent in the mail&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR GS_DOCDATA.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_DOCDATA-OBJ_NAME = GC_TST.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_DOCDATA-OBJ_DESCR = GC_TESTING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*u2022 Assigning the email id to Structure of the API Recipient List table&lt;/P&gt;&lt;P&gt;  CLEAR : GT_RECLIST, GS_RECLIST.&lt;/P&gt;&lt;P&gt;  GS_RECLIST-RECEIVER =  P_MAIL.       " &lt;/P&gt;&lt;P&gt;  GS_RECLIST-REC_TYPE = 'U'."'G' ."'O'. "'B'. "'U'.&lt;/P&gt;&lt;P&gt;  APPEND GS_RECLIST TO GT_RECLIST.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt; mail body rajan&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  I_OBJTXT = 'Dear Sir/Madam.'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = detail.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = ''.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = 'Thanks.'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = 'Best Regards,'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = 'For Bilcare Ltd.'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_objtxt LINES gv_desc_lines.&lt;/P&gt;&lt;P&gt;*DESCRIBE TABLE i_objtxt LINES v_lines_txt.&lt;/P&gt;&lt;P&gt;  CLEAR I_OBJTXT.&lt;/P&gt;&lt;P&gt;  READ TABLE I_OBJTXT INDEX gv_desc_lines.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document information.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GS_DOCDATA-obj_name = 'ord_accept'.&lt;/P&gt;&lt;P&gt;GS_DOCDATA-expiry_dat = sy-datum + 10.&lt;/P&gt;&lt;P&gt;GS_DOCDATA-obj_descr = 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;GS_DOCDATA-sensitivty = 'F'. "Functional object&lt;/P&gt;&lt;P&gt;GS_DOCDATA-doc_size = gv_desc_lines * 255.&lt;/P&gt;&lt;P&gt;CLEAR Gs_OBJPACK-transf_bin.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start line of object header in transport packet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    GS_OBJPACK-doc_size = gv_desc_lines * 255.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_NUM = gv_desc_lines.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-OBJ_DESCR = 'ORDER_ACCEPTANCE.PDF'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    APPEND GS_OBJPACK TO GT_OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_OBJPACK-doc_type = 'RAW'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*APPEND GS_OBJPACK TO GT_OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*u2022 Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table&lt;/P&gt;&lt;P&gt;  CLEAR : GS_OBJBIN, GS_PDF_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT GT_PDF_TAB INTO GS_PDF_TAB.&lt;/P&gt;&lt;P&gt;    GV_POS = 255 - GV_LEN.&lt;/P&gt;&lt;P&gt;    IF GV_POS &amp;gt; 134. "length of pdf_table&lt;/P&gt;&lt;P&gt;      GV_POS = 134.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GS_OBJBIN+GV_LEN = GS_PDF_TAB(GV_POS).&lt;/P&gt;&lt;P&gt;    GV_LEN = GV_LEN + GV_POS.&lt;/P&gt;&lt;P&gt;    IF GV_LEN = 255. "length of out (contents_bin)&lt;/P&gt;&lt;P&gt;      APPEND GS_OBJBIN TO GT_OBJBIN.&lt;/P&gt;&lt;P&gt;      CLEAR: GS_OBJBIN, GV_LEN.&lt;/P&gt;&lt;P&gt;      IF GV_POS &amp;lt; 134.&lt;/P&gt;&lt;P&gt;        GS_OBJBIN = GS_PDF_TAB+GV_POS.&lt;/P&gt;&lt;P&gt;        GV_LEN = 134 - GV_POS.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF GV_LEN &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    APPEND GS_OBJBIN TO GT_OBJBIN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*u2022 Filling the details in SAPoffice: Description of Imported Object Components table&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE GT_OBJBIN LINES GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR GS_OBJBIN.&lt;/P&gt;&lt;P&gt;  READ TABLE GT_OBJBIN INTO GS_OBJBIN INDEX GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-DOC_SIZE = ( GV_TAB_LINES - 1 ) * 255 + STRLEN( GS_OBJBIN ).&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_NUM = GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-DOC_TYPE = 'PDF'.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-OBJ_DESCR = 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;    APPEND GS_OBJPACK TO GT_OBJPACK.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DOCUMENT_DATA                    = GS_DOCDATA&lt;/P&gt;&lt;P&gt;     PUT_IN_OUTBOX                    = 'X'&lt;/P&gt;&lt;P&gt;     COMMIT_WORK                      = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SENT_TO_ALL                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NEW_OBJECT_ID                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PACKING_LIST                     = GT_OBJPACK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_HEADER                    =  I_OBJTXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     CONTENTS_BIN                     = GT_OBJBIN&lt;/P&gt;&lt;P&gt;     CONTENTS_TXT                     = I_OBJTXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONTENTS_HEX                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_PARA                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_PARB                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      RECEIVERS                        = GT_RECLIST&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     TOO_MANY_RECEIVERS               = 1&lt;/P&gt;&lt;P&gt;     DOCUMENT_NOT_SENT                = 2&lt;/P&gt;&lt;P&gt;     DOCUMENT_TYPE_NOT_EXIST          = 3&lt;/P&gt;&lt;P&gt;     OPERATION_NO_AUTHORIZATION       = 4&lt;/P&gt;&lt;P&gt;     PARAMETER_ERROR                  = 5&lt;/P&gt;&lt;P&gt;     X_ERROR                          = 6&lt;/P&gt;&lt;P&gt;     ENQUEUE_ERROR                    = 7&lt;/P&gt;&lt;P&gt;     OTHERS                           = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE 'Sent Successfully'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MESSAGE 'Sent Successfully' TYPE 'I'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL TRANSACTION 'YMSL20'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SUBMIT RSCONN01&lt;/P&gt;&lt;P&gt;  WITH MODE EQ 'INT'&lt;/P&gt;&lt;P&gt;  AND RETURN.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SEND_MAIL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Ankur Sharma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 03 Nov 2008 08:42:55 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-11-03T08:42:55Z</dc:date>
    <item>
      <title>Convert SapScripts into PDF</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701555#M1104792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need to convert a few QM custom sapscript into PDF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to accomplish this and make the usability easier for the users&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know we can do these 2 things&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. I know we can use the standard sap program RSTXPDFT4 to convert the spool to PDF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Change the Print Program "Open Form" FM to get the OTF and converting the OTF to PDF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I take the "changing the print program" route, i need to change all print programs. Which will be more effort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So i want to build a custom program, which take the inspection lot and file location as input, the program needs to generate the output programatically, get the spool, and run the program RSTXPDFT4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to figure out 1. how to issue the output from a program 2. how to get the spool number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Gopi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 02 Nov 2008 20:12:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701555#M1104792</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-02T20:12:17Z</dc:date>
    </item>
    <item>
      <title>Re: Convert SapScripts into PDF</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701556#M1104793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gopi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please go through this program,this is for smartform but you can use this in your script driver program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  YMSL_ORDER_ACCEPTANCE&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YMSL_ORDER_ACCEPTANCE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********Variable Declarations *****************************&lt;/P&gt;&lt;P&gt;DATA: GV_FORM_NAME TYPE RS38L_FNAM, " Used to store the function module generated by Smartform&lt;/P&gt;&lt;P&gt;      GV_BIN_FILESIZE TYPE I, " Store the file size&lt;/P&gt;&lt;P&gt;      GV_POS TYPE I,&lt;/P&gt;&lt;P&gt;      GV_LEN TYPE I,&lt;/P&gt;&lt;P&gt;      GV_TAB_LINES TYPE I,&lt;/P&gt;&lt;P&gt;      gv_desc_lines type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********Constants *******************************************&lt;/P&gt;&lt;P&gt;DATA : GC_TEXT(11) TYPE C VALUE 'Form Output',&lt;/P&gt;&lt;P&gt;       GC_TST(3) TYPE C VALUE 'TST',&lt;/P&gt;&lt;P&gt;       GC_TESTING(20) TYPE C VALUE 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;*********Work Area Declarations *****************************&lt;/P&gt;&lt;P&gt;DATA: GS_DOCDATA TYPE SODOCCHGI1, " Data of an object which can be changed&lt;/P&gt;&lt;P&gt;      GS_CTRLOP TYPE SSFCTRLOP, " Smart Forms: Control structure&lt;/P&gt;&lt;P&gt;      GS_OUTOPT TYPE SSFCOMPOP, " SAP Smart Forms: Smart Composer (transfer) options&lt;/P&gt;&lt;P&gt;      GS_OTFDATA TYPE SSFCRESCL, " Smart Forms: Return value at end of form printing&lt;/P&gt;&lt;P&gt;      GS_RECLIST TYPE SOMLRECI1, " SAPoffice: Structure of the API Recipient List&lt;/P&gt;&lt;P&gt;      GS_PDF_TAB TYPE TLINE, " Workarea for SAP Script Text Lines&lt;/P&gt;&lt;P&gt;      GS_OBJBIN TYPE SOLISTI1, " SAPoffice: Single List with Column Length 255&lt;/P&gt;&lt;P&gt;      GS_OBJPACK TYPE SOPCKLSTI1. " SAPoffice: Description of Imported Object Components&lt;/P&gt;&lt;P&gt;DATA : w_doc_chng typE sodocchgi1.&lt;/P&gt;&lt;P&gt;*********Internal tables Declarations *****************************&lt;/P&gt;&lt;P&gt;DATA : I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: GT_RECLIST TYPE TABLE OF SOMLRECI1, " SAPoffice: Structure of the API Recipient List&lt;/P&gt;&lt;P&gt;      GT_PDF_TAB TYPE TABLE OF TLINE, " SAPscript: Text Lines&lt;/P&gt;&lt;P&gt;      GT_OTF TYPE TABLE OF ITCOO, " OTF Structure&lt;/P&gt;&lt;P&gt;      GT_OBJBIN TYPE TABLE OF SOLISTI1, " SAPoffice: Single List with Column Length 255&lt;/P&gt;&lt;P&gt;      GT_OBJPACK TYPE TABLE OF SOPCKLSTI1. " SAPoffice: Description of Imported Object Components&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_ADR6 OCCURS 0,&lt;/P&gt;&lt;P&gt;          SMTP_ADDR TYPE ADR6-SMTP_ADDR,&lt;/P&gt;&lt;P&gt;        END OF IT_ADR6.&lt;/P&gt;&lt;P&gt;DATA : W_FILE_NAME TYPE STRING,&lt;/P&gt;&lt;P&gt;      W_FILE_PATH TYPE STRING,&lt;/P&gt;&lt;P&gt;      W_FULL_PATH TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : GV_FORM_NAME,&lt;/P&gt;&lt;P&gt;        GS_CTRLOP,&lt;/P&gt;&lt;P&gt;        GS_OUTOPT,&lt;/P&gt;&lt;P&gt;        GS_OTFDATA,&lt;/P&gt;&lt;P&gt;        GV_BIN_FILESIZE,&lt;/P&gt;&lt;P&gt;        GV_POS,&lt;/P&gt;&lt;P&gt;        GV_LEN,&lt;/P&gt;&lt;P&gt;        GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:  BEGIN OF SCREEN 1001 AS WINDOW  TITLE scr_ttl .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TXT_B1 NO INTERVALS.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(15) TX_VBELN.&lt;/P&gt;&lt;P&gt;PARAMETER : P_VBELN TYPE VBAK-VBELN .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TXT_B2 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: R_OUT RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD11 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(20) TXT_OUT.  "  roles by t-code&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETER R_PDF RADIOBUTTON GROUP R1 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(20) TXT_PDF.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETER R_MAIL RADIOBUTTON GROUP R1 .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(15) TXT_MAIL.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 20(7) TXT_MAL1.&lt;/P&gt;&lt;P&gt;PARAMETER : P_MAIL TYPE ADR6-SMTP_ADDR MODIF ID M1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF SCREEN 1001 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SELECTION-SCREEN 1001 STARTING AT 20 5 ENDING AT 105 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SET PF-STATUS 'STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TX_VBELN = 'Order'.&lt;/P&gt;&lt;P&gt;  TXT_B1 = 'Selection Criteria '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TXT_B2 = 'Output Criteria '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  scr_ttl = 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;  TXT_OUT = 'Print Output'.&lt;/P&gt;&lt;P&gt;  TXT_PDF = 'Save To PDF'.&lt;/P&gt;&lt;P&gt;  TXT_MAIL = 'Mail the Output'.&lt;/P&gt;&lt;P&gt;  TXT_MAL1 = 'E-mail'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;    IF R_MAIL &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'M1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-INVISIBLE =  1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SCREEN-INPUT = 0. " Disable for input.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MAIL.&lt;/P&gt;&lt;P&gt;  PERFORM TABLE_HELP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF P_VBELN IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_SF.&lt;/P&gt;&lt;P&gt;    IF R_PDF = 'X' .&lt;/P&gt;&lt;P&gt;      PERFORM CONVERT_OTF.&lt;/P&gt;&lt;P&gt;      PERFORM SAVE_DIALOG.&lt;/P&gt;&lt;P&gt;      PERFORM DOWNLOAD.&lt;/P&gt;&lt;P&gt;    ELSEIF R_MAIL = 'X'.&lt;/P&gt;&lt;P&gt;      IF P_MAIL IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;       PERFORM CONVERT_OTF.&lt;/P&gt;&lt;P&gt;       PERFORM SEND_MAIL.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE 'Please Enter Email Address' TYPE 'S'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        CALL TRANSACTION 'YMSL20'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE 'Please Enter Order No' TYPE 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     CALL TRANSACTION 'YMSL20'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TABLE_HELP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TABLE_HELP .&lt;/P&gt;&lt;P&gt;  IF R_MAIL = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT SMTP_ADDR FROM ADR6 INTO TABLE IT_ADR6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT IT_ADR6.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM IT_ADR6 COMPARING ALL FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DDIC_STRUCTURE         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        RETFIELD               = 'IT_ADR6-SMTP_ADDR'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PVALKEY                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DYNPPROG               = SY-REPID&lt;/P&gt;&lt;P&gt;       DYNPNR                 = SY-DYNNR&lt;/P&gt;&lt;P&gt;       DYNPROFIELD            = 'EMAIL'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    STEPL                  = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       WINDOW_TITLE           = 'SELECT MAIL ADDRESS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    VALUE                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       VALUE_ORG              = 'S'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MULTIPLE_CHOICE        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DISPLAY                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CALLBACK_PROGRAM       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CALLBACK_FORM          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MARK_TAB               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_RESET             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        VALUE_TAB              = IT_ADR6&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FIELD_TAB              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    RETURN_TAB             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DYNPFLD_MAPPING        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PARAMETER_ERROR        = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    NO_VALUES_FOUND        = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                 = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TABLE_HELP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_SF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_SF .&lt;/P&gt;&lt;P&gt;*u2022 Generate Function Module name&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FORMNAME           = 'Z_CHK'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FM_NAME            = GV_FORM_NAME&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_FORM            = 1&lt;/P&gt;&lt;P&gt;      NO_FUNCTION_MODULE = 2&lt;/P&gt;&lt;P&gt;      OTHERS             = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC  &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*u2022 Assigning values to Form Control Structure and Form Composer&lt;/P&gt;&lt;P&gt;  IF R_OUT &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;    GS_CTRLOP-GETOTF = 'X'.&lt;/P&gt;&lt;P&gt;    GS_CTRLOP-NO_DIALOG = 'X'.&lt;/P&gt;&lt;P&gt;    GS_OUTOPT-TDNOPREV = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/1BCDWB/SF00000368&lt;/P&gt;&lt;P&gt;CALL FUNCTION  GV_FORM_NAME "'/1BCDWB/SF00000368'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX_TAB          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CONTROL_PARAMETERS         = GS_CTRLOP&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_APPL_OBJ              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_RECIPIENT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_SENDER                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   OUTPUT_OPTIONS             = GS_OUTOPT&lt;/P&gt;&lt;P&gt;   USER_SETTINGS              = 'X'&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCUMENT_OUTPUT_INFO       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   JOB_OUTPUT_INFO            = GS_OTFDATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  JOB_OUTPUT_OPTIONS         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FORMATTING_ERROR           = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNAL_ERROR             = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEND_ERROR                 = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_CANCELED              = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                     = 5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION GV_FORM_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX_TAB          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONTROL_PARAMETERS         = GS_CTRLOP&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MAIL_APPL_OBJ              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MAIL_RECIPIENT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MAIL_SENDER                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OUTPUT_OPTIONS             = GS_OUTOPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     USER_SETTINGS              = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TEMP_VBELN                 =  P_VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  DOCUMENT_OUTPUT_INFO       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     JOB_OUTPUT_INFO            = GS_OTFDATA&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  JOB_OUTPUT_OPTIONS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FORMATTING_ERROR           = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INTERNAL_ERROR             = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    SEND_ERROR                 = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_CANCELED              = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                     = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_SF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CONVERT_OTF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CONVERT_OTF .&lt;/P&gt;&lt;P&gt;*u2022 Assigning the OTFDATA to OTF Structure table&lt;/P&gt;&lt;P&gt;  CLEAR GT_OTF.&lt;/P&gt;&lt;P&gt;  GT_OTF[] = GS_OTFDATA-OTFDATA[].&lt;/P&gt;&lt;P&gt;*u2022 Convert the OTF DATA to SAP Script Text lines&lt;/P&gt;&lt;P&gt;  CLEAR GT_PDF_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_OTF'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     FORMAT                      = 'PDF'&lt;/P&gt;&lt;P&gt;     MAX_LINEWIDTH               = 132&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COPYNUMBER                  = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ASCII_BIDI_VIS2LOG          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PDF_DELETE_OTFTAB           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     BIN_FILESIZE                = GV_BIN_FILESIZE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      OTF                         = GT_OTF&lt;/P&gt;&lt;P&gt;      LINES                       = GT_PDF_TAB&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ERR_MAX_LINEWIDTH           = 1&lt;/P&gt;&lt;P&gt;     ERR_FORMAT                  = 2&lt;/P&gt;&lt;P&gt;     ERR_CONV_NOT_POSSIBLE       = 3&lt;/P&gt;&lt;P&gt;     ERR_BAD_OTF                 = 4&lt;/P&gt;&lt;P&gt;     OTHERS                      = 5&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*t_otf[] = t_otf_from_fm-otfdata[].&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Function Module CONVERT_OTF is used to convert the OTF format to PDF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'CONVERT_OTF'&lt;/P&gt;&lt;P&gt;*EXPORTING&lt;/P&gt;&lt;P&gt;*FORMAT = 'PDF'&lt;/P&gt;&lt;P&gt;*MAX_LINEWIDTH = 132&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;ARCHIVE_INDEX = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;COPYNUMBER = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;ASCII_BIDI_VIS2LOG = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;PDF_DELETE_OTFTAB = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IMPORTING&lt;/P&gt;&lt;P&gt;*BIN_FILESIZE = W_bin_filesize&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;BIN_FILE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*TABLES&lt;/P&gt;&lt;P&gt;*otf = T_OTF&lt;/P&gt;&lt;P&gt;*lines = T_pdf_tab&lt;/P&gt;&lt;P&gt;*EXCEPTIONS&lt;/P&gt;&lt;P&gt;*ERR_MAX_LINEWIDTH = 1&lt;/P&gt;&lt;P&gt;*ERR_FORMAT = 2&lt;/P&gt;&lt;P&gt;*ERR_CONV_NOT_POSSIBLE = 3&lt;/P&gt;&lt;P&gt;*ERR_BAD_OTF = 4&lt;/P&gt;&lt;P&gt;*OTHERS = 5&lt;/P&gt;&lt;P&gt;*.&lt;/P&gt;&lt;P&gt;*IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;*WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CONVERT_OTF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SAVE_DIALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SAVE_DIALOG .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To display File SAVE dialog window&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_SAVE_DIALOG&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;   WINDOW_TITLE = 'Download to PDF '&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT_EXTENSION = '(*.PDF)'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   DEFAULT_FILE_NAME = 'file.pdf'&lt;/P&gt;&lt;P&gt;   FILE_FILTER = 'PDF Format(*.PDF)'&lt;/P&gt;&lt;P&gt;   INITIAL_DIRECTORY = 'C:\Documents and Settings\Administrator\Desktop'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH_ENCODING =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   PROMPT_ON_OVERWRITE = 'X'&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;  FILENAME = W_FILE_NAME&lt;/P&gt;&lt;P&gt;  PATH = W_FILE_PATH&lt;/P&gt;&lt;P&gt;  FULLPATH = W_FULL_PATH&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USER_ACTION =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILE_ENCODING =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;  CNTL_ERROR = 1&lt;/P&gt;&lt;P&gt;  ERROR_NO_GUI = 2&lt;/P&gt;&lt;P&gt;  NOT_SUPPORTED_BY_GUI = 3&lt;/P&gt;&lt;P&gt;  OTHERS = 4&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SAVE_DIALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DOWNLOAD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOAD .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Use the FM GUI_DOWNLOAD to download the generated PDF file onto the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;presentation server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  BIN_FILESIZE = GV_BIN_FILESIZE&lt;/P&gt;&lt;P&gt;  FILENAME = W_FULL_PATH&lt;/P&gt;&lt;P&gt;  FILETYPE = 'BIN'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE_FIELD_SEPARATOR = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER = '00'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRUNC_TRAILING_BLANKS = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE_LF = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COL_SELECT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COL_SELECT_MASK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DAT_MODE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONFIRM_OVERWRITE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_AUTH_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CODEPAGE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IGNORE_CERR = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REPLACEMENT = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE_BOM = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRUNC_TRAILING_BLANKS_EOL = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_N_FORMAT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_N_SIZE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_T_FORMAT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WK1_T_SIZE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILELENGTH =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;  DATA_TAB = GT_PDF_TAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FIELDNAMES =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILE_WRITE_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_BATCH = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GUI_REFUSE_FILETRANSFER = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INVALID_TYPE = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_AUTHORITY = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNKNOWN_ERROR = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER_NOT_ALLOWED = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SEPARATOR_NOT_ALLOWED = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILESIZE_NOT_ALLOWED = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER_TOO_LONG = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_ERROR_CREATE = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_ERROR_SEND = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_ERROR_WRITE = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNKNOWN_DP_ERROR = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ACCESS_DENIED = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_OUT_OF_MEMORY = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DISK_FULL = 17&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DP_TIMEOUT = 18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILE_NOT_FOUND = 19&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATAPROVIDER_EXCEPTION = 20&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONTROL_FLUSH_ERROR = 21&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 22&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DOWNLOAD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SEND_MAIL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SEND_MAIL .&lt;/P&gt;&lt;P&gt;***changes by rajan&lt;/P&gt;&lt;P&gt;*DATA : v_first TYPE USER_ADDR-NAME_FIRST,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     V_LAST   TYPE USER_ADDR-NAME_LAST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : detail TYPE STRING.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT SINGLE NAME_FIRST NAME_LAST FROM&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; USER_ADDR INTO (V_FIRST,V_LAST)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE BNAME = syst-UNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE v_first V_LAST INTO detail SEPARATED BY space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : v_po_no TYPE vbkd-bstkd,&lt;/P&gt;&lt;P&gt;      v_po_date TYPE vbkd-bstdk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : day TYPE STRING,&lt;/P&gt;&lt;P&gt;       month type STRING,&lt;/P&gt;&lt;P&gt;       year  TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : date TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE BSTKD BSTDK&lt;/P&gt;&lt;P&gt;  FROM VBKD&lt;/P&gt;&lt;P&gt;  INTO (v_po_no,v_po_date)&lt;/P&gt;&lt;P&gt;  WHERE VBELN = P_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;day = v_po_date+6(2).&lt;/P&gt;&lt;P&gt;month = v_po_date+4(2).&lt;/P&gt;&lt;P&gt;year = v_po_date+0(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE day '/' month '/' year INTO date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Please Find attached Order Acceptance against your P.O.No.' v_po_no 'dated' date  '.' INTO detail SEPARATED BY space.&lt;/P&gt;&lt;P&gt;**u2022 Assigning the Description of the object sent in the mail&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR GS_DOCDATA.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_DOCDATA-OBJ_NAME = GC_TST.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_DOCDATA-OBJ_DESCR = GC_TESTING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*u2022 Assigning the email id to Structure of the API Recipient List table&lt;/P&gt;&lt;P&gt;  CLEAR : GT_RECLIST, GS_RECLIST.&lt;/P&gt;&lt;P&gt;  GS_RECLIST-RECEIVER =  P_MAIL.       " &lt;/P&gt;&lt;P&gt;  GS_RECLIST-REC_TYPE = 'U'."'G' ."'O'. "'B'. "'U'.&lt;/P&gt;&lt;P&gt;  APPEND GS_RECLIST TO GT_RECLIST.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt; mail body rajan&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  I_OBJTXT = 'Dear Sir/Madam.'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = detail.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = ''.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = 'Thanks.'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = 'Best Regards,'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;  I_OBJTXT = 'For Bilcare Ltd.'.&lt;/P&gt;&lt;P&gt;  APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_objtxt LINES gv_desc_lines.&lt;/P&gt;&lt;P&gt;*DESCRIBE TABLE i_objtxt LINES v_lines_txt.&lt;/P&gt;&lt;P&gt;  CLEAR I_OBJTXT.&lt;/P&gt;&lt;P&gt;  READ TABLE I_OBJTXT INDEX gv_desc_lines.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document information.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GS_DOCDATA-obj_name = 'ord_accept'.&lt;/P&gt;&lt;P&gt;GS_DOCDATA-expiry_dat = sy-datum + 10.&lt;/P&gt;&lt;P&gt;GS_DOCDATA-obj_descr = 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;GS_DOCDATA-sensitivty = 'F'. "Functional object&lt;/P&gt;&lt;P&gt;GS_DOCDATA-doc_size = gv_desc_lines * 255.&lt;/P&gt;&lt;P&gt;CLEAR Gs_OBJPACK-transf_bin.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start line of object header in transport packet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    GS_OBJPACK-doc_size = gv_desc_lines * 255.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_NUM = gv_desc_lines.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-OBJ_DESCR = 'ORDER_ACCEPTANCE.PDF'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    APPEND GS_OBJPACK TO GT_OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GS_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GS_OBJPACK-doc_type = 'RAW'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*APPEND GS_OBJPACK TO GT_OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*u2022 Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table&lt;/P&gt;&lt;P&gt;  CLEAR : GS_OBJBIN, GS_PDF_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT GT_PDF_TAB INTO GS_PDF_TAB.&lt;/P&gt;&lt;P&gt;    GV_POS = 255 - GV_LEN.&lt;/P&gt;&lt;P&gt;    IF GV_POS &amp;gt; 134. "length of pdf_table&lt;/P&gt;&lt;P&gt;      GV_POS = 134.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GS_OBJBIN+GV_LEN = GS_PDF_TAB(GV_POS).&lt;/P&gt;&lt;P&gt;    GV_LEN = GV_LEN + GV_POS.&lt;/P&gt;&lt;P&gt;    IF GV_LEN = 255. "length of out (contents_bin)&lt;/P&gt;&lt;P&gt;      APPEND GS_OBJBIN TO GT_OBJBIN.&lt;/P&gt;&lt;P&gt;      CLEAR: GS_OBJBIN, GV_LEN.&lt;/P&gt;&lt;P&gt;      IF GV_POS &amp;lt; 134.&lt;/P&gt;&lt;P&gt;        GS_OBJBIN = GS_PDF_TAB+GV_POS.&lt;/P&gt;&lt;P&gt;        GV_LEN = 134 - GV_POS.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF GV_LEN &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    APPEND GS_OBJBIN TO GT_OBJBIN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*u2022 Filling the details in SAPoffice: Description of Imported Object Components table&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE GT_OBJBIN LINES GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR GS_OBJBIN.&lt;/P&gt;&lt;P&gt;  READ TABLE GT_OBJBIN INTO GS_OBJBIN INDEX GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-DOC_SIZE = ( GV_TAB_LINES - 1 ) * 255 + STRLEN( GS_OBJBIN ).&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-BODY_NUM = GV_TAB_LINES.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-DOC_TYPE = 'PDF'.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.&lt;/P&gt;&lt;P&gt;    GS_OBJPACK-OBJ_DESCR = 'Order Acceptance'.&lt;/P&gt;&lt;P&gt;    APPEND GS_OBJPACK TO GT_OBJPACK.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DOCUMENT_DATA                    = GS_DOCDATA&lt;/P&gt;&lt;P&gt;     PUT_IN_OUTBOX                    = 'X'&lt;/P&gt;&lt;P&gt;     COMMIT_WORK                      = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SENT_TO_ALL                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NEW_OBJECT_ID                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PACKING_LIST                     = GT_OBJPACK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_HEADER                    =  I_OBJTXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     CONTENTS_BIN                     = GT_OBJBIN&lt;/P&gt;&lt;P&gt;     CONTENTS_TXT                     = I_OBJTXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONTENTS_HEX                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_PARA                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_PARB                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      RECEIVERS                        = GT_RECLIST&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     TOO_MANY_RECEIVERS               = 1&lt;/P&gt;&lt;P&gt;     DOCUMENT_NOT_SENT                = 2&lt;/P&gt;&lt;P&gt;     DOCUMENT_TYPE_NOT_EXIST          = 3&lt;/P&gt;&lt;P&gt;     OPERATION_NO_AUTHORIZATION       = 4&lt;/P&gt;&lt;P&gt;     PARAMETER_ERROR                  = 5&lt;/P&gt;&lt;P&gt;     X_ERROR                          = 6&lt;/P&gt;&lt;P&gt;     ENQUEUE_ERROR                    = 7&lt;/P&gt;&lt;P&gt;     OTHERS                           = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE 'Sent Successfully'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MESSAGE 'Sent Successfully' TYPE 'I'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL TRANSACTION 'YMSL20'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SUBMIT RSCONN01&lt;/P&gt;&lt;P&gt;  WITH MODE EQ 'INT'&lt;/P&gt;&lt;P&gt;  AND RETURN.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SEND_MAIL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Ankur Sharma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Nov 2008 08:42:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701556#M1104793</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-03T08:42:55Z</dc:date>
    </item>
    <item>
      <title>Re: Convert SapScripts into PDF</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701557#M1104794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer the standard program &lt;STRONG&gt;RSTXPDFT4&lt;/STRONG&gt; to convert your Sapscripts spools into a PDF format. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;also,check&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="6050325"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Neenu Jose on Nov 3, 2008 9:54 AM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Neenu Jose on Nov 3, 2008 9:56 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Nov 2008 08:52:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701557#M1104794</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-03T08:52:21Z</dc:date>
    </item>
    <item>
      <title>Re: Convert SapScripts into PDF</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701558#M1104795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in close_form&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;imPORTING parameters&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     VALUE(RESULT) LIKE  ITCPP STRUCTURE  ITCPP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   1.     ITCPP-TDSPOOLID         spool req no&lt;/P&gt;&lt;P&gt; 2. submit report rstxpdft4 with spoolno = itcpp-TDSPOOLID.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Nov 2008 09:03:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-sapscripts-into-pdf/m-p/4701558#M1104795</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-03T09:03:46Z</dc:date>
    </item>
  </channel>
</rss>

