Convert SAPSCRIPT into SMARTFORMS

Hi,
How to Convert SAPSCRIPT into SMARTFORMS
Thanks,
Rathul.

Hi,
There are two way through which you can convert sapscript into smartforms.
(1)
This is basically a function module, called FB_MIGRATE_FORM.
You can start this function module by hand (via SE37), or create a small ABAP which migrates all SAPscript forms automatically.
(2)
You can also do this one-by-one in transaction SMARTFORMS, under
Utilities -> Migrate SAPscript form.
You could also write a small batch program calling transaction SMARTFORMS and running the migration tool.
Note :
While Converting sapscript into smartforms,only layout has passed.But you have do all logic coding in your smartforms.
Steps :
(1) Understand logic of sapscript program.
(2) Understand SAP script windows data.
Now make your technical Design Accordingly,and now do code accordingly for your smartforms
Reward points if found helpfull...
Cheers,
Chandra Sekhar.

Similar Messages

  • Convert Sapscript to smartform

    Hello,
    I have to convert Sapscript to smartform ,to do that I have migrated sapscript to smartform and copied the standard driver program to Z program. Is there any way to get all interface parameters automatically without looking into each and every line in program to get the interface parameters?
    Regards,
    Kangarun.

    I would expect to obtain this information by looking at the SmartForms design.  I would assume that you're sending a table of variables for your main window and perhaps a structure if there are additional data needs in other secondary windows.  So I would look at where the variables are used and create structures and table as needed for the windows.

  • How to convert Sapscript into PDF in WDA

    Hi All,
    I have a requirement in Webdynpro in which I need to convert the Sap Script into PDF.
    Can you please tell me how to proceed ?
    Thanks in advance.
    Regards,
    Swapnil

    Hi,
    Check this document: Convert SAPScript to PDF file and instead of using gui_download/cl_gui* as mentioned in that doc, use CL_WD_RUNTIME_SERVICES=>ATTACH_FILE_TO_RESPONSE to open the PDF in WDA. You can refer that in this doc: Opening a Smartform in Web Dynpro ABAP
    Regards,
    Kiran

  • Convert SapScripts into PDF

    I need to convert a few QM custom sapscript into PDF.
    I need to accomplish this and make the usability easier for the users
    I know we can do these 2 things
    1. I know we can use the standard sap program RSTXPDFT4 to convert the spool to PDF.
    2. Change the Print Program "Open Form" FM to get the OTF and converting the OTF to PDF.
    If I take the "changing the print program" route, i need to change all print programs. Which will be more effort.
    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.
    I need to figure out 1. how to issue the output from a program 2. how to get the spool number.
    Any help appreciated.
    Thanks,
    Gopi.

    Hi Gopi,
    Please go through this program,this is for smartform but you can use this in your script driver program.
    *& Report  YMSL_ORDER_ACCEPTANCE
    REPORT  YMSL_ORDER_ACCEPTANCE.
    *********Variable Declarations *****************************
    DATA: GV_FORM_NAME TYPE RS38L_FNAM, " Used to store the function module generated by Smartform
          GV_BIN_FILESIZE TYPE I, " Store the file size
          GV_POS TYPE I,
          GV_LEN TYPE I,
          GV_TAB_LINES TYPE I,
          gv_desc_lines type i.
    ********Constants *******************************************
    DATA : GC_TEXT(11) TYPE C VALUE 'Form Output',
           GC_TST(3) TYPE C VALUE 'TST',
           GC_TESTING(20) TYPE C VALUE 'Order Acceptance'.
    *********Work Area Declarations *****************************
    DATA: GS_DOCDATA TYPE SODOCCHGI1, " Data of an object which can be changed
          GS_CTRLOP TYPE SSFCTRLOP, " Smart Forms: Control structure
          GS_OUTOPT TYPE SSFCOMPOP, " SAP Smart Forms: Smart Composer (transfer) options
          GS_OTFDATA TYPE SSFCRESCL, " Smart Forms: Return value at end of form printing
          GS_RECLIST TYPE SOMLRECI1, " SAPoffice: Structure of the API Recipient List
          GS_PDF_TAB TYPE TLINE, " Workarea for SAP Script Text Lines
          GS_OBJBIN TYPE SOLISTI1, " SAPoffice: Single List with Column Length 255
          GS_OBJPACK TYPE SOPCKLSTI1. " SAPoffice: Description of Imported Object Components
    DATA : w_doc_chng typE sodocchgi1.
    *********Internal tables Declarations *****************************
    DATA : I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
    DATA: GT_RECLIST TYPE TABLE OF SOMLRECI1, " SAPoffice: Structure of the API Recipient List
          GT_PDF_TAB TYPE TABLE OF TLINE, " SAPscript: Text Lines
          GT_OTF TYPE TABLE OF ITCOO, " OTF Structure
          GT_OBJBIN TYPE TABLE OF SOLISTI1, " SAPoffice: Single List with Column Length 255
          GT_OBJPACK TYPE TABLE OF SOPCKLSTI1. " SAPoffice: Description of Imported Object Components
    DATA : BEGIN OF IT_ADR6 OCCURS 0,
              SMTP_ADDR TYPE ADR6-SMTP_ADDR,
            END OF IT_ADR6.
    DATA : W_FILE_NAME TYPE STRING,
          W_FILE_PATH TYPE STRING,
          W_FULL_PATH TYPE STRING.
    CLEAR : GV_FORM_NAME,
            GS_CTRLOP,
            GS_OUTOPT,
            GS_OTFDATA,
            GV_BIN_FILESIZE,
            GV_POS,
            GV_LEN,
            GV_TAB_LINES.
    SELECTION-SCREEN:  BEGIN OF SCREEN 1001 AS WINDOW  TITLE scr_ttl .
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TXT_B1 NO INTERVALS.
    SELECTION-SCREEN BEGIN OF LINE .
    SELECTION-SCREEN COMMENT 1(15) TX_VBELN.
    PARAMETER : P_VBELN TYPE VBAK-VBELN .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B1.
    *SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TXT_B2 .
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: R_OUT RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD11 .
    SELECTION-SCREEN COMMENT 5(20) TXT_OUT.  "  roles by t-code
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETER R_PDF RADIOBUTTON GROUP R1 .
    SELECTION-SCREEN COMMENT 5(20) TXT_PDF.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETER R_MAIL RADIOBUTTON GROUP R1 .
    SELECTION-SCREEN COMMENT 5(15) TXT_MAIL.
    *SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 20(7) TXT_MAL1.
    PARAMETER : P_MAIL TYPE ADR6-SMTP_ADDR MODIF ID M1.
    SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN: END OF SCREEN 1001 .
    CALL SELECTION-SCREEN 1001 STARTING AT 20 5 ENDING AT 105 10.
    *SET PF-STATUS 'STATUS'.
    INITIALIZATION.
      TX_VBELN = 'Order'.
      TXT_B1 = 'Selection Criteria '.
    TXT_B2 = 'Output Criteria '.
      scr_ttl = 'Order Acceptance'.
      TXT_OUT = 'Print Output'.
      TXT_PDF = 'Save To PDF'.
      TXT_MAIL = 'Mail the Output'.
      TXT_MAL1 = 'E-mail'.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF R_MAIL <> 'X'.
          IF SCREEN-GROUP1 = 'M1'.
           SCREEN-INVISIBLE =  1.
            SCREEN-INPUT = 0. " Disable for input.
            MODIFY SCREEN.
          ENDIF.
        ENDIF.
      ENDLOOP.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MAIL.
      PERFORM TABLE_HELP.
    START-OF-SELECTION..
    IF P_VBELN IS NOT INITIAL.
        PERFORM GET_SF.
        IF R_PDF = 'X' .
          PERFORM CONVERT_OTF.
          PERFORM SAVE_DIALOG.
          PERFORM DOWNLOAD.
        ELSEIF R_MAIL = 'X'.
          IF P_MAIL IS NOT INITIAL.
           PERFORM CONVERT_OTF.
           PERFORM SEND_MAIL.
          ELSE.
            MESSAGE 'Please Enter Email Address' TYPE 'S'.
            CALL TRANSACTION 'YMSL20'.
            LEAVE LIST-PROCESSING.
          ENDIF.
        ENDIF.
    ELSE.
       MESSAGE 'Please Enter Order No' TYPE 'S'.
         CALL TRANSACTION 'YMSL20'.
         LEAVE LIST-PROCESSING.
    *ENDIF.
    END-OF-SELECTION.
    *&      Form  TABLE_HELP
    FORM TABLE_HELP .
      IF R_MAIL = 'X'.
        SELECT SMTP_ADDR FROM ADR6 INTO TABLE IT_ADR6.
        SORT IT_ADR6.
        DELETE ADJACENT DUPLICATES FROM IT_ADR6 COMPARING ALL FIELDS.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
          EXPORTING
        DDIC_STRUCTURE         = ' '
            RETFIELD               = 'IT_ADR6-SMTP_ADDR'
        PVALKEY                = ' '
           DYNPPROG               = SY-REPID
           DYNPNR                 = SY-DYNNR
           DYNPROFIELD            = 'EMAIL'
        STEPL                  = 0
           WINDOW_TITLE           = 'SELECT MAIL ADDRESS'
        VALUE                  = ' '
           VALUE_ORG              = 'S'
        MULTIPLE_CHOICE        = ' '
        DISPLAY                = ' '
        CALLBACK_PROGRAM       = ' '
        CALLBACK_FORM          = ' '
        MARK_TAB               =
      IMPORTING
        USER_RESET             =
          TABLES
            VALUE_TAB              = IT_ADR6
        FIELD_TAB              =
        RETURN_TAB             =
        DYNPFLD_MAPPING        =
      EXCEPTIONS
        PARAMETER_ERROR        = 1
        NO_VALUES_FOUND        = 2
        OTHERS                 = 3
        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.
    ENDFORM.                    " TABLE_HELP
    *&      Form  GET_SF
    FORM GET_SF .
    *u2022 Generate Function Module name
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME           = 'Z_CHK'
        IMPORTING
          FM_NAME            = GV_FORM_NAME
        EXCEPTIONS
          NO_FORM            = 1
          NO_FUNCTION_MODULE = 2
          OTHERS             = 3.
      IF SY-SUBRC  <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *u2022 Assigning values to Form Control Structure and Form Composer
      IF R_OUT <> 'X'.
        GS_CTRLOP-GETOTF = 'X'.
        GS_CTRLOP-NO_DIALOG = 'X'.
        GS_OUTOPT-TDNOPREV = 'X'.
      ENDIF.
    */1BCDWB/SF00000368
    CALL FUNCTION  GV_FORM_NAME "'/1BCDWB/SF00000368'
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
       CONTROL_PARAMETERS         = GS_CTRLOP
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
       OUTPUT_OPTIONS             = GS_OUTOPT
       USER_SETTINGS              = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
       JOB_OUTPUT_INFO            = GS_OTFDATA
      JOB_OUTPUT_OPTIONS         =
    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 GV_FORM_NAME
       EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
         CONTROL_PARAMETERS         = GS_CTRLOP
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
         OUTPUT_OPTIONS             = GS_OUTOPT
         USER_SETTINGS              = 'X'
         TEMP_VBELN                 =  P_VBELN
      IMPORTING
      DOCUMENT_OUTPUT_INFO       =
         JOB_OUTPUT_INFO            = GS_OTFDATA
      JOB_OUTPUT_OPTIONS         =
      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.
    ENDFORM.                    " GET_SF
    *&      Form  CONVERT_OTF
    FORM CONVERT_OTF .
    *u2022 Assigning the OTFDATA to OTF Structure table
      CLEAR GT_OTF.
      GT_OTF[] = GS_OTFDATA-OTFDATA[].
    *u2022 Convert the OTF DATA to SAP Script Text lines
      CLEAR GT_PDF_TAB.
      CALL FUNCTION 'CONVERT_OTF'
       EXPORTING
         FORMAT                      = 'PDF'
         MAX_LINEWIDTH               = 132
      ARCHIVE_INDEX               = ' '
      COPYNUMBER                  = 0
      ASCII_BIDI_VIS2LOG          = ' '
      PDF_DELETE_OTFTAB           = ' '
       IMPORTING
         BIN_FILESIZE                = GV_BIN_FILESIZE
      BIN_FILE                    =
        TABLES
          OTF                         = GT_OTF
          LINES                       = GT_PDF_TAB
       EXCEPTIONS
         ERR_MAX_LINEWIDTH           = 1
         ERR_FORMAT                  = 2
         ERR_CONV_NOT_POSSIBLE       = 3
         ERR_BAD_OTF                 = 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.
    *t_otf[] = t_otf_from_fm-otfdata[].
    Function Module CONVERT_OTF is used to convert the OTF format to PDF
    *CALL FUNCTION 'CONVERT_OTF'
    *EXPORTING
    *FORMAT = 'PDF'
    *MAX_LINEWIDTH = 132
    ARCHIVE_INDEX = ' '
    COPYNUMBER = 0
    ASCII_BIDI_VIS2LOG = ' '
    PDF_DELETE_OTFTAB = ' '
    *IMPORTING
    *BIN_FILESIZE = W_bin_filesize
    BIN_FILE =
    *TABLES
    *otf = T_OTF
    *lines = T_pdf_tab
    *EXCEPTIONS
    *ERR_MAX_LINEWIDTH = 1
    *ERR_FORMAT = 2
    *ERR_CONV_NOT_POSSIBLE = 3
    *ERR_BAD_OTF = 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.
    ENDFORM.                    " CONVERT_OTF
    *&      Form  SAVE_DIALOG
    FORM SAVE_DIALOG .
    To display File SAVE dialog window
      CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
       EXPORTING
       WINDOW_TITLE = 'Download to PDF '
    DEFAULT_EXTENSION = '(*.PDF)'
       DEFAULT_FILE_NAME = 'file.pdf'
       FILE_FILTER = 'PDF Format(*.PDF)'
       INITIAL_DIRECTORY = 'C:\Documents and Settings\Administrator\Desktop'
    WITH_ENCODING =
       PROMPT_ON_OVERWRITE = 'X'
      CHANGING
      FILENAME = W_FILE_NAME
      PATH = W_FILE_PATH
      FULLPATH = W_FULL_PATH
    USER_ACTION =
    FILE_ENCODING =
      EXCEPTIONS
      CNTL_ERROR = 1
      ERROR_NO_GUI = 2
      NOT_SUPPORTED_BY_GUI = 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.                    " SAVE_DIALOG
    *&      Form  DOWNLOAD
    FORM DOWNLOAD .
    Use the FM GUI_DOWNLOAD to download the generated PDF file onto the
    presentation server
      CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      BIN_FILESIZE = GV_BIN_FILESIZE
      FILENAME = W_FULL_PATH
      FILETYPE = 'BIN'
    APPEND = ' '
    WRITE_FIELD_SEPARATOR = ' '
    HEADER = '00'
    TRUNC_TRAILING_BLANKS = ' '
    WRITE_LF = 'X'
    COL_SELECT = ' '
    COL_SELECT_MASK = ' '
    DAT_MODE = ' '
    CONFIRM_OVERWRITE = ' '
    NO_AUTH_CHECK = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    WRITE_BOM = ' '
    TRUNC_TRAILING_BLANKS_EOL = 'X'
    WK1_N_FORMAT = ' '
    WK1_N_SIZE = ' '
    WK1_T_FORMAT = ' '
    WK1_T_SIZE = ' '
    IMPORTING
    FILELENGTH =
      TABLES
      DATA_TAB = GT_PDF_TAB
    FIELDNAMES =
    EXCEPTIONS
    FILE_WRITE_ERROR = 1
    NO_BATCH = 2
    GUI_REFUSE_FILETRANSFER = 3
    INVALID_TYPE = 4
    NO_AUTHORITY = 5
    UNKNOWN_ERROR = 6
    HEADER_NOT_ALLOWED = 7
    SEPARATOR_NOT_ALLOWED = 8
    FILESIZE_NOT_ALLOWED = 9
    HEADER_TOO_LONG = 10
    DP_ERROR_CREATE = 11
    DP_ERROR_SEND = 12
    DP_ERROR_WRITE = 13
    UNKNOWN_DP_ERROR = 14
    ACCESS_DENIED = 15
    DP_OUT_OF_MEMORY = 16
    DISK_FULL = 17
    DP_TIMEOUT = 18
    FILE_NOT_FOUND = 19
    DATAPROVIDER_EXCEPTION = 20
    CONTROL_FLUSH_ERROR = 21
    OTHERS = 22
      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.                    " DOWNLOAD
    *&      Form  SEND_MAIL
    FORM SEND_MAIL .
    ***changes by rajan
    *DATA : v_first TYPE USER_ADDR-NAME_FIRST,
         V_LAST   TYPE USER_ADDR-NAME_LAST.
    DATA : detail TYPE STRING.
    *SELECT SINGLE NAME_FIRST NAME_LAST FROM
    USER_ADDR INTO (V_FIRST,V_LAST)
    WHERE BNAME = syst-UNAME.
    CONCATENATE v_first V_LAST INTO detail SEPARATED BY space.
    data : v_po_no TYPE vbkd-bstkd,
          v_po_date TYPE vbkd-bstdk.
    data : day TYPE STRING,
           month type STRING,
           year  TYPE STRING.
    data : date TYPE STRING.
    SELECT SINGLE BSTKD BSTDK
      FROM VBKD
      INTO (v_po_no,v_po_date)
      WHERE VBELN = P_VBELN.
    day = v_po_date+6(2).
    month = v_po_date+4(2).
    year = v_po_date+0(4).
    CONCATENATE day '/' month '/' year INTO date.
      CONCATENATE 'Please Find attached Order Acceptance against your P.O.No.' v_po_no 'dated' date  '.' INTO detail SEPARATED BY space.
    **u2022 Assigning the Description of the object sent in the mail
    CLEAR GS_DOCDATA.
    GS_DOCDATA-OBJ_NAME = GC_TST.
    GS_DOCDATA-OBJ_DESCR = GC_TESTING.
    *u2022 Assigning the email id to Structure of the API Recipient List table
      CLEAR : GT_RECLIST, GS_RECLIST.
      GS_RECLIST-RECEIVER =  P_MAIL.       "
      GS_RECLIST-REC_TYPE = 'U'."'G' ."'O'. "'B'. "'U'.
      APPEND GS_RECLIST TO GT_RECLIST.
    mail body rajan
      I_OBJTXT = 'Dear Sir/Madam.'.
      APPEND I_OBJTXT.
      I_OBJTXT = detail.
      APPEND I_OBJTXT.
      I_OBJTXT = ''.
      APPEND I_OBJTXT.
      I_OBJTXT = 'Thanks.'.
      APPEND I_OBJTXT.
      I_OBJTXT = 'Best Regards,'.
      APPEND I_OBJTXT.
      I_OBJTXT = 'For Bilcare Ltd.'.
      APPEND I_OBJTXT.
      DESCRIBE TABLE i_objtxt LINES gv_desc_lines.
    *DESCRIBE TABLE i_objtxt LINES v_lines_txt.
      CLEAR I_OBJTXT.
      READ TABLE I_OBJTXT INDEX gv_desc_lines.
      if sy-subrc = 0.
    Document information.
    GS_DOCDATA-obj_name = 'ord_accept'.
    GS_DOCDATA-expiry_dat = sy-datum + 10.
    GS_DOCDATA-obj_descr = 'Order Acceptance'.
    GS_DOCDATA-sensitivty = 'F'. "Functional object
    GS_DOCDATA-doc_size = gv_desc_lines * 255.
    CLEAR Gs_OBJPACK-transf_bin.
    Start line of object header in transport packet
       GS_OBJPACK-TRANSF_BIN = 'X'.
        GS_OBJPACK-doc_size = gv_desc_lines * 255.
        GS_OBJPACK-HEAD_START = 1.
        GS_OBJPACK-HEAD_NUM = 0.
        GS_OBJPACK-BODY_START = 1.
        GS_OBJPACK-BODY_NUM = gv_desc_lines.
        GS_OBJPACK-DOC_TYPE = 'RAW'.
       GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.
       GS_OBJPACK-OBJ_DESCR = 'ORDER_ACCEPTANCE.PDF'.
        APPEND GS_OBJPACK TO GT_OBJPACK.
    GS_OBJPACK-HEAD_START = 1.
       GS_OBJPACK-HEAD_NUM = 0.
       GS_OBJPACK-BODY_START = 1.
    GS_OBJPACK-doc_type = 'RAW'.
    *APPEND GS_OBJPACK TO GT_OBJPACK.
      ENDIF.
    *u2022 Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table
      CLEAR : GS_OBJBIN, GS_PDF_TAB.
      LOOP AT GT_PDF_TAB INTO GS_PDF_TAB.
        GV_POS = 255 - GV_LEN.
        IF GV_POS > 134. "length of pdf_table
          GV_POS = 134.
        ENDIF.
        GS_OBJBIN+GV_LEN = GS_PDF_TAB(GV_POS).
        GV_LEN = GV_LEN + GV_POS.
        IF GV_LEN = 255. "length of out (contents_bin)
          APPEND GS_OBJBIN TO GT_OBJBIN.
          CLEAR: GS_OBJBIN, GV_LEN.
          IF GV_POS < 134.
            GS_OBJBIN = GS_PDF_TAB+GV_POS.
            GV_LEN = 134 - GV_POS.
          ENDIF.
        ENDIF.
      ENDLOOP.
      IF GV_LEN > 0.
        APPEND GS_OBJBIN TO GT_OBJBIN.
      ENDIF.
    *u2022 Filling the details in SAPoffice: Description of Imported Object Components table
      DESCRIBE TABLE GT_OBJBIN LINES GV_TAB_LINES.
      CLEAR GS_OBJBIN.
      READ TABLE GT_OBJBIN INTO GS_OBJBIN INDEX GV_TAB_LINES.
        IF SY-SUBRC = 0.
        GS_OBJPACK-DOC_SIZE = ( GV_TAB_LINES - 1 ) * 255 + STRLEN( GS_OBJBIN ).
        GS_OBJPACK-TRANSF_BIN = 'X'.
        GS_OBJPACK-HEAD_START = 1.
        GS_OBJPACK-HEAD_NUM = 0.
        GS_OBJPACK-BODY_START = 1.
        GS_OBJPACK-BODY_NUM = GV_TAB_LINES.
        GS_OBJPACK-DOC_TYPE = 'PDF'.
        GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.
        GS_OBJPACK-OBJ_DESCR = 'Order Acceptance'.
        APPEND GS_OBJPACK TO GT_OBJPACK.
      ENDIF.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          DOCUMENT_DATA                    = GS_DOCDATA
         PUT_IN_OUTBOX                    = 'X'
         COMMIT_WORK                      = 'X'
    IMPORTING
      SENT_TO_ALL                      =
      NEW_OBJECT_ID                    =
        TABLES
          PACKING_LIST                     = GT_OBJPACK
      OBJECT_HEADER                    =  I_OBJTXT
         CONTENTS_BIN                     = GT_OBJBIN
         CONTENTS_TXT                     = I_OBJTXT
      CONTENTS_HEX                     =
      OBJECT_PARA                      =
      OBJECT_PARB                      =
          RECEIVERS                        = GT_RECLIST
       EXCEPTIONS
         TOO_MANY_RECEIVERS               = 1
         DOCUMENT_NOT_SENT                = 2
         DOCUMENT_TYPE_NOT_EXIST          = 3
         OPERATION_NO_AUTHORIZATION       = 4
         PARAMETER_ERROR                  = 5
         X_ERROR                          = 6
         ENQUEUE_ERROR                    = 7
         OTHERS                           = 8
      IF SY-SUBRC <> 0.
       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
       WRITE 'Sent Successfully'.
        MESSAGE 'Sent Successfully' TYPE 'I'.
         CALL TRANSACTION 'YMSL20'.
         LEAVE LIST-PROCESSING.
      ENDIF.
      SUBMIT RSCONN01
      WITH MODE EQ 'INT'
      AND RETURN.
    ENDFORM.                    " SEND_MAIL
    Thanks
    Ankur Sharma

  • Convert Sapscript from smartforms

    Hi,
    How can I convert sapscripts form into smartforms?
    Avijit

    Hi,
    Check below link and your query will be resolved.
    Re: migrating scripts to smartforms
    Is there a program to convert sap script to smartforms?
    Best regards,
    Brijesh

  • Convert SAPScript to SmartForms

    hi experts
    i have to convert mr_print script to smartform,
    if anybody has convert this, could u pass the
    driver program for smartform.
    i need only driver program needed for smartform ( i do not want driver prog of script).
    <REMOVED BY MODERATOR> i shall be greatful to u.
    thanx
    rocky
    Edited by: Alvaro Tejada Galindo on Jan 31, 2008 9:18 AM

    Hi,
    You have the option in SAP Smartforms.
    Goto SMARTFORMS and name your smartform. Dont press Create Button.
    Now follow the path. GOTO -> Migrate SAP Script form.
    You will get a pop-up window to enter the name of SAPscript from which you would like to migrate and choose language and then press enter.
    and also have alook at the following link
    http://help.sap.com/saphelp_nw04/helpdata/en/9d/9599386185c064e10000009b38f8cf/frameset.htm
    The specified item was not found.
    Migrating SAPscript print program to Smartform
    Regards,
    Satish

  • Converting SAPSCRIPT Styles to SMARTFORM Styles?

    Three questions:
    1) How do I find the SAPSCRIPT STYLE that was used for an older original SAPSCRIPT that I converted to a SMARTFORM?
    2) Once I run SMARTSTYLES conversion will all the text output in the new converted SMARTFORM be automatically formatted correctly?
    3)Should I have converted the style before converting the form?
    It seems too easy, but I am having trouble finding the style of the original SAPSCRIPT form to convert to SMARTFORMS. Of course a lot of my output is misaligned.
        Thank-You.

    Hello Amit and Thank-You. I am beggining to believe that converting SAPSCRIPT to SMARTFORM may not always be worth the effort. We have many old SAPSCRIPT programs, that are full of unstyled character and paragraph formats, that would all need to be checked. because it looks like the formats do not always migrate, because they are not defined i the new SMARTFORM?
    Would you agree?

  • PDF into Smartforms or Convert PDF into BMP

    Hello,
    we have an 4.6c System. I have an PDF Document. The Content is a signature.
    Now i want import the PDF document into a Smartforms.
    How can i import this automatically? => Not on dialog.
    Background: the man to sign on a touchpad. it create a pdf document with the signature. Now i catch me the document and would like insert the signature into the smartforms "shipping ticket".
    can anybody help me? Is it better convert the pdf into bmp? And then yes, how can i convert pdf into bmp.
    Thanks !!!!
    Message was edited by:
            DDC

    ABBY RE
    I'm not one to spend money when it is not necessary.
    Try deskUNPDF for Mac as suggested. As I said you can do a few trials per document. You won't know if you don't try. If it is only text then it probably would do fine. However you need to look at the different things you want to convert, try it out and see if it does the job. Warning: The limit in the trial is 4 single and separate pages per document so you may need to divide you document into smaller documents. If it is not doing what you want then maybe Adobe Writer is what you need, particularly if you do a lot of PDF conversions.
    As a basic document converter I would certainly use it again. I have to say I have come across a lot of useful freebie info and good software sites in this forum.
    dcm18

  • Convert SAPScript output into Word document (.doc)

    Hi,
    I want to convert the output of sapscript into the word document. Will u pls. suggest the appropriate way to achieve it.
    We have a Function Module which converts the ouput in to the PDF and RTF format. Is dere a possibility to convert it into the DOC file.
    Thanks,
    Hitz

    hi ,
    Use ABAP program: RSTXSCRP
    It will download and upload your sapscripts as a text file in your local harddisk.
    when u execute that program ,one screen appears.there u have to enter the directory path and the name of the upload or download file. Use the naming conventions of the file system where the file is located.
    File system Example
    Windows, DOS d:\tmp\text.rtf
    Unix /usr/sap/c11/SYS/global/text.rtf
    When uploading, the data in the file is transported into the SAP System. When downloading, the data is stored in the file by the SAP System.
    If you are working on a PC, enter a file that is located on a hard disk or a disk of the PC.  If the PC is connected to a network, or if you are on a workstation, you can specify a file on a remote disk.
    and for converting the output in to PDF format use the function module CONVERT_OTF.
    u can use these function modules to convert the script.
    SX_OBJECT_CONVERT_OTF_PDF Conversion From OTF to PDF (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_PRT Conversion From OTF to Printer Format (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_RAW Conversion From OTF to ASCII (SAPScript conversion)
    i think  there is no such function module to convert script out put into DOC format.
    Reward points if useful.
    Thanks,
    Usha
    Message was edited by:
            usha

  • Convert PO into PDF format and send by an email to vendor

    We are using SAP version ECC 5.0. We want to convert SAP PO into PDF format and attached it in an email and send it to vendor. Please give me some tips to achieve this?
    Thanks in advance!
    Mrudula

    Hi!
    The way to achieve your goal depends on how you get PO printed - by sapscript, smartform or abap list.
    As have been mentioned you can create spool request and process it. But for sapscript and smartform you can proceed without spool request - just get back OTF data from corresponding FM and convert it to PDF.
    In case of smartform:
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = 'ZFORMNAME'
    IMPORTING
    fm_name = v_form_name
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3.
    w_ctrlop-getotf = 'X'.
    w_ctrlop-no_dialog = 'X'.
    w_compop-tdnoprev = 'X'.
    CALL FUNCTION v_form_name
    EXPORTING
    control_parameters = w_ctrlop
    output_options = w_compop
    user_settings = 'X'
    IMPORTING
    job_output_info = w_return
    EXCEPTIONS
    formatting_error = 1
    internal_error = 2
    send_error = 3
    user_canceled = 4
    OTHERS = 5.
    i_otf[] = w_return-otfdata[].
    In case of sapscript:
    options-tdgetotf = 'X'.
    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
    options = options
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
    RESULT =
    RDI_RESULT =
    TABLES
    otfdata = i_otf
    EXCEPTIONS
    unopened = 1
    bad_pageformat_for_print = 2
    send_error = 3
    spool_error = 4
    OTHERS = 5.
    Then convert to PDF
    DATA:
    pdf LIKE tline OCCURS 100 WITH HEADER LINE,
    v_len_in LIKE sood-objlen.
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
       format                      = 'PDF'
       max_linewidth               = 132
      ARCHIVE_INDEX               = ' '
    IMPORTING
       bin_filesize                =  v_len_in
        TABLES
          otf                         = i_otf
          lines                       = pdf
       EXCEPTIONS
         err_max_linewidth           = 1
         err_format                  = 2
         err_conv_not_possible       = 3
         OTHERS                      = 4
    Then send as attachment as Max proposed.
    Regards,
    Maxim.

  • Migration of SAPscripts to smartforms and its advantages

    Hi Folks,
          Can we convert a SAPscript into PDF and send it in mail as an attachment like what we do using smartform. Folks could you please provide me some knowledge which will help me preparing a document for the client to convience them how using smartforms is always better than using a sapscript and they should migrate all the SAPscript to the smartform.
    Thanks & reagrds,

    Advantages of smartforms,
    SAP Smart Forms have the following advantages:
    1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.
    2. Displaying table structures (dynamic framing of texts)
    3. Output of background graphics, for form design in particular the use of templates which were scanned.
    4. Colored output of texts
    5. User-friendly and integrated Form Painter for the graphical design of forms
    6. Graphical Table Painter for drawing tables
    7. Reusing Font and paragraph formats in forms (Smart Styles)
    8. Data interface in XML format (XML for Smart Forms, in short XSF)
    9. Form translation is supported by standard translation tools
    10. Flexible reuse of text modules
    11. HTML output of forms (Basis release 6.10)
    12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)
    Source SAP-img.com

  • How to convert sapscript to excel & send it as attachment in mail?

    Hi,
    I have a requirement to send the customer statement  in excel format with all open items to the customer email address.  I am creating the customer statement via sapscript . Then I need to convert that into excel. I tried using CONVERT_OTF. But alignment is not coming properly. I have logo also in the script. That also I want in the excel . When I send the mail, the data is not showing correctly
    Has anyone worked in similar scenario? Please tell me what are the ways for doing this?
    Thanks in advance,
    Jissa.

    HI,
    For sending script output through email
    Please check this code it may help u.
    FORM send_mail USING p_y16m_rcp_par STRUCTURE y16m_rcp_par.
    Have a subject for the mail
    g_s_document_data-obj_name = text-t02.
    g_s_document_data-obj_descr = text-t03.
    Fill receiver information
    g_s_receivers-rec_type = p_y16m_rcp_par-rec_type.
    g_s_receivers-rec_id = p_y16m_rcp_par-rec_id.
    g_s_receivers-express = 'X'.
    APPEND g_s_receivers TO g_t_receivers.
    Call function to send mail
    CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
    EXPORTING
    document_data = g_s_document_data
    document_type = 'RAW'
    PUT_IN_OUTBOX = ' '
    IMPORTING
    SENT_TO_ALL =
    NEW_OBJECT_ID =
    TABLES
    OBJECT_HEADER =
    object_content = g_t_object_content
    CONTENTS_HEX =
    OBJECT_PARA =
    OBJECT_PARB =
    receivers = g_t_receivers
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    OTHERS = 8
    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. " SEND_MAIL
    Regards,
    Pavan.

  • What SAP recommends in ECC 6. Either SAPSCRIPT or SMARTFORMS?

    Hi all,
    I want to know, what is the SAP's recommendation in ECC 6.0, whether to use sapscripts or smartforms for the important form print outs like purchase order, quotation, GR, GI, invoice, delivery note.
    I knew that in ECC 6.0, for some cases, there are both sapscript and smartforms available, for example Purchase order, Delivery note, invoice etc.  In this case what is the SAP's recommendation? to use sapscripts or smartforms??
    I heard that SAP does recommend.
    Awaiting your reply,
    Balaji

    Hi
    These are few lines from sap help:
    Smart Forms replace SAPscript forms. SAPscript forms will still be supported in the future; you can use them without making any changes for years to come. You can even use SAPscript texts in the Smart Forms.
    Migration of SAPscript forms into Smart Forms is supported.
    Even go through this link :
    http://help.sap.com/saphelp_nw70/helpdata/EN/a5/de6838abce021ae10000009b38f842/content.htm
    [Advantages of using smartforms|http://saplab.blogspot.com/2007/09/advantages-of-sap-smart-forms.html]
    Regards,
    Sravanthi

  • Converting output into PDF in RFQ

    Hi,
    Could anybody suggest me on how to convert an output generated through message determination into PDF form.
    The output can be seen in spool requests.
    Does any setting require for this??
    Regards,
    Pradeep

    Hi,
    Use Program "RSTXPDFT4" i.e. Converting SAPscript (OTF) or ABAP List Spool Job to PDF
    Go to SA38, here enter program "RSTXPDFT4" and execute
    Now enter Spool Request No and execute and then save it as PDF in local PC.
    Take help of ABAPer to create a T. Code with this program and use it for converting SAPScript to PDF.
    You can create a new T. Code in SE93.

  • Convert SAPScript to PDF

    Hello Everyone,
    I recently posted the following question on Webdynpro ABAP forum regarding displaying SAPScript in Enterprise Portal using ABAP WD. But, they refered me to post the question in this forum to get help.
    Display SAPScript in Portal
    Could anyone help me in finding out the way to display a SAPScript in Portal. I would greatly appreciate your help.
    Regards,
    Gopal.

    Hi,
      Try the following steps.
    1. FM "CLOSE_FORM" will return you SAP Script in OTF format.
    2. Call FM "CONVERT_OTF" to convert OTF into PDF format. Call the FM as below.
        CALL FUNCTION 'CONVERT_OTF'
           EXPORTING
                format                = 'PDF'
           IMPORTING
                bin_filesize          = cf_filesize
           TABLES
                otf                   = it_otf
                lines                 = lt_lines
           EXCEPTIONS
                err_max_linewidth     = 1
                err_format            = 2
                err_conv_not_possible = 3
                OTHERS                = 4.
       You will get the PDF file in table LT_LINES. This can be downloaded in PDF format by using FM GUI_DOWNLOAD.
    Thanks,
    Punit

Maybe you are looking for

  • My iPod Touch 4th Gen won't charge?

    Well I've had my iPod Touch 4th Gen since it came out it will be 2 years old in October. Yesterday I charged my iPod while listening to music. I took it of when it was charged and used a little it became half dead so I put it on my charger. I realize

  • Hotspots exporting as PNG doesn't work in IE

    When I export a file using hot spots, using PNG as the images, the don't work in Internet Explorer when I use this PNG Fix... http://homepage.ntlworld.com/bobosola/ I'm rather frustrated because I need the PNG fix to show the images correctly, and PN

  • Spry menu problems in IE

    I recently changed my menu on my site to be a spry menu. My problem is that in IE the menu messes up after the drop down menu. Everything after the drop down moves underneath the menu bar and changes to just hyperlinked text. The menu works fine in a

  • With regex, how can I combine backreference and repetition

    Let's say I have a four byte long input string, consisting of four hex values:  0x03 0x03 0x03 0x03 If I use repetition in a regex string pattern: .{4}  it matches true. Also, if I use backreference in a new regex pattern: (.)\1\1\1  it matches true.

  • HT201328 how do you know if att unlock your iphone

    Att send me a confirmation that my unlovked is approved. and i restarted my iphone 4.But i dont know of its unlocked?