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,
DebabrataHi 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,
ZahidHello
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 ?
amiami 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'
MadanHi,
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 KHi ,
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
AbbyHi
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 -
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,
EricHi 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,
SathishHi,
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
-
Since the latest update, most of my third party apps no longer work, none of my photo software, torrent programs, open office, NOTHING!! It is most frustrating - is there a way to 'downgrade' and go back to a previous version of the firmware, or am I
-
Hi, I jumped from 06 to 11 so faces is a new things for me. I tried to search for a way to re-run the face detection after matching 500+ photos. Is there a way to use existing database to work on the rest of the photos? Thanks in advance. Cheers,
-
Insufficiant for performing this operationwhen try to connect to the sharepoint site
Dears, I have an issue when i try to open the SharePoint site from the report builder to save the report or get the data source it gives :unable to open or save the file the permissions granted to the 'Nt Authority\Anonymous logon' are insufficient
-
Database access denied for MCT6 in Multisim 10 Student Edition
I am getting this error for a component that I was able to use over the last few days. The component is the MCT6 optocoupler. Luckily I had saved an older version of my circuit, or I would be screwed. I am using Multisim Student Edition Version 10.0
-
Making STMS update. Need to proceed with System testing.
Okay so we have a ChaRM Implementation Project (with Project cycle in Status of Development with Release). In that project we have about 80 normal changes. We have put a hold on creating 200+ other normal changes. We are ready to move those 80 normal