Copy sapscript form

Hi all.
   I like to know how to copy an existing sapscript form to another new form within the same client.
Is this easy to do or i have to recreate a new form ?
thanks
Joyce

Hi a@s,
   It worked and copied to a new form.   I assume this copies exactly all text and variables between the two forms,
thanks
Joyce

Similar Messages

  • Copy sapscript form to different language

    Hi All,
    I'm trying to copy a form that was created in hebrew to the same form name but with language english.
    (the original language and the language key are the same now).
    I can't find a way to do this.
    Does any one have any idea ?
    Thanks,
    Michal.

    Go to SE71, enter the form name and the language in which you want to copy to. Click Create.  At the next screen, click Form, Copy From.  A dialog will appear which you can enter the form name and langauge to copy from.  Enter the values and click green check.
    Regards,
    Rich Heilman

  • Copying sapscript form in different languages...

    Hi,
    I want to use your suggested solutions for my program, then test and only then I can award the points and close the issue . Till then please bear with me ***
    I am stuck up with duplicating my medruck program. I choose from menu Utilies--> Copy from client to create a copy, but the original language of medruck is german !! I want a duplicate copy in EN so that i can add a cover page and add my own elements  !!
    I tried creating a copy, but when I am in EN i am not able to add any new pages  !!
    why ?? is there any way to solve my problem ??
    thanks

    Hi Rad,
    Please tru to copy the script with out selecting "Original Language only". Then it will caopy it in to all languages and change the respective layout set as you want.
    If you copied Original language only then use T/Code SE71 and Utilities--> convert original language

  • Copy SapScript Window to another Form?

    Hello,
    is it possible to copy a window from an existing SapScript form to another form (on the same client)?
    If so, how can this be managed?
    Thanks in advance,
      Arne Schultz

    Hi Frnds,
    We can accomplish this task by following below steps:
    1: Go to source window in Script. Click on change editor and make it to New editor then copy    the whole/ ur wish .
    2. Come to Target window (In Some other script) do as like above and paste here.
    Regards
    Yuva Thulasi

  • Addint new field to the standard sapscript form.

    FOR SALES INVOICE DOCUMENT FORM PRINTING
    TRANSACTION CODE: VF01
    OUTPUT TYPE : FJCI
    PROGRAM NAME: RVADAUS1
    SAPSCRIPT FORM NAME: SD_EXPORT_FJCI
    ENTRY ROUTINE: ENTRY_FJCI.
    STRUCTURE USED FOR THIS OUTPUT TYPE = V55EFJCI
    THE QUERY IS AS FOLLOWS:
    I WANT TO ADD DATA MODE OF TRANSPORT FROM THE INVOICE DOCUMENT. THE TABLE AND FIELD IS T618-BEZEI.
    SO I COPIED THE STANDARD FORM TO ZSD_EXPORT_FJCI AND THE STANDARD PROGRAM TO ZRVADAUS1.
    I SUCCESSFULLY FETCHED THAT FIELD DATA.
    I APPEND THE STRUCTURE 'ZAV55EFJCI' TO ADD THE ADDITIONAL T618-BEZEI FIELD.
    AND WRITE MY SELECT QUERY IN THE ENTRY_FJCI FORM ROUTINE.
    THE CODE IS AS FOLLOWS:
    data: begin of it_mode_of_tp occurs 1,
          bezei type t618t-bezei,
          end of it_mode_of_tp.
    select a~bezei as zzbezei into table it_mode_of_tp from t618t as a
    inner join
    eikp as b on aexpvz = bexpvz and aland1 = baland inner join vbrk as
    c on bexnum = cexnum
    where cvbeln = nast-objky and aspras = nast-spras .
    loop at it_mode_of_tp.
       v55efjci-zzbezei = it_mode_of_tp-bezei.
    endloop.
    BUT THE DATA FOR THAT IS NOT GETTING DISPLAYED.
    THIS WAS THE FIRST METHOD I FOLLOWD.
    THE SECOND METHOD I DID WAS AS FOLLOWS:
    FORM ENTRY_FJCI.
         PERFORM PROCESSING.
    ENDFORM
    FORM PROCESSING.
         PERFORM PRINT_DOCUMENT.
    ENDFORM.
    FORM PRINT_DOCUMENT.
           CALL FUNCTION 'RV_EXPORT_DOCUMENT_PRINT'
    ENDFORM.
    IN THIS FUNCTION THE DATA IS GETTING FETCHED FROM THE DATABASE TABLES AND STORED IN THE STRUCURE V55EFJCI.
    SO I COPIED THAT FUNCTION.
    IN THIS FUNCTION , THEIR IS A INCLUDE PROGRAM 'LV55EF11' FOR FETCHING DATA FOR ENTRY_FJCI FORM ROUTINE.
    I COPIED THAT PROGRAM CODE , AND CREATED MY OWN INCLUDE PROGRAM (WHICH I AM STORING IT IN ANOTHER Z PACKAGE.)
    AND WRITTEN MY ABOVE CODE IN THAT PROGRAM. BUT WHEN I DO THIS, NOITHING GETS DISPLAYED , EVEN THE PREVIOUSLY COMING DATA ALSO NOT GETTING DISPLAYED.
    HOW SHOULD I PROCEED.

    you said you copied layout(form) SD_EXPORT_FJCI to ZSD_EXPORT_FJCI,
    you updated program to fetch datat & populate v55efjci-zzbezei field.
    Now
    - you need to modify layout(form) ZSD_EXPORT_FJCI via SE71 to insert your field in one of the windows where it has to be printed (sap script knowledge is required here).
    - you need to either modify SAP output type FJCI to use your program/layout(form) or you need to create your own output type and assign your form/program to it, and in addition to that if you define your own output type - yo have to add it to output determination procedure, to access sequences, add condition records to condition table... so it's picked up by the invoice.

  • Missing text elements in my sapscript form / Transaction F.17

    Hello!
    I'm on a sap ecc 6.0 system and have problems with a sapscript form.
    My printprogram is sapf130d and my form is y_..._debi_slep.
    Starting the transaction F.17 i get several lists and at last the error-list. This error-list says "in form y_..._debi_slep in the main window the following textelements are missing ...". Three elements 506, 595 and 606 are missing.
    When i look into the form i couldn't see the elements. So with "/E 506", "/E 595" and "/E 606" i've inserted the elements in the main window and saved and activated the form. A new try with "F.17" raises the same errors. For my understanding the relevant elements should be in the info window in this case - i inserted them there, too ... but the errors remain the same. In the print program i can find all these textelements.
    Perhaps someone out there has a solution or a hint for me?
    Thanks a lot in advance.
    Best regards,
    Ingo

    The cause of error could be of any reason.
    1) For driver program SAPF130D, following forms must be used, or customised by copying any of this below forms.. May be this could be one <b>reasons for the error.</b>
    Forms
    The following forms are used in the standard SAP R/3 System:
    Form for  Form name
    Letter and Reply  <b>F130_CONFIRM_01</b>
    Check list  <b>F130_LIST_01 and F130_LIST_02</b>
    Results table  <b>F130_RESULT_01 or F130_RESULT_02</b>
    Error list  <b>F130_ERROR_01 or F130_ERROR_02</b>
    If you define your own forms, the form name should contain the identification code "F130".
    Regards,
    Sairam

  • How to add new fields in sap copied standard form using itcsy structure

    hi guys,
      i want add some fields in sap script copied standard form using itcsy structure.
    let me know the procedure with any example.
    thanks,
    anitha.

    Hii anitha
    plz c code below
    Syntax goes like this
    /: PERFORM <form> IN PROGRAM <prog>
    /: USING &INVAR1&
    /: USING &INVAR2&
    /: CHANGING &OUTVAR1&
    /: CHANGING &OUTVAR2&
    /: ENDPERFORM
    INVAR1 and INVAR2 are variable symbols and may be of any of the four SAPscript symbol types.
    OUTVAR1 and OUTVAR2 are local text symbols and must therefore be character strings.
    Example:
    In script form
    /: PERFORM READ_TEXTS IN PROGRAM 'Z08M1_FORM_EKFORM1'
    /: USING &EKKO-EKORG&
    /: USING &EKPO-WERKS&
    /: USING &EKKO-EKGRP&
    /: USING &EKKO-BSTYP&
    /: CHANGING &COMPNAME&
    /: CHANGING &SENDADR&
    /: CHANGING &INVCADR&
    /: CHANGING &COMPADR&
    /: CHANGING &COVERLTR&
    /: CHANGING &SHIPADR&
    /: CHANGING &REMINDER&
    /: CHANGING &REJECTION&
    /: CHANGING &POSTADR&
    /: CHANGING &LOGO&
    /: ENDPERFORM
    In program
    FORM Read_texts - To extract the standard texts from the table *
    FORM READ_TEXTS TABLES IN_PAR STRUCTURE ITCSY
    OUT_PAR STRUCTURE ITCSY.
    DATA : L_EKORG TYPE EKORG,
    L_WERKS TYPE WERKS_D,
    L_BSTYP TYPE BSTYP,
    L_EKGRP TYPE BKGRP.
    READ TABLE IN_PAR WITH KEY 'EKKO-EKORG' .
    CHECK SY-SUBRC = 0.
    L_EKORG = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY 'EKPO-WERKS' .
    CHECK SY-SUBRC = 0.
    L_WERKS = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY 'EKKO-EKGRP' .
    CHECK SY-SUBRC = 0.
    L_EKGRP = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY 'EKKO-BSTYP' .
    CHECK SY-SUBRC = 0.
    L_BSTYP = IN_PAR-VALUE.
    CLEAR Z08M1_ORG_TEXTS.
    SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG
    AND WERKS = L_WERKS
    AND EKGRP = L_EKGRP
    AND BSTYP = L_BSTYP.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG
    AND WERKS = L_WERKS
    AND EKGRP = L_EKGRP
    AND BSTYP = SPACE.
    ENDIF.
    READ TABLE OUT_PAR WITH KEY 'COMPNAME'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COMP.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'SENDADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_ADRS.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'INVCADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_INVC.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'COMPADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_CPAD.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'COVERLTR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COVR.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'SHIPADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_SHIP.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'REMINDER'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RMDR.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'REJECTION'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RJCT.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'POSTADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_POST.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'LOGO'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_LOGO.
    MODIFY OUT_PAR INDEX SY-TABIX.
    ENDFORM.
    reward points if useful
    regards
    Jaipal

  • How to change the Development Class of the SAPSCRIPT FORM

    Hi All,
          I have transported the old form which needs to be deleted in Test System. Is that possible to create a TR for deletion and send it to Test enivronment?..
         Also is it possible to change the development class for a form?
         Please help me on this. Urgent!...
    Regards,
    Ramkumar.

    Yes, it is possible to change the development class for forms..
    Use SE03, transport organiser tools
    goto node OBJECT DIRECTORY ENTRY
    select node "Change object directory entries"
    Execute
    goto the next text box after data element, type FORM, give your SAPSCRIPT form name and tick the check box execute... now rightclick on your form and chenge development class..
    Now coming to your second question is is not possible to delete a FORM that it is already transported to QA and Production, only way to do this is by doing client copy.. basis will do it for you..
    Close the thread once your question is answered.
    Regards,
    SaiRam

  • Include PDF file in a SAPscript Form

    Here is a good one.  Anyone ever heard of this.  I need to somehow import a PDF file into an ABAP program and include it in a sapscript form. 
    Requirment:
    Customer sends a PDF file to our system. We need to take this PDF file and include into a "quote" sapscript form and fax it back to the customer.
    If anyone has any other ideas of how I can accomplish this task........PLEASE let me know.  Thanks.
    Regards,
    Rich Heilman

    i solved a similiar problem by following:
    - catch the sapsript-data in otf-format by setting
      itcpo-tdgetotf = 'X' at CALL FUNCTION 'OPEN_FORM'
    - read the pdf-file from it's source
      (i.e. content server)in an internal table
    - send the fax with function-module SO_DOCUMENT_SEND_API1.
      at least in 4.6c you can add attachements to the fax.
      the fax-body is the otf, the attachements are
      the pdf-files.
    i suppose that your fax-software is able to send the pdf-attachements.
    here is some coding i copied from my program. i simplified it to show the main steps, so it won't run immediatly. the form assumes that the otf is filled in table ZT_OTFDATE, the pdf in ZT_PDFDATA and the PDF-filesize is in Z_PDFSIZE.
    *&      Form  FAX
    FORM fax CHANGING pe_subrc.
      DATA
      : ls_docdata TYPE sodocchgi1
      , ls_sadrfd  TYPE sadrfd
      , l_len TYPE i
      , lt_packlist TYPE TABLE OF sopcklsti1 WITH HEADER LINE
      , lt_head TYPE TABLE OF solisti1 WITH HEADER LINE
      , lt_text TYPE TABLE OF solisti1 WITH HEADER LINE
      , lt_bin  TYPE TABLE OF solisti1 WITH HEADER LINE
      , lt_recv TYPE TABLE OF somlreci1 WITH HEADER LINE
      , l_lines TYPE i
    OTF-Body
      CLEAR lt_packlist.
      DESCRIBE TABLE zt_otfdata LINES l_lines.
      lt_packlist-transf_bin = 'X'.
      lt_packlist-head_start = 1.
      lt_packlist-head_num   = 1.
      lt_packlist-doc_type   = 'OTF'.
      lt_packlist-obj_name   = 'Letter'.
      lt_packlist-obj_descr  = 'Letter'.
      lt_packlist-body_start = 1.
      lt_packlist-body_num   = l_lines.
      lt_packlist-doc_size   = lt_packlist-body_num * 255.
      APPEND lt_packlist.
      APPEND tnapr-fonam TO lt_head.
      APPEND LINES OF zt_otfdata TO lt_bin.
    Attachement
      CLEAR lt_packlist.
      lt_packlist-transf_bin = 'X'.
      lt_packlist-doc_type   = 'PDF'.
      lt_packlist-obj_name   = 'filename'.
      lt_packlist-obj_descr  = 'a filedescription'.
      lt_packlist-head_start = 2.
      lt_packlist-head_num   = 1.
      DESCRIBE TABLE lt_bin LINES l_lines.
      lt_packlist-body_start = l_lines + 1.
      DESCRIBE TABLE zt_PDFDATA LINES l_lines.
      lt_packlist-body_num   = l_lines.
      lt_packlist-doc_size   = Z_PDFSIZE.
      APPEND lt_packlist.
      APPEND 'filename' TO lt_head.
      APPEND LINES OF zt_pdfdata TO lt_bin.
    Receiver
      ls_sadrfd-rec_state = itcpo-tdteleland.
      ls_sadrfd-rec_fax   = itcpo-tdtelenum.
      lt_recv-receiver     = ls_sadrfd.
      lt_recv-rec_type     = 'F'.     " F=FAX U=Email
      APPEND lt_recv.
    DOCUMENT HEADER
      CLEAR ls_docdata.
      ls_docdata-obj_name    = 'fax name'
      ls_docdata-obj_descr   = 'fax description'.
      ls_docdata-obj_langu   = sy-langu.
      ls_docdata-obj_sort    = sy-datum.
      ls_docdata-obj_expdat  = sy-datum + 7.
      ls_docdata-sensitivty  = 'O'.
      ls_docdata-obj_prio    = '1'.
    ls_docdata-NO_CHANGE   = ''.
      ls_docdata-priority    = ls_docdata-obj_prio.
      ls_docdata-expiry_dat  = ls_docdata-obj_expdat.
    ls_docdata-PROC_TYPE   = ''.
    ls_docdata-PROC_NAME   = ''.
    ls_docdata-PROC_SYST   = ''.
    ls_docdata-PROC_CLINT  = ''.
    ls_docdata-SKIP_SCREN  = ''.
    ls_docdata-TO_DO_OUT   = ''.
    ls_docdata-FREE_DEL    = ''.
      ls_docdata-doc_size    = l_len.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
        EXPORTING
          document_data                    = ls_docdata
        PUT_IN_OUTBOX                    = ' '
        SENDER_ADDRESS                   = SY-UNAME
        SENDER_ADDRESS_TYPE              = 'B'
      IMPORTING
        SENT_TO_ALL                      =
        NEW_OBJECT_ID                    =
        SENDER_ID                        =
        TABLES
          packing_list                     = lt_packlist
          object_header                    = lt_head
          contents_bin                     = lt_bin
          contents_txt                     = lt_text
        CONTENTS_HEX                     =
        OBJECT_PARA                      =
        OBJECT_PARB                      =
          receivers                        = lt_recv
        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.
        pe_subrc = sy-subrc.
        PERFORM protocol_update.
      ENDIF.
    ENDFORM.

  • Convert SAPSCRIPT forms to PDF

    We need to do a report that can generate several pdfs from a payment run (SAP-FI), so we need to have one pdf  for each payment in the run (they are in SAPSCRIPT form).
    The program that we use is copy of "J_1AF012" and the we use "SX_OBJECT_CONVERT_OTF_PDF" function to obtain the pdf form, but the changes that we did in the standard were:
    a) in the "OPEN_SAPSCRIPT"
    *&      Form  OPEN_SAPSCRIPT
          text                                                           *
    FORM OPEN_SAPSCRIPT.
      ITCPO-TDIMMED    = '*'.              " kz sofort drucken
      ITCPO-TDDELETE   = '*'.              " kz freigbe nach Druck
      ITCPO-TDLIFETIME = '7'.              " verfalltage
      ITCPO-TDPREVIEW  = 'X'.              " druckansicht
    Setting the options
      w_options-tdcopies = 1 ."Number of copies
      w_options-tdnoprev = c_x."No print preview
      w_options-tdgetotf = c_x."Return of OTF table
      w_options-tddest =   c_locl."Spool: Output device
      CALL FUNCTION 'OPEN_FORM'            " open form for output
           EXPORTING FORM    = S_FORM
                     DIALOG  = 'X'
                     LANGUAGE = 'S'
                   OPTIONS = ITCPO
                     OPTIONS = w_options
                    DEVICE  = 'PRINTER'
                     DEVICE  = c_printer
           IMPORTING
                     RESULT  = W_RES.
    ENDFORM.                               " OPEN_SAPSCRIPT
    b) In the "CLOSE_SAPSCRIPT" :
    FORM CLOSE_SAPSCRIPT.
      C_ORDEN = C_ORDEN + 1.
      shift C_ORDEN left deleting leading space.
      CONCATENATE C_PATH C_NAME1 C_ORDEN C_EXTENSION INTO C_NAME.
      CALL FUNCTION 'CLOSE_FORM'
      IMPORTING
              RESULT = w_res
              TABLES
                    otfdata = i_otf
              EXCEPTIONS
                    unopened = 1
                    bad_pageformat_for_print = 2
                    send_error = 3
                    spool_error = 4
                    codepage = 5
                    OTHERS= 6.
      IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    c) And we added these functions:
    Converting OTF data to single line
      LOOP AT i_otf INTO w_otf.
            CONCATENATE w_otf-tdprintcom w_otf-tdprintpar
                                                  INTO w_pdf.
            APPEND w_pdf TO i_content_txt.
      ENDLOOP.
    Converting to PDF Format
      CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
      EXPORTING
                format_src = c_otf
                format_dst = c_pdf
                devtype = c_printer
            CHANGING
                transfer_bin = w_transfer_bin
                content_txt = i_content_txt
                content_bin = i_content_bin
                objhead = i_objhead
                len = v_len_in
            EXCEPTIONS
                err_conv_failed = 1
            OTHERS = 2.
      v_size = v_len_in.
    Downloading the PDF File
      CALL FUNCTION 'GUI_DOWNLOAD'
            EXPORTING
                bin_filesize = v_size
                filename = c_name
                filetype = c_bin
            TABLES
                data_tab = i_content_bin.
    When we run the program the error is a dump with:
    "DBIF_RSQL_INVALID_CURSOR
    CX_SY_OPEN_SQL_DB        "
    and aparenttly is due to the cursor in BKPF table is closed (or missing) in some of those functions.
    We use the "open_form" and "close_form" for each payment document, and we could generate only the first pdf and then the program cancel (to the second pdf) with this mentioned error.
    We are on R/3 4.70, 620, and Informix Database.
    Please, could you kindly help us???
    Best regards,

    Hola Grisel!
    Estoy tratando de armar en pdf las órdenes de pago, pudiste hacerlo? Como lo lograste?
    Gracias de antemano por cualquier info que me puedas brindar.
    Saludos
    Eduardo Puricelli
    Hi Grisel,
    I'm trying to build in pdf payment orders, could you? As you did it?
    Thanks in advance for any info you can give me.
    Greetings
    Eduardo Puricelli

  • How Sapscript form can be send by mail

    Hello all,
    I want to send a Sapscript form by mail.
    I think it should first be converted to PDF form and than need to be send by mail.
    I have created a z form which is a copy of standard for medruck and also have changed the standard program SAPFM06P. So I need to add functionality in z program so that i can send the sapscript form by mail.
    Can any body let me know the complete process how can i do it?
    Thanks

    Hi,
    Just follow the below code . I am giving the code which starts from OPEN_FORM. After that one submit program is there u can see the code.
    *&      Form  display_layout
          text
    -->  p1        text
    <--  p2        text
    FORM display_layout.
      CALL FUNCTION 'OPEN_FORM'
       EXPORTING
      APPLICATION                       = 'TX'
      ARCHIVE_INDEX                     =
      ARCHIVE_PARAMS                    =
         device                            = 'PRINTER'
      DIALOG                            = 'X'
         form                              = 'YFIL_DUNN_01'
      LANGUAGE                          = SY-LANGU
       options                           = itcpo
      MAIL_SENDER                       =
      MAIL_RECIPIENT                    =
      MAIL_APPL_OBJECT                  =
      RAW_DATA_INTERFACE                = '*'
    IMPORTING
      LANGUAGE                          =
      NEW_ARCHIVE_PARAMS                =
      RESULT                            =
       EXCEPTIONS
         canceled                          = 1
         device                            = 2
         form                              = 3
         options                           = 4
         unclosed                          = 5
         mail_options                      = 6
         archive_error                     = 7
         invalid_fax_number                = 8
         more_params_needed_in_batch       = 9
         spool_error                       = 10
         OTHERS                            = 11
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      LOOP AT i_tab INTO wa_tab.
        CALL FUNCTION 'WRITE_FORM'
         EXPORTING
           element                     = '531'
      FUNCTION                       = 'SET'
      TYPE                           = 'BODY'
           window                      = 'MAIN'
    IMPORTING
       pending_lines                  = wa_tab.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDLOOP.
      CALL FUNCTION 'CLOSE_FORM'
       IMPORTING
         result                         = itcpp
        RDI_RESULT                     =
      TABLES
        OTFDATA                        =
         EXCEPTIONS
           unopened                       = 1
           bad_pageformat_for_print       = 2
           send_error                     = 3
           spool_error                    = 4
           OTHERS                         = 5.
      IF sy-subrc = 0.
        IF ( itcpp-userexit IS INITIAL AND
            NOT itcpp-tdspoolid IS INITIAL ).
          p_spool = itcpp-tdspoolid.
          SUBMIT yfir_mailsend_pdf_attachment WITH p_spool = p_spool
                                              WITH p_kunnr = p_kunnr.
        ENDIF.
      ENDIF.
    ENDFORM.                    " display_layout
    *&      Form  modify_duedate
          text
    -->  p1        text
    <--  p2        text
    FORM modify_duedate.
      SELECT SINGLE mat_rec_no
                    mat_rec_date FROM yfi_matno
                    INTO (v_mat_rec_no, v_mat_rec_date)
                    WHERE vbeln = wa_tab-vbeln.
      CHECK sy-subrc EQ 0.
      SELECT SINGLE zterm
                    FROM vbrk INTO  v_zterm
                    WHERE vbeln EQ wa_tab-vbeln.
      CHECK sy-subrc EQ 0.
      SELECT SINGLE zdays
                    FROM yfi_payment INTO v_zdays
                    WHERE zterm EQ v_zterm.
      IF sy-subrc EQ 0.
        wa_tab-zfbdt_due = ( v_mat_rec_date + v_zdays ).
        wa_tab-due_days = ( sy-datum - wa_tab-zfbdt_due ).
       IF wa_tab-due_days LE 0.
         wa_tab-due_days = 'N/A'.
       ENDIF.
        IF ( wa_tab-umskz = 'A' AND wa_tab-shkzg = 'H' ).
          wa_tab-zfbdt = ' '.
          wa_tab-zfbdt_due = ''.
          wa_tab-due_days = ''.
        ENDIF.
        MODIFY i_tab FROM wa_tab INDEX sy-tabix.
        CLEAR: v_mat_rec_no, v_mat_rec_date, v_zterm, v_zdays.
      ENDIF.
    ENDFORM.                    " modify_duedate
    SUBMIT PROGRAM :
    REPORT yfir_mailsend_pdf_attachment MESSAGE-ID yf.
    *& Program Name   : *
    & Author         :
    *& Creation Date  : *
    *& Program Type   :                                                   *
    *& SAP Release    : *
    *& Description    :     *
    *& Transport No   :                                                   *
    *& Transaction    :                                                   *
    *&  Send document with OTF/ALI attachment from spool to externalreci-
    *&  pient. OTF/ALI document is converted to PDF/HTML format duringthe
    *&  SAPconnect send process.
    *&  This report serves as example documentation for the function
    *&  modules SO_NEW_DOCUMENT_ATT_SEND_API1 and SO_DOCUMENT_SEND_API1.
    *&  Following this example you should be able to develop your own
    *&  report to send documents with all kinds of attachments.
    Creation of the entry for the compressed document
    *& TABLES:
    TABLES : kna1,
            adr6.
    *& INTERNAL TABLES:
    ***********PDF Declaration*******
    DATA: BEGIN OF i_spool OCCURS 0,
            rqident  LIKE tsp01-rqident,
            rqo1name LIKE tsp01-rqo1name,
            rqclient LIKE tsp01-rqclient,
          END   OF i_spool.
    *& VARIABLES :
    DATA: client LIKE tst01-dclient,
          name LIKE tst01-dname,
          objtype LIKE rststype-type,
          type LIKE rststype-type.
    DATA: spoolno LIKE tsp01-rqident,
         download TYPE c VALUE 'X', "AS CHECKBOX DEFAULT 'X',
         p_file LIKE rlgrap-filename
                         VALUE 'C:\Invoice.pdf',               "#EC NOTEXT
          otf LIKE itcoo OCCURS 100 WITH HEADER LINE,
         cancel,
          pdf LIKE tline OCCURS 100 WITH HEADER LINE,
          doctab LIKE docs OCCURS 1 WITH HEADER LINE,
          numbytes TYPE i,
          arc_idx LIKE toa_dara,
          pdfspoolid LIKE tsp01-rqident,
          jobname LIKE tbtcjob-jobname,
          jobcount LIKE tbtcjob-jobcount,
          is_otf.
    Data Declaration
    DATA: docdata    LIKE sodocchgi1,
          objpack    LIKE sopcklsti1 OCCURS  1 WITH HEADER LINE,
          objhead    LIKE solisti1   OCCURS  1 WITH HEADER LINE,
          objtxt     LIKE solisti1   OCCURS 10 WITH HEADER LINE,
          objbin     LIKE solisti1   OCCURS 10 WITH HEADER LINE,
          objhex     LIKE solix      OCCURS 10 WITH HEADER LINE,
          reclist    LIKE somlreci1  OCCURS  1 WITH HEADER LINE.
    *objpack-head_start = 1.
    *objbin = '  |  '. APPEND objbin.
    *DATA: listobject LIKE abaplist   OCCURS  1 WITH HEADER LINE.
    DATA: tab_lines  TYPE i,
          doc_size   TYPE i,
          att_type   LIKE soodk-objtp.
    objpack-head_start = 1.
    *& PARAMETERS:
    PARAMETERS : p_spool LIKE tsp01-rqident NO-DISPLAY,
                 p_kunnr LIKE kna1-kunnr NO-DISPLAY.
    *& M A I N   P R O C E S S
    *& START OF SELECTION.
    START-OF-SELECTION.
      SELECT SINGLE
      adr6~addrnumber
      adr6~smtp_addr
      FROM adr6
      INNER JOIN kna1
      ON kna1~adrnr = adr6~addrnumber
      INTO CORRESPONDING FIELDS OF adr6
      WHERE kna1~kunnr = p_kunnr.
      IF sy-subrc = 0.
    Create receiver list
        reclist-receiver = adr6-smtp_addr. "<-- customer address
        reclist-rec_type = 'U'.
        APPEND reclist.
      ENDIF.
    ***Convert Spool request to PDF
      PERFORM pdf_convert.
      docdata-obj_name  = 'MAIL_AEIW'.
      docdata-obj_descr = 'Dunning'.
      Main Text
      objtxt = 'Hi,'.
      APPEND objtxt.
      objtxt = 'Dunning'.
      APPEND objtxt.
      objtxt = 'Regards'.
      APPEND objtxt.
      Write Packing List (Main)
      DESCRIBE TABLE objtxt LINES tab_lines.
      READ     TABLE objtxt INDEX tab_lines.
      docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
      CLEAR objpack-transf_bin.
      objpack-head_start = 1.
      objpack-head_num   = 0.
      objpack-body_start = 1.
      objpack-body_num   = tab_lines.
      objpack-doc_type   = 'RAW'.
      APPEND objpack.
    Create Message Attachment
      Write Packing List (Attachment)
      att_type = 'PDF'.
      DESCRIBE TABLE objbin LINES tab_lines.
      READ     TABLE objbin INDEX tab_lines.
    *objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
      objpack-doc_size = tab_lines * 255.
      objpack-transf_bin = 'X'.
      objpack-head_start = 1.
      objpack-head_num   = 1.
      objpack-body_start = 1.
      objpack-body_num   = tab_lines.
      objpack-doc_type   = att_type.
      objpack-obj_name   = 'ATTACHMENT'.
      objpack-obj_descr  = 'Attached Document'.
      APPEND objpack.
    *check for not maintaining customer address
      IF reclist IS INITIAL.
        MESSAGE e000 WITH 'Please Maintain Customer e-Mail ID'.
        LEAVE LIST-PROCESSING.
      ELSE.
    Send Message
        CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
          EXPORTING
            document_data                     = docdata
             put_in_outbox                     = 'X'
        commit_work                       = 'X'     "used from rel.6.10
      IMPORTING
        SENT_TO_ALL                        =
        NEW_OBJECT_ID                     =
          TABLES
            packing_list                      = objpack
            object_header                     = objhead
            contents_bin                      = objbin
            contents_txt                      = objtxt
        CONTENTS_HEX                      = objhex
        OBJECT_PARA                        =
        OBJECT_PARB                        =
            receivers                         = 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 'SO' TYPE 'S' NUMBER '023'
                  WITH docdata-obj_name.
        ELSE.
          WRITE 'Mail sent successfully'.
        ENDIF.
      ENDIF.
      WRITE: / 'End of Program'.
    *&      Form  pdf_convert
          text
    -->  p1        text
    <--  p2        text
    FORM pdf_convert.
      DATA: date1   LIKE sy-datum,
            time1   LIKE sy-uzeit,
            period1 LIKE tsp01-rqcretime.
      date1 = sy-datum.
      time1 = sy-uzeit.
      date1 = date1 - 1.
      CONCATENATE date1 time1 INTO period1.
      SELECT rqident
             rqo1name
             rqclient FROM tsp01 INTO TABLE i_spool
                            WHERE rqowner   = sy-uname AND
                                  rqclient  = sy-mandt AND
                                  rqident   = p_spool.
      IF sy-subrc <> 0.
        WRITE: / 'No Spool Request created today'(003)
                COLOR COL_NEGATIVE.
        EXIT.
      ENDIF.
      SORT i_spool DESCENDING BY rqident.
      READ TABLE i_spool INDEX 1.
      CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
             EXPORTING
                authority     = 'SP01'
                client        = i_spool-rqclient
                name          = i_spool-rqo1name
                part          = 1
             IMPORTING
              CHARCO        =
              CREATER       =
              CREDATE       =
              DELDATE       =
              MAX_CREDATE   =
              MAX_DELDATE   =
              NON_UNIQ      =
              NOOF_PARTS    =
              RECTYP        =
              SIZE          =
              STOTYP        =
                  type          = type
                  objtype       = objtype
             EXCEPTIONS
                  fb_error      = 1
                  fb_rsts_other = 2
                  no_object     = 3
                  no_permission = 4.
      CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
          EXPORTING
            src_spoolid                    = i_spool-rqident
            no_dialog                      = ' '
          DST_DEVICE                     =
          PDF_DESTINATION                =
          IMPORTING
            pdf_bytecount                  = numbytes
            pdf_spoolid                    = pdfspoolid
          OTF_PAGECOUNT                  =
            btc_jobname                    = jobname
            btc_jobcount                   = jobcount
          TABLES
            pdf                            = pdf
          EXCEPTIONS
            err_no_otf_spooljob            = 1
            err_no_spooljob                = 2
            err_no_permission              = 3
            err_conv_not_possible          = 4
            err_bad_dstdevice              = 5
            user_cancelled                 = 6
            err_spoolerror                 = 7
            err_temseerror                 = 8
            err_btcjob_open_failed         = 9
            err_btcjob_submit_failed       = 10
            err_btcjob_close_failed        = 11.
      CASE sy-subrc.
        WHEN 0.
        WHEN 1.
          WRITE: / 'Error On Spool Job'(002)
                COLOR COL_NEGATIVE.
          EXIT.
        WHEN 2.
          WRITE: / 'No Permission'(003)
                COLOR COL_NEGATIVE.
          EXIT.
        WHEN 3.
          WRITE: / 'Conversion Not Possible'(004)
                COLOR COL_NEGATIVE.
          EXIT.
        WHEN OTHERS.
          WRITE: / 'Incorrect Destination Device'(005)
                    COLOR COL_NEGATIVE.
          EXIT.
      ENDCASE.
      CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
           EXPORTING
                line_width_src              = 134
                line_width_dst              = 255
           TABLES
                content_in                  = pdf
                content_out                 = objbin
           EXCEPTIONS
                err_line_width_src_too_long = 1
                err_line_width_dst_too_long = 2
                err_conv_failed             = 3
                OTHERS                      = 4.
    ENDFORM.                    " pdf_convert

  • How to create a transport for SAPscript form

    Hi Gurus,
    Good day!
    I would like seek an expertise from you guys on how i'll be able to create a transport for the SAPscript form. The form has already been copied from the other boxes by running the program RSTXSCRP.
    Appreciate your help. Thanks in advance!
    Cheers,
    Virgilio

    hi,
    First u create the driver program of the sapscript...ok..
    then go to the SE93 and create the T_code of that driver program..
    Hope This helps
    Regards
    RItesh J

  • Sending sapscript form to an external mail

    i need to send sapscript form to an external mail like for example a yahoo mail from SAP. i need an ABAP code that performs this function. its urgent, please

    1) REPORT PROGRAM  - RSTXPDFT4 ,
    FIRST GENERATE SPOOL REQUEST THEN DOWNLOAD SAPSCRIPT TO PDF FILE ON LOCAL PC.
    2) copy this code to send this downloaded form to external mail -
    *& Report  ZGILL_SENDMAIL_PDF                                          *
    REPORT  ZGILL_SENDMAIL_PDF                      .
    INCLUDE ZGILL_INCMAIL.  "SEE BELOW FOR INCLUDE PROGRAM CODE.
    * DATA
    DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : file_name TYPE string.
    data : path like PCFILE-PATH.
    data : extension(5) type c.
    data : name(100) type c.
    * SELECTION SCREEN
    PARAMETERS : receiver TYPE somlreci1-receiver lower case DEFAULT '[email protected]'.
    PARAMETERS : p_file LIKE rlgrap-filename
    OBLIGATORY DEFAULT 'C:TEMPSALARY_SLIP1.PDF'.
    * AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CLEAR p_file.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = p_file.
    * START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM ml_customize USING 'Tst' 'Testing'.
    PERFORM ml_addrecp USING receiver 'U'.
    PERFORM upl.
    PERFORM doconv TABLES itab objbin.
    PERFORM ml_prepare USING 'X' extension name.
    PERFORM ml_dosend.
    SUBMIT rsconn01
    WITH mode EQ 'INT'
    AND RETURN.
    * FORM
    FORM upl.
    file_name = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = file_name
    filetype = 'BIN'
    TABLES
    data_tab = itab
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17.
    path = file_name.
    CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
    EXPORTING
    complete_filename = path
    * CHECK_DOS_FORMAT =
    IMPORTING
    * DRIVE =
    EXTENSION = extension
    NAME = name
    * NAME_WITH_EXT =
    * PATH =
    EXCEPTIONS
    INVALID_DRIVE = 1
    INVALID_EXTENSION = 2
    INVALID_NAME = 3
    INVALID_PATH = 4
    OTHERS = 5
    ENDFORM. "upl
    **********************iNCLUDE pROGRAM*********************************************
    *&  Include           ZGILL_INCMAIL                                    *
    * Data
    DATA: docdata LIKE sodocchgi1,
    objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
    objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
    objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objhex LIKE solix OCCURS 10 WITH HEADER LINE,
    reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
    DATA: tab_lines TYPE i,
    doc_size TYPE i,
    att_type LIKE soodk-objtp.
    DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
    * FORM
    FORM ml_customize USING objname objdesc.
    *----------- Clear Variables
    CLEAR docdata.
    REFRESH objpack.
    CLEAR objpack.
    REFRESH objhead.
    REFRESH objtxt.
    CLEAR objtxt.
    REFRESH objbin.
    CLEAR objbin.
    REFRESH objhex.
    CLEAR objhex.
    REFRESH reclist.
    CLEAR reclist.
    REFRESH listobject.
    CLEAR listobject.
    CLEAR tab_lines.
    CLEAR doc_size.
    CLEAR att_type.
    *--------- Set Variables
    docdata-obj_name = objname.
    docdata-obj_descr = objdesc.
    ENDFORM. "ml_customize
    * FORM
    FORM ml_addrecp USING preceiver prec_type.
    CLEAR reclist.
    reclist-receiver = preceiver.
    reclist-rec_type = prec_type.
    APPEND reclist.
    ENDFORM. "ml_customize
    * FORM
    FORM ml_addtxt USING ptxt.
    CLEAR objtxt.
    objtxt = ptxt.
    APPEND objtxt.
    ENDFORM. "ml_customize
    * FORM
    FORM ml_prepare USING bypassmemory whatatt_type whatname.
    IF bypassmemory = ''.
    *--------- Fetch List From Memory
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = listobject
    EXCEPTIONS
    OTHERS = 1.
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'LIST_FROM_MEMORY'.
    ENDIF.
    CALL FUNCTION 'TABLE_COMPRESS'
    * IMPORTING
    * COMPRESSED_SIZE =
    TABLES
    in = listobject
    out = objbin
    EXCEPTIONS
    OTHERS = 1
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'TABLE_COMPRESS'.
    ENDIF.
    ENDIF.
    * Header Data
    * Already Done Thru FM
    * Main Text
    * Already Done Thru FM
    * Packing Info For Text Data
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'TXT'.
    APPEND objpack.
    * Packing Info Attachment
    att_type = whatatt_type..
    DESCRIBE TABLE objbin LINES tab_lines.
    READ TABLE objbin INDEX tab_lines.
    objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = att_type.
    objpack-obj_name = 'ATTACHMENT'.
    objpack-obj_descr = whatname.
    APPEND objpack.
    * Receiver List
    * Already done thru fm
    ENDFORM. "ml_prepare
    * FORM
    FORM ml_dosend.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = docdata
    put_in_outbox = 'X'
    commit_work = 'X' "used from rel. 6.10
    * IMPORTING
    * SENT_TO_ALL =
    * NEW_OBJECT_ID =
    TABLES
    packing_list = objpack
    object_header = objhead
    contents_bin = objbin
    contents_txt = objtxt
    * CONTENTS_HEX = objhex
    * OBJECT_PARA =
    * object_parb =
    receivers = 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 'SO' TYPE 'S' NUMBER '023'
    WITH docdata-obj_name.
    ENDIF.
    ENDFORM. "ml_customize
    * FORM
    FORM ml_spooltopdf USING whatspoolid.
    DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    *-------------- Call Function
    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
    EXPORTING
    src_spoolid = whatspoolid
    TABLES
    pdf = pdf
    EXCEPTIONS
    err_no_otf_spooljob = 1
    OTHERS = 12.
    *------------- Convert
    PERFORM doconv TABLES pdf objbin.
    ENDFORM. "ml_spooltopdf
    * FORM
    FORM doconv TABLES
    mypdf STRUCTURE tline
    outbin STRUCTURE solisti1.
    *-------- Data
    DATA : pos TYPE i.
    DATA : len TYPE i.
    *------------ Loop And Put Data
    LOOP AT mypdf.
    pos = 255 - len.
    IF pos > 134. "length of pdf_table
    pos = 134.
    ENDIF.
    outbin+len = mypdf(pos).
    len = len + pos.
    IF len = 255. "length of out (contents_bin)
    APPEND outbin.
    CLEAR: outbin, len.
    IF pos < 134.
    outbin = mypdf+pos.
    len = 134 - pos.
    ENDIF.
    ENDIF.
    ENDLOOP.
    IF len > 0.
    APPEND outbin.
    ENDIF.
    ENDFORM. "doconv
    ***********************INCLUDE END*********************************

  • How to upload / download sapscript forms

    Hi,
    Is it possible to upload / download sapscript forms to pc?
    Thanks in advance

    Hello,
    Across clients we can copy scripts by Tx. SCC1. Please keep in mind that you have to give the task ID and NOT the Transport Request ID if the Script/Std. Txt has to be ported across the clients.
    Regards, Murugesh AS

  • SAPScript form an rogram for  "Invoice for Payment"

    Hi Friends,
               Please tell me the Program Name and  SAPScript form name for following condition -
    <b>
    Customer service receives the order from the customer and place the order (document "Invoce for payment"). </b>
    Thanks & Regards
    Kishor

    If you want to change the standard script format, then you have copy program and form. And attach the same in config.
    Form : ZF110_PRENUM_CHCK
    Program : ZRFFOUS_C
    Regds
    Manohar

Maybe you are looking for