How to use   RLB_INVOICE standard print program

my program is copy of  RLB_INVOICE
when i press execute i m not getting any output
how can i see print preview by executing print program.

hi,
check this
REPORT  ZRE_SD_INVOICE.
*&      Form  ENTRY
      text
     -->P_ENT_RETCO   text
     -->P_ENT_SCREEN  text
FORM ENTRY  USING    P_ENT_RETCO
                     P_ENT_SCREEN.
  DATA: lf_formname TYPE TDSFNAME,
        lf_fm_name  TYPE RS38L_FNAM,
        g_adrnr LIKE ADRC-ADDRNUMBER.
                  TABLES DECLARATIONS                                *
  TABLES: NAST,                          "Messages
          *NAST,                         "Messages
          TNAPR,                         "Programs & Forms
          ITCPO,                         "Communicationarea for Spool
          ARC_PARAMS,                    "Archive parameters
          TOA_DARA,                      "Archive parameters
          ADDR_KEY,                      "Adressnumber for ADDRESS
          T005U ,                        "FOR RETRIVAL OF STATE
          ADRC .                         "FOR RETRIVAL OF ADDRESS
                  DATA DECLARATIONS                                  *
  DATA:   RETCODE   LIKE SY-SUBRC.         "Returncode
  DATA:   XSCREEN(1) TYPE C.               "Output on printer or screen
  DATA:   REPEAT(1) TYPE C.
DATA: NAST_ANZAL LIKE NAST-ANZAL.      "Number of outputs (Orig. + Cop.)
  DATA: NAST_TDARMOD LIKE NAST-TDARMOD.  "Archiving only one time
  DATA: GF_LANGUAGE LIKE SY-LANGU.
  DATA: L_FMNAME    TYPE   rs38l_fnam.
  data: CS_BIL_INVOICE  type  LBBIL_INVOICE.
  data: IS_PRINT_DATA_TO_READ type LBBIL_PRINT_DATA_TO_READ value
  'XXXXXXXXXXXXXXXXXXXXXXXX'.
  DATA: BILL_DOC_EXP    LIKE     VBCO3.
  DATA: BILL_DOC_IMP_H  LIKE     VBDKR.
  DATA: BILL_DOC_IMP_I  LIKE VBDPR OCCURS 0 WITH HEADER LINE.
  DATA: T_RC  LIKE ADRC OCCURS 0 WITH HEADER LINE.
  DATA: T_T00  LIKE T005U OCCURS 0 WITH HEADER LINE.
  DATA: L_WERKS LIKE J_1IEXCHDR-WERKS.
DATA: I_LIKP     LIKE     LIKP OCCURS 0 WITH HEADER LINE,
     I_VBAK     LIKE     VBAK OCCURS 0 WITH HEADER LINE,
     I_LIPS     LIKE     LIPS OCCURS 0 WITH HEADER LINE,
     I_VBKD     LIKE     VBKD OCCURS 0 WITH HEADER LINE,
     I_EIKP     LIKE     EIKP OCCURS 0 WITH HEADER LINE,
     I_MARC     LIKE     MARC OCCURS 0 WITH HEADER LINE,
     I_KNA1     LIKE     KNA1 OCCURS 0 WITH HEADER LINE,
     I_T604T     LIKE     T604T OCCURS 0 WITH HEADER LINE,
     I_KONV     LIKE     KONV OCCURS 0 WITH HEADER LINE,
     I_VBRK     LIKE     VBRK OCCURS 0 WITH HEADER LINE,
      I_VBRP     LIKE     VBRP OCCURS 0 WITH HEADER LINE.
     I_T685T     LIKE     T685T OCCURS 0 WITH HEADER LINE,
     I_KONV1     LIKE     KONV OCCURS 0 WITH HEADER LINE.
*types begin of t_vbrp.
*include structure vbrp.
*types grp_counter type i .
*types end of t_vbrp.
*data i_vbrp type standard table of t_vbrp with header line.
*NAST-OBJKY = BILL_DOC .
  DATA : inv_code LIKE vbak-vbeln.
  BILL_DOC_EXP-SPRAS = 'E'.
  BILL_DOC_EXP-VBELN = nast-objky(10).
  inv_code = nast-objky(10).
  SELECT SINGLE WERKS INTO L_WERKS FROM J_1IEXCHDR WHERE  RDOC =
inv_code.
select * from vbrp into table i_vbrp where vbeln = inv_code.
lf_formname = tnapr-sform.
IF L_WERKS = '2000'.
    tnapr-sform = 'ZSF_SD_INVOICE'.
ELSE.
   tnapr-sform = 'ZSD_FACTORY_EXCISE_INVOICE_PAT'.
ENDIF.
Read print data
  CALL FUNCTION 'LB_BIL_INV_OUTP_READ_PRTDATA'
    EXPORTING
      IF_BIL_NUMBER         = NAST-OBJKY
      IF_PARVW              = NAST-PARVW
      IF_PARNR              = NAST-PARNR
      IF_LANGUAGE           = NAST-SPRAS
      IS_PRINT_DATA_TO_READ = IS_PRINT_DATA_TO_READ
    IMPORTING
      ES_BIL_INVOICE        = CS_BIL_INVOICE
    EXCEPTIONS
      RECORDS_NOT_FOUND     = 1
      RECORDS_NOT_REQUESTED = 2
      OTHERS                = 3.
GET THE DATA RELATED TO THE BILLING DOCUMENT BASED ON THE BILLING
*DOCUMENT NUMBER
  CALL FUNCTION 'RV_BILLING_PRINT_VIEW'
    EXPORTING
      COMWA                              = BILL_DOC_EXP
   IMPORTING
     KOPF                               = BILL_DOC_IMP_H
    TABLES
      POS                                = BILL_DOC_IMP_I
EXCEPTIONS
  TERMS_OF_PAYMENT_NOT_IN_T052       = 1
  OTHERS                             = 2
  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 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      FORMNAME                 = tnapr-sform
    VARIANT                  = ' '
    DIRECT_CALL              = ' '
   IMPORTING
     FM_NAME                  = L_FMNAME
  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.
  CALL FUNCTION L_FMNAME
    EXPORTING
  ARCHIVE_INDEX              =
  ARCHIVE_INDEX_TAB          =
  ARCHIVE_PARAMETERS         =
  CONTROL_PARAMETERS         =
  MAIL_APPL_OBJ              =
  MAIL_RECIPIENT             =
  MAIL_SENDER                =
  OUTPUT_OPTIONS             =
  USER_SETTINGS              = 'X'
  ITAB_LANDX                 =
  ITAB_ZOLLA                 =
  ITAB_AZOLL                 =
  ITAB_KZGBE                 =
  ITAB_IEVER                 =
  ITAB_LADEL                 =
  ITAB_LANDX50               =
  ITAB_VTEXT                 =
  ITAB_EXPVZ                 =
  I_KZABE                    =
  NN_LINES                   =
  S                          =
  D                          =
  I_TOTAL                    =
  I_MAKTG                    =
  I_CAL_NET                  =
      IS_BIL_INVOICE             = CS_BIL_INVOICE
      IS_KOPF                    = BILL_DOC_IMP_H
  IS_NAST                    =
  IS_REPEAT                  =
IMPORTING
  DOCUMENT_OUTPUT_INFO       =
  JOB_OUTPUT_INFO            =
  JOB_OUTPUT_OPTIONS         =
    TABLES
   I_LIKP                     = I_LIKP
   I_VBAK                     = I_VBAK
   I_LIPS                     = I_LIPS
   I_VBKD                     = I_VBKD
   I_EIKP                     = I_EIKP
   I_MARC                     = I_MARC
   I_KNA1                     = I_KNA1
   I_T604T                    = I_T604T
   I_KONV                     = I_KONV
   I_VBRK                     = I_VBRK
     I_VBRP                     = I_VBRP
   I_T685T                    = I_T685T
   I_KONV1                    = I_KONV1
      IS_PO                      = BILL_DOC_IMP_I
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.                    "ENTRY
Regards
Santosh.

Similar Messages

  • How ca we copy standard print program of SMARTFORM?

    guyz...
    how can we copy standard print program of RLB_INVOICE of invoice SMARTFORM to a Z program in ECC 6.0???
    regards
    Zid.

    Hi,
    enter the program name in the SE38 editor
    click on copy button
    then it will ask you for the new name
    when ever you click on the copy transfer buton
    then it will raise a pop and saying that what ever you want from the program like
    1) INCLUDES
    2)SCREENS
    3)USER INTERFACES
    4)VARIANTS
    5) DOCUMANTATION
    ETC..
    hat ever you clcik on that check box
    Thanks.

  • Customer Statement using SAP Script and Standard print program RFKORD10

    Using sap script and standard print program RFKORD10 I need to create a customer statement where the main window will be as follows
    Invoice #     InvoiceDate  CustomerPO  Debit Amt  Credit Amt  Total
        6        7           8               9               10               11
        6        7           8               9               10               11
                                     Totals               12             13              14
    Where company code BKORM-KUKRS
                Invoice              BSID-BELNR
                Invoice date      BSID-BLDAT
                Customer PO    VBKD-BSTKD
    For each document number selected there will be one to many records in VBRP.  For each invoice item in VBRP:
    u2022     Select BSTKD from VBKD where
    o     VBELN = VBRP-VGBEL and
    o     POSNR = VBRP-VGPOS
    u2022     If no hits then select BSTKD from VBKD where
    o     VBELN = VBRP-VGBEL
    If there is more than one PO per invoice then list them in the Customer PO field without repeating the other fields.PO shouldnu2019t come more than once per invoice.
                 Debit Amt         if BSEG-SHKZG = S then WRBTR ELSE 0
                 Credit Amt        if BSEG-SHKZG = H then WRBTR ELSE 0
                 Total                  Debit Amt u2013 Credit Amt
                  Totals                Subtotals
    It will be of great help if some one can help me with the script and the alterations required in standard print program RFKORD10
    Points will b rewarded for sure.
    Thanks.

    Hi Suganya,
    The custom form is getting displayed properly. But the requirement is to have it as an editable PDF. So the functional team is working on configuring the settings of PDF forms with customers email address.
    But for right now, i customized the standard form F140_ACC_STAT_01 and standard print program RFKORD10_PDF and did the configuration. It is getting displayed (I tested only with the transaction FBL5N - customer open line items..)
    Please let me know any further details on this.
    Poornima

  • How to find standard print programs for ADOBE forms

    Hi All,
    My question is how to find the standard SAP print program for a SAP provided ADOBE form. For example - how to find what is the satndard SAP provided print program for the ADOBE form for payment advice 'F110_AVIS_INT'.
    As by default in the transaction F110 (where the payment advice form configuration is done), a SAP Script form is attached and the print program assigned is an SAP Script (as it contains call to function module like open_form, write_form... ) program and not an ADOBE print program.

    Hi Renu,
    I have gone through the link provided by you but it only shows a list of standard PDF forms.
    My question was how to find the standard SAP provided print program (or driver program which contains the data fetch logic and passing of the data to the interface of the ADOBE form) for these SAP provided ADOBE form.
    If SAP has provided standard ADOBE form then definitely they would also have provided the standard print program too ?
    @Srihari,
    The path system --> Status --> program SAPLFPUIFB is the standard program for the SFP transaction and not for the payment advice form F110_AVIS_INT.
    It will be same for all the ADOBE forms if we check in System --> Status --> Program.

  • How to call two smartforms with using a single print program

    Hi,
       I have a requirement wherein I need to call two smartforms using a single print program.
       The interface parameters are different in two smartforms.
       I presently solved the issue using the smartform names as the reference.
       Can anyone let me know if there is any other way to solve it.
       I heard something about global params. But not sure.
       Please let me know the best possible way to solve this issue.
    Thanks and Regards,
       Debabrata

    Hi Debabrata,
    Based on the condition in your print program you can call the below code
    fname1 TYPE rs38l_fnam.
    IF -
    call function 'SSF_FUNCTION_MODULE_NAME'
      exporting
        formname                 = 'ZSMARTFORMS'
    importing
       fm_name                  = fname1
    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 FNAME
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB      =
      ARCHIVE_PARAMETERS =
      CONTROL_PARAMETERS=
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT              =
      MAIL_SENDER                 =
      OUTPUT_OPTIONS           =
      USER_SETTINGS             = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO =
      JOB_OUTPUT_INFO             =
      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.
    ELSE.
    fname2 TYPE rs38l_fnam.
    call function 'SSF_FUNCTION_MODULE_NAME'
      exporting
        formname                 = 'ZSMARTFORMS'
    importing
       fm_name                  = fname2
    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 FNAME
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB      =
      ARCHIVE_PARAMETERS =
      CONTROL_PARAMETERS=
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT              =
      MAIL_SENDER                 =
      OUTPUT_OPTIONS           =
      USER_SETTINGS             = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO =
      JOB_OUTPUT_INFO             =
      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.
    ENDIF.

  • FI standard print program for invoice

    Hi,
    I want any standard print program and smartform avilable for Fi module to print invoice, like for example we have rlb_invoice in SD module.
    Thanks & regards,
    Sathish.

    Hi.
    Check this- /SAPDII/FINC_LIST
    Please search in Tcode: Smartforms , use F4, U will find all smartforms
    Regards
    Jana

  • Va32-standard print program, and smartform

    Hi experts,
    i need to find out the standard print program for va32 or va33. how to find out.
    i have a smartform /SMB40/SDSDA_L,,,,,for this one which print program i can use. is this one correct for for va32, ifany change is there,,,u can suggest me.

    Hi
    check the NACE tcode or in TNAPR table by entering the output type field
    You can use the driver program of SO:<b> /SMB40/RVADOR01</b> of Sales order to Sch Agreement also, use this
    script details for
    SALES ORDER/ENQUIRY/QUOTATION/SCH AGREEMENT/CONTRACT
    Output type         : BA00
    ScriptForm Name     : RVORDER01
    Driver Program Name : RVADOR01
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Help to know abt standard print program

    Hi,
    I am working in billing.In NACE,i went to V3-Billing and check inside the RD00.There in the processing routines some zprogram is there.
    Now i need to check out the print format of this,How to execute this and i also need to know which is the standard print program of invoice(billing)

    Hi Mahesh,
    1. You can take help from your functional consultant and ask him to create a Z Output type. The Application will be V3 (Billing) and Transm. Medium will be 1 -Printout or else you can try using the available Output type.
    Note that you can use TCODE V/40 to directly go to 'V3 - Billing Output'.
    2. Attach your Program and Smartform to this Output type.
    3. In VF02 give your billing document number. GOTO> HEADER>OUTPUT. Here you need to give your Output type to be used and save the document.
    4. Choose Billing Document --> Issue Output to. Here you will get the Message type as the Output type. Choose the Output type and print the document.
    Regards,

  • Standard smartform name and standard print program name for Sales Quotation

    Hi,
    I would like to know the standard smartform name and standard print program name which can be used for sales quotation through transaction VA23.
    For eg: The standard output type for billing document (For T code VF03) is RD00 and it' smartform name is LB_BIL_INVOICE. It's print program name is RLB_INVOICE.
    Similarly, I would like to know the standard smartform name and standard print program name for AN00 output type which is used for sales quotation. .
    Regards,
    Zahid

    Hello
    std driver prgram is /SMB40/RVADOR01
    form entry is ENTRY
    std smartforms is /SMB40/SDQUO_A an du can check this the in NACE tcode.
    Output Type     AN00          Quotation
    Application     V1            Sales
       Program                   /SMB40/RVADOR01
       Form Routine              ENTRY
       Form                      RVORDER01
       PDF/Smartform Form        /SMB40/SDQUO_A                 
    Thank u,
    santhosh

  • How can i find the printing program?

    hi
    i have sap script how can i find the printing program ?
    ami

    ami bardogo wrote:
    hi
    what is the different between the commands 'break' and 'break-point'
    thanks,
    ami
      h2 Breakpoints  h2
    Apart from being able to execute an ABAP program in the Debugger, you can also start the Debugger call by the choosing a breakpoint. This is achieved by setting one or more of these breakpoints in the program. A breakpoint is a signal at a particular point in the program that tells the ABAP runtime processor to interrupt processing and start the Debugger. The Debugger is activated when the program reaches this point.
    There is also a special kind of breakpoint called a watchpoint. When you use watchpoints, the Debugger is not activated until the contents of a particular field change. For more information, refer to the chapter Watchpoints.
    Breakpoint Variants
    The Debugger contains different breakpoint variants:
    Static
    A user-specific breakpoint is inserted in the source code as an ABAP statement using the keyword BREAK-POINT. A non user-specific breakpoint is set in the ABAP Editor using the BREAK user name statement.
    Directly set
    dynamic breakpoints
    Can be set in the ABAP Editor or the Debugger by double-clicking a line, for example. Dynamic breakpoints are always user-specific, and are deleted when you log off from the R/3 System.
    Breakpoints
    at statements
    The Debugger stops the program immediately before the specified statement is executed.
    Breakpoints
    at subroutines
    The Debugger stops the program immediately before the specified subroutine is called.
    Breakpoints at function modules
    The Debugger stops the program immediately before the specified function module is called.
    Breakpoints at methods
    The Debugger stops the program immediately before the specified method is called.
    Breakpoints at exceptions and system exceptions
    The Debugger stops the program immediately after a system exception, that is, after a runtime error has been intercepted.
    Static Breakpoints
    Static breakpoints are always user-independent if there is no specification of a user name. Once a user has inserted the statement BREAK-POINT or BREAK name in an ABAP program, the system always interrupts the program at that point for that user or only for the user name. This procedure is only useful in the development phase of an application when program execution is always to be interrupted at the same place. For more information, refer to the chapter Static Breakpoints.
    In HTTP sessions, a static breakpoint is skipped if you did not set additional dynamic HTTP breakpoints in the editor of a BSP page. Instead, a corresponding system log entry is written, which can be checked using transaction SM21.
    Dynamic Breakpoints
    Dynamic breakpoints are user-specific. Therefore, you should use them if you only want the program to be interrupted when you run it yourself, not when it is being executed by other users. All dynamic breakpoints are deleted when you log off from the R/3 System.
    Dynamic breakpoints are more flexible than static breakpoints because you can deactivate or delete them at runtime. They have the following advantages:
    ·        You do not have to change the program code.
    ·        You can set them even when the program is locked by another programmer.
    ·        You can define a counter that only activates the breakpoint after it has been reached.
    Special dynamic breakpoints are useful when you want to interrupt a program directly before a particular ABAP statement, a subroutine, or an event, but do not know exactly where to find it in the source code. Event here is used to refer to the occurrence of a particular statement, for example, or calling up a method. Special dynamic breakpoints are user-specific. You can only set them in the Debugger. For more information, refer to the chapter Dynamic Breakpoints.
    In HTTP sessions, the system stops both at static and dynamic breakpoints if a dynamic breakpoint was set in the editor of a BSP page before program execution.
    Lifetime and Transfer of Breakpoints
    A static breakpoint remains intact as long as the BREAK-POINT or BREAK-POINT name statement is not removed from the source code. Without saving, dynamic breakpoints only remain intact in the relevant internal session. However, they remain in effect during the entire user session if they are saved by choosing the menu path Breakpoints ® Save in the ABAP Debugger. For more details on the subject of user sessions and modes, refer to Modularization Techniques in the ABAP keyword documentation.
    If you call an HTTP session during a user session, only the HTTP breakpoints are loaded when the HTTP session is started. You activate HTTP debugging in the ABAP Editor by choosing Utilities ® Settings ® HTTP Debugging. Depending on the setting, the system then displays either the HTTP or standard breakpoints in the Editor.
    If you call an update session during a user session, breakpoints that were defined beforehand in the calling processing unit are copied to the new update session, where they can be displayed under Breakpoints. If, in the ABAP Debugger, you check Update Debugging  under Settings and then, for example, call the update module func using CALL FUNCTION func IN UPDATE TASK, a new window is opened in which you can debug this function module in the update session. All the breakpoints that were set in the calling processing unit can also be processed here.
    For further information on special breakpoints, refer to:
    Breakpoints at Statements
    Breakpoints at Subroutines
    Breakpoints at Function Module Calls
    Breakpoints at Methods
    Breakpoints at System Exceptions
    h2 page  break h2
    WINDOW TYPES
    When defining a layout set window, you must select a window type for the window. You can choose between three types:
    • Constant windows (CONST)
    • Variable windows (VAR)
    • Main windows (MAIN)
    CONSTANT WINDOW
    A window of type CONST has the same contents and size on all layout set pages, on which a corresponding page window is defined. This allows the processing of the window contents to be optimized internally.
    Page windows whose allocated window is of type CONST must have the same size throughout the layout set. If a window of type CONST is full, all remaining text the application program wants to output in this window, is lost. Constant windows do not trigger a page break. In other words: all text exceeding the window size is simply truncated.
    VARIABLE WINDOW
    The contents of variable windows is processed again for each page, on which the window appears. The system outputs only as much text as fits into the window. Text exceeding the window size is truncated; the system does not trigger a page break. Unlike constant windows, the page windows declared as variable windows may have different sizes on different layout set pages.
    As far as the processing of the window contents is concerned, the system currently treats constant and variable windows alike. The only difference is that constant windows have the same size throughout the layout set.
    MAIN WINDOW
    Each layout set must have one window of type MAIN. Such a window is called the main window of the layout set. For SAPscript layout sets, the main window has a central meaning:
    • It controls the page break.
    • It contains the text body that may cover several pages.
    • It allows to fix text elements at the upper and lower margins of the allocated page window (for example, for column headings).
    As soon as a window of type MAIN is full, SAPscript automatically triggers a page break and continues to output the remaining text in the main window of the subsequent page. Page windows of type MAIN have the same width throughout the layout set. The SAPscript composer thus avoids reformatting of the text after each page break.
    If a page does not have a main window, the system implicitly processes all other windows of the page and continues with the subsequent page. This page must not call itself as subsequent page (recursive call), since this would produce an endless loop. In such a case, SAPscript terminates the output after three subsequent pages.
    HOW THE COMPOSER WORKS
    The composer or layout set processor is the central formatting module for the print output. It prepares the texts for the different output devices by using the allocated styles or layout sets.
    Processing a layout set happens in a certain order. You must know some facts concerning the different window types, the setting of subsequent pages, or the dynamic control from within the print program.
    Page control in layout sets
    Define subsequent page statically
    Define subsequent page dynamically
    Format a layout set page
    PAGE CONTROL IN LAYOUT SETS
    SAPscript automatically triggers a page break as soon as the main window of one page is full. To be able to execute the page break, the system must know on which subsequent page to continue outputting the text. You can specify the subsequent page either statically when defining the layout set, or you can set the subsequent page dynamically during layout set output.
    If the subsequent page is not specified, SAPscript automatically terminates printing, thereby ignoring any other output statements of the application program.
    DEFINE SUBSEQUENT PAGE STATICALLY
    You define the subsequent page statically with the layout set maintenance transaction. First, specify the start page in the layout set header. The system automatically calls this page whenever the layout set is started. With this page, or, more correctly, with the page window of this page, the text output starts. For each page, specify the subsequent page in the page definition. After a page break, the system continues text output on the subsequent page defined for the last page. By specifying start page and subsequent pages, you can define a page sequence.
    DEFINE SUBSEQUENT PAGE DYNAMICALLY
    The page sequence set in the layout set definition can be changed by the application program dynamically at runtime. If you want the layout set to start with a page other than the one defined in the layout set header, specify the desired start page using the parameter STARTPAGE when you call the function module START_FORM. However, this new start page is valid only for the current call of the function module.
    If you want to break to a subsequent page other than the one specified in the page definition, use the control statement NEW-PAGE to set the name of the new page.
    NEW-PAGE .
    NEW-PAGE ends the output on the current page. The new subsequent page is only valid for the current call of the control statement. You can either include the control statement explicitly into the text of a text element or pass it to the layout set output using the function module CONTROL_FORM.
    FORMAT LAYOUT SET PAGE
    The process of formatting the output is controlled by the text contents in the BODY area of the main window. If the main window is completely filled, or if the control statement NEW-PAGE appears in the main window, the system executes a page break. Only at this point in time the system formats the contents of the windows of the other types and replaces the variables with the current values.
    For each other window, the system first outputs the default text element, if it exists. Then it processes and formats the list of the active text elements of this window, which you set using the function module WRITE_FORM with the parameter FUNCTION (SET, APPEND, DELETE). Any text that does not fit into the page window is truncated.
    As a consequence to this processing order of the composer, the reservation of space for the TOP and BOTTOM areas must be made beforehand. If the BODY area of the main window already contains text, a new text output to the TOP area does not appear on the current page but on the subsequent page in the TOP area. The same applies for the BOTTOM area. If the BODY area is filled to such an extend that the new BOTTOM text no longer fits into the current main window, this text appears on the subsequent page in the BOTTOM area.
    A frequent error in application programs is that for the subsequent page (for example, NEXT) of a layout set no main window is defined. If the formatted text of the previous page did not fit into the corresponding main window , the composer searches the subsequent pages for a main window to output the text remainder. However, if the subsequent page of NEXT is NEXT again, the composer encounters an endless loop.
    To be able to create correct page breaks in longer text, you should define a main window on each layout set page.
    LAYOUT SET CONTROL
    To output SAPscript layout sets, in the print program you must always start the output with OPEN_FORM and end it with CLOSE_FORM. The function module OPEN_FORM initializes the SAPscript composer and opens the specified layout set for subsequent output. The system combines all output for this layout set up to the CLOSE_FORM to one print request. If CLOSE_FORM is missing, nothing will be printed.
    To output data in a layout set, you must use the SAPscript function modules WRITE_FORM, WRITE_FORM_LINES, and CONTROL_FORM. You can use these function modules any number of times in any order between opening and closing a layout set.
    You cannot use the ABAP/4 statement WRITE to write output to a SAPscript layout set.
    Several print requests
    Start a layout set again
    Switch layout sets
    Find layout sets
    SEVERAL PRINT REQUESTS
    Within one transaction, you can open and close several layout sets using OPEN_FORM and CLOSE_FORM, however not simultaneously. You can use parameters in the OPEN_FORM to control whether the output is stored in the same print request. But also the SAP spool decides, depending on several plausibility checks, whether new output is appended to an existing print request or whether to create a new print request anyway.
    CALL FUNCTION 'OPEN_FORM'
    CALL FUNCTION 'CLOSE_FORM'
    CALL FUNCTION 'OPEN_FORM'
    CALL FUNCTION 'CLOSE_FORM'
    You cannot combine ABAP/4 list output and SAPscript output in one print request.
    START A LAYOUT SET AGAIN
    Usually a print program does not print only one urging letter or one account statement, but several layout sets for different customers. To have the output for each customer begin with the start page of the layout set, you must start the current layout set again and again.
    To start a layout set again, you must first end the current layout set and then open the layout set again. Within one print request, first call the function module END_FORM. It executes the final processing for the current layout set. Then start the layout set again using START_FORM. Output then begins again on the start page of the desired layout set.
    CALL FUNCTION 'OPEN_FORM'
    CALL FUNCTION 'START_FORM'
    CALL FUNCTION 'END_FORM'
    CALL FUNCTION 'START_FORM'
    CALL FUNCTION 'END_FORM'
    CALL FUNCTION CLOSE_FORM
    If you use START_FORM and END_FORM, you must not specify a layout set for OPEN_FORM. However, in this case you can use the SAPscript output functions only after opening a layout set with START_FORM.

  • Use of Standard Batch Programs - RFBIBL00 and RFBIBL01

    Dear All,
    I am facing issues while using the standard batch program
    RFBIBL00 which in turn triggers RFBIBL01 for creating batch session.
    I understand that there are 3 structures BGR00, BBKPF and BBSEG which needs to be populated.
    I also understand that this program reads data from file on application server.
    I want to understand whether the above batch program can be used for
    1. To Create Batch Session ?
    2. To Call Transaction ?
    Please explain the steps in detail, for both these processes.
    I am calling transaction F-22 to post invoices.
    Please exlpain in detail on how to go about this.
    Warm Regards'
    Madan

    Hi,
    Thank you for the information.
    I have already populated the strucutres BGR00 and BBKPF.
    I am facing issues while populating data for BBSEG.(item leve data)
    Can u pls tell me how exactly i can populate these structures and where exactly to do so ?
    Please explain me the process of populating the header and item level data structures.
    Appreciate all the help from your end.
    Once again thanks for ur time and information.
    Madan

  • Standrad smartform and standard print program not available in ECC 6.0

    Hi gurus,
    I have a requirement like, I need to change the logo of the standrad smartform based on the company code.
    The standard smartform name is '/SMBUSE/US_MMGR3'.
    I have searched for the above form in ECC 6.0 and could not find one.
    is the issue because of installation or configuration?
    Please let me know what need to be installed or configured. so that I can give directions to the respective basis / functional guys.
    please let me know the standard print program for the above smartform and how can I find the same.
    Thanks & Regards
    Kiran Kumar K

    Hi ,
    No standard smartform's were available because SAP Best Practises was not installed in the system.
    If standard smarforms are not installed then in this case we need to need to download the forms and upload them in our system.
    We need to copy paste the standard print program's as well.
    Thanks & Regards,
    Kiran Kumar K

  • Standard print program for Adobe Forms

    Hi all -
    Does anyone know if there was a standard print program delivered for the predelivered Adobe form F110_AVIS_INT?  And if there is - what is it?  Is there any document anywhere to determine predelivered print programs for Adobe forms?
    Your help is much appreciated!
    Thanks
    Abby

    Hi
    In SAP you can check for the Print Programs in Tcode <b>OB96</b>
    which gives assignment of programs to script layouts
    see the links related to Adobe forms
    look at the Adobe page here in SDN:
    https://www.sdn.sap.com/sdn/developerareas/was.sdn?page=AdobeForms.htm
    Check these links on Adobe forms
    http://help.sap.com/saphelp_nw04/helpdata/en/1e/05853ff8ec2c17e10000000a114084/content.htm
    https://www.sdn.sap.com/irj/sdn/interactiveforms
    http://www.sap.com/solutions/solutionextensions/pdf/BWP_Interactive_Forms_Adobe.pdf
    It contains lots of useful information, documentation, and e-learning materials teaching you the basics.
    Reward points for useful Answers
    Regards
    Anji

  • PO standard print program

    Hi experts,
    I have a requirement where we will dsiplay the PO output in different layout(landscape orientation, all items shown in one line only, additional info to be displayed). Now, the functional designer requires us to use the sap standard print program and sapscript for PO because they said it will require less development time. So basically we have to copy the standard program and sapscript to fulfill the requirements. But is it really easier to do the enhancemments required in sapscript than by using smartforms? I am more familiar with smartforms so I don't know if it will be easier to change the layout using a copied standard sapscript and print program.
    Please let me know your thoughts. POints wil be rewarded.
    Thanks,
    Eric

    Hi eric,
              The entire scenario is depends upon the requirement and the main thing is in which version ur working in to.
    If it is ECC 6.0 I would suggest you to go for smartforms the reason is script has got already migrated and for future modifications also smartforms are easier compare to script as well.
    In future anticipations if you have to make some changes if it's not available in script the entire thing will get messed up.
    More to that considering the system point of view the execution of smartforms in much effective than script .
    My point is if there is not major changes only kocking off certain fields and no no need to add anyting new means u can go for script else better go with the smartforms.
    Thanks and Regards,
    Arun joseph

  • Standard print program for fi invoice smartform printing

    Hi friend,
    Is there any standard print program available for printing FI related invoice .
    I want print program for printing smartforms.
    I want to know any method for searching the standard print program for printing smartform in Fi module.
    Thanks & Regards,
    Sathish

    Hi,
    FI related Forms will be configure in SPRO.
    Goto SPRO and FI related applivcation.
    There you will find the related forms and programs.

Maybe you are looking for