How can i know if submir program is finished
Hello experts,
I have a program that use SAP program in submit mode:
SUBMIT RSBDC_PROTOCOL
WITH SESSION = 'MB_MI01' " Session name
WITH FROM_DAT = SY-DATUM
WITH TO_DAT = SY-DATUM
WITH USER = SY-UNAME
WITH QUEUE_ID = ' '
WITH COUNTOLG = 0
AND RETURN.
the problem is that i need to create log for the batch inputs that created by this submit program, but i dont know when it's done.
so now i got partial log.
Regards,
Ronen Ravansari.
Hello David,
first of all thank you for your quick response.
I thoght about the parallel run.
lets say that i'll wrap the command
SUBMIT RSBDC_PROTOCOL
via selection-screen
WITH SESSION = 'MB_MI01' " Session name
WITH FROM_DAT = SY-DATUM
WITH TO_DAT = SY-DATUM
WITH USER = SY-UNAME
WITH QUEUE_ID = ' '
WITH COUNTOLG = 0
AND RETURN.
with RFC function.
I wonder if the submit program will return to the function before it's done?
if it is, so ther is no gain here.
Regards,
Ronen.
Similar Messages
-
I wanted to uninstall a program so I put it to the trash but I want to know if the program left some file or folder somewhere so I can completely eliminate.
Thanks.Any program that simply requires you to drag it to the applications folder to install, can be uninstalled by simply deleting it. If an application goes through an "install process", it more than likely needs an uninstaller to be uninstalled completely.
-
How can we know the return code of BDC Program ?
Hi All,
Please tell me : How can we know the return code of BDC Program when being exceuted in Session or in Transaction mode.
In my program, we are uploading data from Excel sheet to SAP via BDC
The records that are not updated we want to create a log file.
Now to know whether a record is updated ot not, wat syst field shloud be used?
Its urgent....
<b>Reward Point will be there ....</b>
Thanks,
HarishHi harish,
try the logic in this code ...
i had attached input file in the end.
TYPES: begin of errmess,
msgnr type t100-msgnr,
text type t100-text,
end of errmess.
TABLES : t100.
DATA: BEGIN OF DD_VA01,
AUART TYPE VBAK-AUART,
KUNNR TYPE RV45A-KUNNR,
BSTKD TYPE VBKD-BSTKD,
MABNR TYPE RV45A-MABNR,
KWMENG(2) type C,
KBETR(2) type C,
END OF DD_VA01.
DATA:IT_VA01 Like TABLE OF DD_VA01,
WA_VA01 Like LINE OF IT_VA01,
WA_VA01_F Like LINE OF IT_VA01,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA Like Line OF IT_BDCDATA,
W_FNAME TYPE STRING,
messtab like bdcmsgcoll occurs 0 with header line,
it_errmess type table of errmess,
wa_errmess like line of it_errmess,
err_message type string.
data: zf1 type i,
zc1 type c value '2',
fn(20) type c.
Main Code ************************************************************
PERFORM get_input using 'C:\Documents and Settings\ic881592\Desktop\Daran_bdc_VA01-e.txt'.
SORT IT_VA01 BY AUART KUNNR BSTKD.
LOOP AT IT_VA01 INTO WA_VA01.
if WA_VA01_F-AUART <> WA_VA01-AUART OR
WA_VA01_F-KUNNR <> WA_VA01-KUNNR OR
WA_VA01_F-BSTKD <> WA_VA01-BSTKD.
PERFORM set_header_flag.
PERFORM create_bdc_header_data.
endif.
PERFORM create_bdc_item_data.
ENDLOOP.
PERFORM call_transaction.
PERFORM errorlog.
Procedures ***********************************************************
form get_input using w_fname.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = W_FNAME
HAS_FIELD_SEPARATOR = '#'
TABLES
DATA_TAB = IT_VA01.
endform.
form call_transaction.
PERFORM bdc_field using 'BDC_OKCODE' '/11'.
CALL TRANSACTION 'VA01' USING IT_BDCDATA MODE 'A' messages into messtab.
refresh it_bdcdata.
endform.
FORM set_header_flag.
WA_VA01_F-AUART = WA_VA01-AUART.
WA_VA01_F-KUNNR = WA_VA01-KUNNR.
WA_VA01_F-BSTKD = WA_VA01-BSTKD.
if zf1 = 1.
PERFORM call_transaction.
endif.
zf1 = 1.
endform. "set_header_flag.
form create_bdc_header_data.
perform bdc_dynpro using 'SAPMV45A' '0101'.
perform bdc_field using 'VBAK-AUART' WA_VA01-AUART.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'KUAGV-KUNNR' WA_VA01-KUNNR.
perform bdc_field using 'VBKD-BSTKD' WA_VA01-BSTKD.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_dynpro using 'SAPMSSY0' '0120'.
perform bdc_field using 'BDC_CURSOR' '04/06'.
perform bdc_field using 'BDC_OKCODE' '=CHOO'.
perform bdc_dynpro using 'SAPMV45A' '4001'.
PERFORM bdc_field USING 'BDC_OKCODE' '=POAN'.
endform. "create_bdcdata
FORM create_bdc_item_data.
CONCATENATE 'RV45A-KWMENG(' zc1 ')' INTO FN.
perform bdc_field using 'BDC_CURSOR' FN.
perform bdc_field using FN WA_VA01-KWMENG.
CONCATENATE 'KOMV-KBETR(' zc1 ')' INTO FN.
perform bdc_field using FN WA_VA01-KBETR.
CONCATENATE 'RV45A-MABNR(' zc1 ')' INTO FN.
perform bdc_field using FN WA_VA01-MABNR.
perform bdc_dynpro using 'SAPMV45A' '4001'.
PERFORM bdc_field USING 'BDC_OKCODE' '=POAN'.
ENDFORM.
form errorlog.
LOOP AT MESSTAB .
if MESSTAB-MSGNR = '311' or MESSTAB-MSGTYP = 'E'.
SELECT SINGLE msgnr text FROM T100
into wa_errmess
WHERE SPRSL = MESSTAB-MSGSPRA
AND ARBGB = MESSTAB-MSGID
AND MSGNR = MESSTAB-MSGNR.
IF SY-SUBRC = 0.
err_message = wa_errmess-TEXT.
IF err_message CS '&1'.
REPLACE '&1' WITH MESSTAB-MSGV1 INTO err_message.
REPLACE '&2' WITH MESSTAB-MSGV2 INTO err_message.
REPLACE '&3' WITH MESSTAB-MSGV3 INTO err_message.
REPLACE '&4' WITH MESSTAB-MSGV4 INTO err_message.
ELSE.
REPLACE '&' WITH MESSTAB-MSGV1 INTO err_message.
REPLACE '&' WITH MESSTAB-MSGV2 INTO err_message.
REPLACE '&' WITH MESSTAB-MSGV3 INTO err_message.
REPLACE '&' WITH MESSTAB-MSGV4 INTO err_message.
ENDIF.
CONDENSE err_message.
WRITE: / MESSTAB-MSGTYP, err_message .
ELSE.
WRITE: / MESSTAB.
ENDIF.
endif.
ENDLOOP.
endform. "errorlog
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO IT_BDCDATA.
CLEAR WA_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING FNAM FVAL.
WA_BDCDATA-FNAM = FNAM.
WA_BDCDATA-FVAL = FVAL.
APPEND WA_BDCDATA TO IT_BDCDATA.
CLEAR WA_BDCDATA.
ENDFORM.
input file :
OR 2148 0001235 R-1162 8 17
OR 2148 0001235 R-1161 2 30
OR 2148 0001235 100-400 6 25
OR 2148 0001235 R-1162 4 12
OR 2148 0001236 R-1162 3 12
OR 2148 0001236 R-1161 2 30
OR 2148 0001236 100-400 1 25
OR 2148 0001236 R-1162 7 12
OR 2148 0001236 R-1161 8 30
OR 2148 0001236 100-400 10 25
OR 2148 0001235 R-1161 5 30
OR 2148 0001235 100-400 2 25
OR 2148 0001235 R-11621 3 12
OR 2148 0001235 R-1161 2 30
OR 2148 0001235 100-400 1 25
OR 2148 0001235 R-1162 7 12
OR 2148 0001235 R-1161 8 30
OR 2148 0001235 100-400 10 25
OR 2148 0001236 R-1162 8 17
OR 2148 0001236 R-1161 2 30
OR 2148 0001236 100-400 6 25
OR 2148 0001236 R-1162 4 12
OR 2148 0001236 R-1161 5 30
OR 2148 0001236 100-400 2 25 -
How can i know the size of client
hi
how can i know the size of client ?
SAP ECC6
OS AIX 5.2
DB ORACLE10g
regards
KaranHi,
1)Test run normal client copy .
=DDt will give the size.
2)There is SAP note for Client size analyse.
Here is 118823
3)run program YSTABSIZ.
Regards,
Muralidhar -
How can I know the size of DB Table
Hi, Guys,
1. How can I know the size of the DB Table in terms of kb
2. If I delete some records from the Table, does the actual size of the Table remains same or will it be reduced.
3. If size remains same after deletion, how to reduce the size ( i.e. occupied space).
thanks
MaheshHi
1. How can I know the size of the DB Table in terms of kb
There is no precise method/tcode/program to know the Table size of a tables.
Just based on the record size of a table(say for example 2kb), and if 200 records are there then, we roughly assume that it occupied 400 kb.
All the tables are stored in Table spaces.
2. If I delete some records from the Table, does the actual size of the Table remains same or will it be reduced.
Time being it remains same. it won't get reduced immediately
during some next DB reorganisation it gets reorganised by reducing it.
3. If size remains same after deletion, how to reduce the size ( i.e. occupied space).
during next DB reorganisation it gets reorganised by reducing it.
Reward points if useful
Regards
Anji -
How do I know games and programs that become free?
I want to know the programs and games that become free first firstYou are allowed to have two activated installations so there should not be a problem having working installations on the two machines. If by chance you have somehow tied up two activations for the one machine you can have Adobe support help resolve that thru chat.
Serial number and activation chat support (non-CC)
http://helpx.adobe.com/x-productkb/global/service1.html ( http://adobe.ly/1aYjbSC ) -
How can I know the right component for a transaction?
Hi, I have a question
When creating a new message in Solution Manager, notif_create, how can I know the right component given the transaction code or program name?
Thanks in advance
Edited by: María Valdés on Aug 19, 2008 6:25 PMHello Maria,
Well, in the Support Message window, place the cursor in Component box and press F4. This will brings up another window which contains the components list to which you are authorized. From that list you can choose about which component you want to create that particular support message.
For example, if you are from Quality department, the following can be visible when you press F4.
QM - Quality Management
-- QM-ADB Adobe Forms
-- QM-ADB-PRN Print Forms
For the Print Forms, the component will be QM-ADB-PRN
I hope it helps.
Cheers,
Satish. -
How can I know records is committed or un-committed
Hi Guys
Insert one record into DB without issue commit immediately, At same session,Another segment program,Using SQL or PL/SQL, How can I know records is committed or un-committed
Thanks
Pan
Edited by: Pan.Tian on May 31, 2012 8:45 PMA session can never see another session's uncommitted rows. Oracle provides read consistency. This basically means that when your session starts to read data, at time1, Oracle provides you with "the truth" (committed rows) as it exists, at time1. Let's call this version 20 of the data.
Another session can change data. Commit. It can create new versions of the data. However, this does not impact what your session reads. It sees the rows as they were at time1 when your session started to read them. Your session reads version 20, irrespective if whether version 25 is currently the latest version of the data.
So there are no dirty reads in Oracle - and no way for your session to see the dirty and uncommitted data of another session. Or vice versa.
Of course, if you make changes in your session, then your session will see those uncommitted changes.
Read up on Multi-Version Concurrency Control (MVCC) and Multiversion Read Consistency (Oracle® Database Concepts guide). -
How can I uninstall the cc programs I don't use without uninstalling the ones I need and the cs6 versions?
Creative Cloud Help | Install, update, or uninstall apps is the official Adobe link... I do NOT know if you may select individual programs
-
NMI_HARDWARE_FAILURE (80) - how can I know if my driver caused this BSOD
hi,
I got NMI_HARDWARE_FAILURE (80) BSOD when my driver wad loaded and runnig.
how can I know if this BSOD caused from my driver or not? I don't see my driver on the stack in the memory dump.
adding the windbg !analyze -v:
2: kd> !analyze -v
* Bugcheck Analysis
NMI_HARDWARE_FAILURE (80)
This is typically due to a hardware malfunction. The hardware supplier should
be called.
Arguments:
Arg1: 00000000004f4454
Arg2: 0000000000000000
Arg3: 0000000000000000
Arg4: 0000000000000000
Debugging Details:
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
BUGCHECK_STR: 0x80
PROCESS_NAME: System
CURRENT_IRQL: f
ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) amd64fre
LAST_CONTROL_TRANSFER: from fffff802bbdc4c42 to fffff802bb75c0a0
STACK_TEXT:
ffffd000`2064bd08 fffff802`bbdc4c42 : 00000000`00000080 00000000`004f4454 00000000`00000000 00000000`00000000 : nt!KeBugCheckEx
ffffd000`2064bd10 fffff802`bb7c7401 : 00000000`00000001 fffff802`bbdd48f0 fffff802`bbdd48f0 ffffe000`012b7038 : hal!HalBugCheckSystem+0x7e
ffffd000`2064bd50 fffff802`bbdc5bcd : ffffd000`000006c0 ffffd000`2064bf3c 00000000`00000001 00000000`00000000 : nt!WheaReportHwError+0x22d
ffffd000`2064bdb0 fffff802`bb7e8e90 : ffffd000`2064bf70 00000000`00000001 00000000`00000000 fffff802`bb7e98f3 : hal!HalHandleNMI+0xfe
ffffd000`2064bde0 fffff802`bb7655c2 : ffffd000`20640180 ffffd000`2064bff0 00000000`00000000 00000000`00000000 : nt!KiProcessNMI+0x150
ffffd000`2064be30 fffff802`bb765436 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KxNmiInterrupt+0x82
ffffd000`2064bf70 fffff802`bb762300 : fffff802`bb75fbc2 00000000`00000010 00000000`00000286 ffffd000`20c8db60 : nt!KiNmiInterrupt+0x176
ffffd000`20c8db38 fffff802`bb75fbc2 : ffffd000`20640180 ffffd000`20640180 ffffd000`2064c100 00000000`00000000 : nt!KiIpiInterrupt
ffffd000`20c8db60 00000000`00000000 : ffffd000`20c8e000 ffffd000`20c87000 00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x32
STACK_COMMAND: kb
FOLLOWUP_IP:
nt!WheaReportHwError+22d
fffff802`bb7c7401 eb70 jmp nt!WheaReportHwError+0x29f (fffff802`bb7c7473)
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!WheaReportHwError+22d
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 5215d156
IMAGE_VERSION: 6.3.9600.16384
BUCKET_ID_FUNC_OFFSET: 22d
FAILURE_BUCKET_ID: 0x80_nt!WheaReportHwError
BUCKET_ID: 0x80_nt!WheaReportHwError
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:0x80_nt!wheareporthwerror
FAILURE_ID_HASH: {d5f8e3c5-00d9-a505-9cff-8d968ebc3f39}
Followup: MachineOwner
any help would very appreciated!My device is really PCI device, but my target computer is 64bit-based, so I cannot use the !pci extention command. so I tried the !pcitree command and identified my device, then I typed !devext with my device extention address and that I got:
!devext 0xffffe00000f8d1b0
PDO Extension, Bus ..., Device ..., Function ....
DevObj 0xffffe00000f8d060 Parent FDO DevExt 0xffffe00000f8a7f0
Device State = PciStarted
Vendor ID ... Device ID ...
Subsystem Vendor ID ... Subsystem ID ...
Header Type 0, Class Base/Sub 00/00 (Pre PCI 2.0/Pre PCI 2.0 Non-VGA Device)
Programming Interface: 00, Revision: 01, IntPin: 01, RawLine 14
Possible Decodes ((cmd & 7) = 7): BMI
Capabilities: Ptr=80, power
Logical Device Power State: D0
Device Wake Level: Unspecified
WaitWakeIrp: <none>
Requirements: Alignment Length Minimum Maximum
BAR0 Mem: 00001000 00001000 0000000000000000 ffffffffffffffff
Resources: Start Length
BAR0 Mem: 00000000c0100000 00001000
Interrupt Requirement:
Line Based - Min Vector = 0x0, Max Vector = 0xffffffff
Interrupt Resource: Type - Line Based, Interrupt Line = 0x14
does the device state here alike the status field which you spoke about? and if so, can I assume my device is ok and the BSOD didn't occur from it\ from its driver? -
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. -
how can i know if the sync process is done after a bookmark adding or so such and when it is processing , immediately after changes or what?
I don't know whether you solve your problem or not! Anyway, I have the same problem. The program hangs when getInputStream is called.
DataInputStream dis = new DataInputStream(request.getInputStream());
If you have the answer, please let me know. Thanks!! -
HT201798 how can i know my IP address if i forgot my remote control
how can i know my IP address if i forgot my remote control
Your post somehow found its way to a little-viewed forum for an long-obsolete Apple productivity program. I have asked the Hosts to move you to a more active and appropriate forum for your product.
-
How can you get your submit buttons on the quiz template to be a single click instead of the default double click? (The option to choose double click or not is not showing in properties for this).
Hmmm... Submit button doesn't need a double click at all. Maybe you are talking about the two-step process? When you click on Submit, the feedback appears with the message to click anywhere or press Y. Is that what you are talking about? If you are talking about a real double-click, something must be wrong in your file. And which version are you using?
http://blog.lilybiri.com/question-question-slides-in-captivate
Lilybiri -
How can we know AR invoice is opended or closed?
Hi All,
I have a invoices(Receivables) data in 11.5.5. Now i would like to migrate open invoice or partially paid invoice to R12. How can we know that invoices(Receivables) is opened or closed.
Suggestions will be highly appreciated.
Thanks.
Edited by: user627525 on Feb 24, 2009 11:13 PMCan't an invoice have more than 1 payment schedule id?
Yes, an invoice can have more than 1 Payment schedule ID
If so, would they all have to be zero or closed?
We have to check by Payment schedule ID
Regards,
Sridhar
Maybe you are looking for
-
How do i transfer files from one mac to another?
how do i transfer my files from one mac to another mac?
-
Flex with JMS Topic/Queue for Asynchronous messaging
I have been working on Flex and JMS integration using Data Services for Asynchronous messaging. I am able to do this successfuly. Now I am in need to do the same without using the Data Services piece. For doing this I have done the following ...... I
-
Ctrl + left click doesn't open links in new tabs although I don't have Tabmix addon
In a previous thread, this question has been answered as related to Tab Mix Plus and resolved as "Disabled extension Tab Mix Plus 0.3.8.6, now ctrl + left click opens links in new tabs" However, I don't have Tab Mix installed at all. I have Tab Utili
-
Hello, Our clients always send us graphic rich PDF's in colour that they wanted printed in Grayscale. I am looking for a plug-in that will convert either a whole PDF document, page or selected photos into grey from RGB or CMYK. However, I am looking
-
Professional opinions on web development platforms
Dear JEE developers, I'm currently part of a research team at the Free University of Berlin, looking into the ways in which the major web development platforms differ. In addition to our work with the Plat_Forms contest, we're now looking for actual