Modify SAPScript Form

Hi,
I'm new with sapscript and I would like to understand what are the steps in order to copy and modify existing SAPScript Form.
As I know a print program should be copied and assotiated with a form, but I don't know how.Please give an advice or show me an example.
BR
Stefan

Go to transaction code SE71
Go to menu option Utilities -->  Copy from Client
enter standard form name and your target(custom) form name, usually we copy all the standard forms from client 000
Execute.
Go to SE71, and give your custom form name and do respective changes...
Note: if you want to modify the window position make sure you modify in the original language or try to change original language to your local language.
Close the thread once your question is answered.
Regards,
SaiRam

Similar Messages

  • SAPSCRIPT form - Text is not porperly displayed

    hi all,
    in my SAPSCRIPT form, I am getting a text from PERFORM stmt. in the PERFORM , the text is coming correct, but in the form , it is showing only half of the text.
    the code
    FORM get_text TABLES ts_intab STRUCTURE itcsy
                         ts_outtab STRUCTURE itcsy.
    DATA: l_haul_text(500) TYPE c,  
               l_haul_long(250) TYPE c.
    l_haul_long = l_haul_text+0(250).
        LOOP AT ts_outtab.
          CASE ts_outtab-name.
            WHEN 'L_HAUL_LONG'.
              ts_outtab-value = l_haul_long.
              MODIFY ts_outtab.
          ENDCASE.
        ENDLOOP.
    Then in the form, just display
    /:  PERFORM GET_TEXT IN PROGRAM
    /:   USING &VBDKL-VBELN&
    /:   CHANGING &L_HAUL_LONG&
    /:  ENDPERFORM
    &L_HAUL_LONG&
    while debugging, the text is correct till TS_OUTTAB but when it comes to the form L_HAUL_LONG, it is truncated.......what should i do..
    Kindly help.
    THnaks

    answered

  • 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.

  • Call a function module from within a sapscript form

    not being an ABAPer i have the task of changing the Invoice SAPScript form.
    i have made the necessary changes - just about... but they have asked that i include the VAT Number on the Invoice....
    not too bad apart from different company codes have different vat numbers...
    not knowing a better way to retrieve data from table V_001_B - i am using the print program -RFKORD50, is there a better way of getting the VAT Number by company code? I figured if i could call the FM to return the value, all well and good.., they do not want the print program changed if possible so was looking at alternate methods....
    or am i trying to reinvent the wheel here?

    thank you both!  helpful answers! :o)
    anyway! 
    i have written the program which is called from the SAPScript:
        /:       PERFORM GET_VATNUMBER IN PROGRAM ZFI_F140_OPERATIONS
        /:       USING &BKPF-BUKRS&
        /:       CHANGING &VATNUMBER&
        CE       VAT Registration No : &VATNUMBER&
        REPORT zfi_f140_operations.
        FORM get_vatnumber TABLES in_par  STRUCTURE itcsy
                                  out_par STRUCTURE itcsy.
          DATA: lv_co_code TYPE bukrs,
                lv_vat_no  TYPE stceg.
          READ TABLE in_par WITH KEY name = 'BKPF-BUKRS'.
          MOVE in_par-value TO lv_co_code.
          SELECT SINGLE stceg FROM t001
            INTO lv_vat_no WHERE bukrs = lv_co_code.
          out_par-name = 'VATNUMBER'.
          WRITE lv_vat_no TO out_par-value.
          CONDENSE out_par-value.
          MODIFY out_par INDEX 1.
        ENDFORM.              
    it is not working and i cannot work out why... 
    i have not been ABAPing for very long but have had a go.... 
    any thoughts as to what i have done wrong?
    or point me where i should be looking?  thank you!

  • 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 do calculation to a variable in Sapscript form

    Hi experts,
    My question looks simple but I failed to solve it. Supposed in the Sapscript form there are two variables: &it_tab-qty1&, &it_tab-qty2&. I need to add the first variable's value to the second one, I tried as below in Sapscript form editor:
    /: &it_tab-qty2& = &it_tab-qty2& + &it_tab-qty1&
    But it doesn't work. Could you please tell me the syntax to do such calculation in Sapscript? I cannot modify the print program so I have to modify the Sapscript form instead.
    Thanks a lot.
    Yu

    Yes, you need to write an external program using SE38 to perform the calculation.
    The syntax in SAPscript:
    /* all the var define in the SAPscript is char string type
    /: define &v1& = &it_tab-qty1&
    /: define &v2& = &it_tab-qty2&
    /: define &v3& = ''
    /* GET_COMPNAME is the form name & Z001 is the program name
    /: PERFORM GET_COMPNAME IN PROGRAM Z001
    /: USING &v1&
    /: USING &v2&
    /: CHANGING &v3&
    /: ENDPERFORM.
    The syntax in program Z001 (Created by SE38):
    REPORT ZFIR001.
    FORM GET_COMPNAME tables in_tab structure itcsy
                                                     out_tab structure itcsy.
      data : p_1 TYPE CHAR80,
               p_1 TYPE CHAR80,
               p_3 TYPE CHAR80.
      retrieve data from the SAPscript
        READ table in_tab index 1.
        MOVE in_tab-value to p_1.
        READ table in_tab index 2.
        MOVE in_tab-value to p_1.
      Write the code to convert p_1 & p_2 to numeric and perform the addition to p_3
      After that convert the p_3 to char.
      send data back to the SAPscript
        read table out_tab index 1.
        move p_3 to out_tab-value.
        modify out_tab index sy-tabix.
    ENDFORM.

  • Asking for the current position in SAPScript Form

    Hello,
    is there the possibility to get the current position which is printed at that moment in SAPScript Form? Thanks.
    Regards, Lars.

    Thanks Naimesh Patel  .
    Is there anyway to get the PENDING_LINES  value in the script?
    Because i can't modify the standard print program, i can only edit the Sapscript Form and add in some extra subroutine only.
    tnx.

  • Ways to get the line number in sapscript form?

    Hi, all.
    May I know whether that there are ways to get the line number in sapscript form?
    For example, I want to get to know the certain line number in the MAIN window.
    Thanks in advance.

    Thanks Naimesh Patel  .
    Is there anyway to get the PENDING_LINES  value in the script?
    Because i can't modify the standard print program, i can only edit the Sapscript Form and add in some extra subroutine only.
    tnx.

  • Sending sapscript form through Email

    Hi,
         I modifyed a std sapscript form for customer statement and that output i want to send to the customer through Email.So now i need a help for further what are the steps need to be do for sending that form by email.Pls be in details so that for me easy to solve this.
    Thanks,
    Rajendra.

    Hi ,
        I  am using the below code to send the form output by mail but it is not working for me.pls correct my code where i want to change so that i can solve my issues.
    DATA: itcpo LIKE itcpo,
    tab_lines LIKE sy-tabix.
    Variables for EMAIL functionality
    DATA: maildata LIKE sodocchgi1.
    DATA: mailpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
    DATA: mailhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
    DATA: mailbin LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: mailtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: mailrec LIKE somlrec90 OCCURS 0 WITH HEADER LINE.
    DATA: solisti1 LIKE solisti1 OCCURS 0 WITH HEADER LINE.
    parameter: p_email1 like somlreci1-receiver .
    PERFORM send_form_via_email.
    FORM SEND_FORM_VIA_EMAIL *
    FORM send_form_via_email.
    CLEAR: maildata, mailtxt, mailbin, mailpack, mailhead, mailrec.
    REFRESH: mailtxt, mailbin, mailpack, mailhead, mailrec.
    Creation of the document to be sent File Name
    maildata-obj_name = 'TEST'.
    Mail Subject
    maildata-obj_descr = 'Subject'.
    Mail Contents
    mailtxt-line = 'Here is your file'.
    APPEND mailtxt.
    Prepare Packing List
    PERFORM prepare_packing_list.
    Set recipient - email address here!!!
    mailrec-receiver =  p_email1.
    mailrec-rec_type = 'U'.
    APPEND mailrec.
    Sending the document
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = maildata
    put_in_outbox = ' '
    TABLES
    packing_list = mailpack
    object_header = mailhead
    contents_bin = mailbin
    contents_txt = mailtxt
    receivers = mailrec
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    operation_no_authorization = 4
    OTHERS = 99.
    ENDFORM.
    Form PREPARE_PACKING_LIST
    FORM prepare_packing_list.
    CLEAR: mailpack, mailbin, mailhead.
    REFRESH: mailpack, mailbin, mailhead.
    DESCRIBE TABLE mailtxt LINES tab_lines.
    READ TABLE mailtxt INDEX tab_lines.
    maildata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( mailtxt ).
    Creation of the entry for the compressed document
    CLEAR mailpack-transf_bin.
    mailpack-head_start = 1.
    mailpack-head_num = 0.
    mailpack-body_start = 1.
    mailpack-body_num = tab_lines.
    mailpack-doc_type = 'RAW'.
    APPEND mailpack.
    Creation of the document attachment
    This form gets the OTF code from the SAPscript form.
    If you already have your OTF code, I believe that you may
    be able to skip this form. just do the following code, looping thru
    your SOLISTI1 and updating MAILBIN.
    PERFORM get_otf_code.
    LOOP AT solisti1.
    MOVE-CORRESPONDING solisti1 TO mailbin.
    APPEND mailbin.
    ENDLOOP.
    DESCRIBE TABLE mailbin LINES tab_lines.
    mailhead = 'TEST.OTF'.
    APPEND mailhead.
    Creation of the entry for the compressed attachment
    mailpack-transf_bin = 'X'.
    mailpack-head_start = 1.
    mailpack-head_num = 1.
    mailpack-body_start = 1.
    mailpack-body_num = tab_lines.
    mailpack-doc_type = 'OTF'.
    mailpack-obj_name = 'TEST'.
    mailpack-obj_descr = 'Subject'.
    mailpack-doc_size = tab_lines * 255.
    APPEND mailpack.
    ENDFORM.
    Form GET_OTF_CODE
    FORM get_otf_code.
    DATA: BEGIN OF otf OCCURS 0.
    INCLUDE STRUCTURE itcoo .
    DATA: END OF otf.
    DATA: itcpo LIKE itcpo.
    DATA: itcpp LIKE itcpp.
    CLEAR itcpo.
    itcpo-tdgetotf = 'X'.
    Start writing OTF code
    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
    form = 'Z2006FICSE'
    language = sy-langu
    options = itcpo
    dialog = ' '
    EXCEPTIONS
    OTHERS = 1.
    CALL FUNCTION 'START_FORM'
    EXCEPTIONS
    error_message = 01
    OTHERS = 02.
    CALL FUNCTION 'WRITE_FORM'
    EXPORTING
    window = 'MAIN'
    EXCEPTIONS
    error_message = 01
    OTHERS = 02.
    Close up Form and get OTF code
    CALL FUNCTION 'END_FORM'
    EXCEPTIONS
    error_message = 01
    OTHERS = 02.
    MOVE-CORRESPONDING itcpo TO itcpp.
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
    result = itcpp
    TABLES
    otfdata = otf
    EXCEPTIONS
    OTHERS = 1.
    Move OTF code to structure SOLI form email
    CLEAR solisti1. REFRESH solisti1.
    LOOP AT otf.
    solisti1-line = otf.
    APPEND solisti1.
    ENDLOOP.
    ENDFORM.
       Hope i can expect the feedback soon from you guys.
    Thanks,
    Rajendra.

  • Change in SAPScript form not reflect in old orders

    Hi Expert,
       I have modified the layout of a sales order SAPScript form. For newly created one, I can get the new sales order printed with new layout. But for those who already exists, even though I go to the sales order, Extra -> Output -> Header to delete the original output, and manually add the output type again, the printout are always shown with old layout. I just wonder how can I have my old sales order printed with the new layout, thanks!

    Kumar,
    Remove and add the query into the workbook again, save the work, close and reopen. You should get it working again.
    Workbook also saves the format details and does not work well sometimes. So every time you do any format changes to the query, it is advisable to remove and add back the query into the workbook.
    Hope it helps
    _RJA

  • PMW - Payment Advice - Sapscript Form

    Hi.
    I need help understanding and seting up payment advice for ACH and wire transfer using PMW.
    Can someone tell me where and how I need to set up/program to create payment advice after creating either ACH or
    wire transfer?  If possible, I want to use sapscript form (modified version of F110_IN_AVIS form) and email the form to the vendors.
    I can create payment advice using F110 w/ variant for checks using classic program, but can't figure out how to do that using PMW.
    Thanks in advance for your help.
    John

    Hi,
    You need to assign the form for Payment Advice in the FBZP t-code under Form data for Payment methods in Company Code. For PMW you use PMW Workbench and the Std. SAP program it uses for Payment Advice is RFFOAVIS_FPAYM. You need to set the print variant for this program to generate the Payment Advice and also this Variant has to be used in F110 printout/ data medium.
    Let me know if you need any more help.
    Thanks,
    Ashok

  • SAPSCRIPT FORMS and THEIR PROGRAMS

    When a production order is printed, a cove page is generated by a form ZPSFC_PRINT_LAY. ZPSFC_PRINT_LAY is designed to print necessary information regarding all operations, including base rate and etc. I modified ZPSFC_PRINT_LAY to include one more piece of information and now I am trying to modify its program that calls all the tables and has created the form itself. I am having difficulty in finding it. The form is not mentioned under nace. I also checked the TNAPR and it is not there. Where do I find a program for sapscript form ZPSFC_PRINT_LAY that is used for Production Order Cover Sheet? PLEASE HELP! THANKS!

    Hi,
    You can't find production order lay out sets link with print programs in TNAPR.
    Please use T/code : OPK8 to configure the Print Shop Papers .
    You have to assing your custom Print programs and sap scripts by using above transaction.
    Please go through the attached link this will show you the stp-by-step procedure how to attach shop floor papers:
    <a href="http://www.sap-basis-abap.com/sappp013.htm">Print Shop Papers - Configure new / existing SAP Printers</a>
    Regards,
    Lanka

  • SAPScript form coding changed automatically during transport

    Hi,
    I have developped  a SAPScript form in dev. and worked well.
    After I had transport it to testing environnment to test it there, I found out that my SAPScript coding
    was modified: some new lines code have been added replacing the original code while others have been just deleted.
    When I checked the attribute of the SAPScript, I notice that these modifications have been added automatically by user DDIC!
    I really do not understand how this could be.
    Any idea is welcome.
    Thanks,
    Charas

    Hi Charas,
    Note that SAPScripts are client specific, so make sure you import your script to each and every QA client. Inform your basis that the transport is not a cross client object. So, he will import to all the QA client.
    Or check with your Basis, to which QA client the transport has been imported to, go to SCC1 transcation code and copy it over to required QA client.
    I guess, above information will help you to close the thread.
    Regards,
    SaiRam

  • Dialog progam call sapscript form

    I wiould like to develop a dialog program which will generate a sapscript form. when i call start from, then popup the print dialog and click preview, then it nothing show on screen and return to dialog program. How can i display the sapscript form once click print preivew. thanks!

    <b>PROGRAM</b>
    CLASS lcl_grupo_atividade DEFINITION.
    ENDCLASS.
    CLASS lcl_grupo_atividade IMPLEMENTATION.
    ENDCLASS.
    START-OF-SELECTION.
      DATA obj TYPE REF TO lcl_grupo_atividade.
      CREATE OBJECT obj.
      CALL METHOD obj->main.
    FORM provide_main TABLES itab STRUCTURE itcsy
    ...........................................otab STRUCTURE itcsy.
      MOVE 'SS_TRANSACAO'    TO otab-name.
      MOVE obj->ss_transacao TO otab-value.
      MODIFY otab INDEX 1.
      MOVE 'SS_DESCRICAO'    TO otab-name.
      MOVE obj->ss_descricao TO otab-value.
      MODIFY otab INDEX 2.
    ENDFORM.
    <b>SAPSCRIPT:</b>
    /E   MAIN                                          
    /*   BOX FRAME 30 TW                               
    /:   PERFORM PROVIDE_MAIN IN PROGRAM ZPWTSOAC100   
    /:   CHANGING &SS_TRANSACAO&                       
    /:   CHANGING &SS_DESCRICAO&                       
    /:   ENDPERFORM                                    
    P2   ,,&ss_transacao&,,&ss_descricao&
    I code in this way, its works… but, I think that have a better way, because I had to use public variables and code a FORM outside of my class.
    What do you think? Do you think exist another way to do that?
    By the way, thanks for the help, I can’t find that without you.

  • Is there any api to modify the form field in PDF?

    Hi,
    Our client need we provide the editable PDF, i.e. some form fields in the PDF report can be edit. Now we created the PDF template and merged it with the XML data definition in Jdeveloper, but when we get the final PDF report, we found that the PDF form field property is changed to "Read-Only" automatically. We make sure that in PDF template the form field is not "Read-Only", something happened when we merging the XML data and the PDF template.
    Now we wonder if there is any API can help us to modify the PDF form field property, after we merge the XML data and PDF template, we can use it to change the form fields to editable, not "Read-Only".

    Hi,
    What I need is to modify some form fields' property, I explore some web and found before I create the PDF file, I can set the security of the PDF:
    Properties prop = new Properties();
    prop.put("pdf-security","true");
    prop.put("pdf-open-password","welcome");
    So I wonder if there is one property related to the PDF form field.
    Thank you.

Maybe you are looking for