Module Pool in Background
Hi All,
Is it possible to execute a Module Pool program in Background mode?
Thanks & Regards,
Asha
hi asha...
Module pool programs does not executed in Background mode, Because Module pool programs must have a Transaction code for execute in foreground also, does not execute without transaction code..these transaction codes can not provide in background mode...this is the one reason.
another one is Module pool programs having 'n' number of screens as we as buttons...every screen must having manual interaction (click the push buttons or enter field values etc)..manual interaction not possible in Background mode....so we can't run the module pools in Background mode...
thank you...
Similar Messages
-
Can we submit the module pool code in background as a job.
Hi All,
Is there any possiblity that, we can capture the module pool program screen element, and run the process in background as a job using the same logic as module pool program.
In other words, can we have any feasible solution to have push button on the transaction screen of a module pool program, after clicking which, it will capture all the screen elements of module pool program and using the same logic of module pool program it will submit a job in background and process the data.
Any hep will be appreciated.
Thanks in adv.
Regard,
Vivek.Hi Prasenjit,
Thanks for your reply.
My question is, can we use "SUBMIT" statement in module pool program so as it will submit job in backgroung.
The same logic of module pool we will write in executable statement and submit in background using SUBMIT. will this thing is feasible. I am trying the same. Anyways thanks.
Regards,
Vivek -
Online Background job for Module pool program
Hi,
I need to process the dialog program in background. Normally for any executable report programs by default we will have that functionality. But i need the same functionality for my module pool program. User needs 2 execute buttons - one is for direct excute (foreground execute) and the other one is for back ground processing.
I tried with the 3 function modules job_open, job_submit & job_close. But i am keep on getting some issues and i am not sure how those will work because i wrote all the validations in direct exucte user command, now if user clicks on Background how that logic will be called and how it will be processed.
Can any one give your valuable suggestions.
regards
JayaHi
Create a Transaction code for this Program.
Then implement the BDC Code to Process the SCreens with the Required input Values.
Schedule this BDC Session in Backgound using RSBDCSUB.
Reward if usefull -
How to display image and data in module pool screen?
Hi,
I want to display image and relevant data besides the image in module pool screen, I am using docking container to display the image.
Actually I am able to display image or data any one but not both.
one more thing I want to display multiple images and their data.
Please suggest some one if you have any idea.
Regards,
Dileep.You can try below way, I have used in report.
DATA: gc_docking TYPE REF TO cl_gui_docking_container, "#EC NEEDED "Docking Container
gc_split TYPE REF TO cl_gui_easy_splitter_container, "#EC NEEDED "Splitter
gc_top_container TYPE REF TO cl_gui_container, "#EC NEEDED "Top Container
gc_bottom_container TYPE REF TO cl_gui_container, "#EC NEEDED "Bottom Container
gc_document TYPE REF TO cl_dd_document, "#EC NEEDED "Document
gc_events TYPE REF TO lcl_event_class, "#EC NEEDED " Local Event Class
gc_grid TYPE REF TO cl_gui_alv_grid, "#EC NEEDED " ALV Class
" Creating Docking
CREATE OBJECT gc_docking
EXPORTING
ratio = c_95.
IF sy-subrc EQ 0.
* Splitting the Docking container
CREATE OBJECT gc_split
EXPORTING
parent = gc_docking
sash_position = c_10 "Position of Splitter Bar (in Percent)
with_border = c_1. "With Border = 1 Without Border = 0
ENDIF.
* Placing the containers in the splitter
gc_top_container = gc_split->top_left_container .
gc_bottom_container = gc_split->bottom_right_container .
* Creating Grid
CREATE OBJECT gc_grid
EXPORTING
i_parent = gc_bottom_container.
ELSE.
* Background job handling
CREATE OBJECT gc_grid
EXPORTING
i_parent = gc_docking.
ENDIF.
* Creating the document
CREATE OBJECT gc_document
EXPORTING
style = 'ALV_GRID'.
Regards,
Sameer -
How to trigger abap report from module pool
hi,
continuing with this link
table control this is done (Module pool )
there were two buttons (accept and delete )in the module pool..so when the user clik 'accepts ' the records (from table control ) then it shud call abap report which will run in background..
so how do we pass the values selected from table control to the abap report in one go.....as only one background job has to run..say if there are 10 entries then it shud take all the 10 entries and trigger the abap report where it will do the processing with the selected 10 records in the abap report.
Thanks
Mohan..Declare the parameters of the report as select options and call it using submit statement.
link:[http://help.sap.com/abapdocu_70/en/ABAPSUBMIT_VIA_JOB.htm] -
Schedule Module program in Background with Dynamic Input values ?
Hi,
I am trying a schedule a Standard Transaction which has Month,year and other Check boxes (By default they are Empty) .I need to schedule it monthly and Input must change dynamically when I run in background each month..
How do we do this?
Regards
Vara
Message was edited by: Vara KYou can not directly schedule a module pool program in background job. These are usually reports. What you can do is create a custom report program with your parameters on a selection screen. In this program you can do a BDC over the standard transaction filling the parameters from the selection screen of the custom program. This custom program can also have a selection screen variant which uses selection variables that will change dynamically. Then you can schedule the custom report program via SM36.
Regards,
Rich HEilman -
My Requirement is an application to be developed in Module Pool where one screen will be responsible for create,change and display.Let's talk abt an application to create sales order using module pool,this application will have 1 screen where user will input all the required data to create sales order and same screen will be used for displaying and changing sales order . Help is appreciated.
The same screen will be used.
But in Background what is happening...?
If it is create they open the Fields for Input.
if it is change they open the fields for edit/input
if is display then it will be in Display mode.
We can achieve that using LOOP AT SCREEN and modify the screen fields.
If you take the same example
T180-TRTYP contents 'H', "Creation
T180-TRTYP contents 'A', "Display
T180-TRTYP contents 'V', Change
in sales order creation based on the parameter TRTYP , the screens will be changed from Display to Change etc.
According to the Parameter value the coding is done in side sales order application. -
Call module pool program from report
Hi,
Iam calling module pool program from a report, while passing values to module pool program, one of the field doesn't have parameter id, how to pass value to it. and also please let me know how to call module pool program.
Appreciate your help.
Thanks in advance
jogHi Jog,
Module pool program can be run in background. Most of the BDC's are written on module pool programs and they run in the background.
Also regarrding copying the standard program, if you require to make the changes for every user then instead of copying the program make modification in standard program as copied program are much harder to maintain during support pack implementation or upgrade that modification to standard program.
Reward points if useful.
Regards,
Atish -
How to upload logos in module pool programs?
hi frnds,
My requirement is to upload the logo in the module pool screen.Can any one explain in detail? its urgent.Hi,
First you need to upload using OAER or OAOR.
you need to have containers, and you need to use classes.
data: DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.
using this method you can set background picture.
CALL METHOD DG_DYNDOC_ID->SET_DOCUMENT_BACKGROUND
EXPORTING
PICTURE_ID = DL_BACKGROUND_ID.
Here is the sample code
Create a screen
Place a custom container for the picture on the screen.
Name the container GO_PICTURE_CONTAINER.
Type pool for using SAP icons
TYPE-POOLS: icon.
Declarations
DATA:
go_picture TYPE REF TO cl_gui_picture,
go_picture_container TYPE REF TO cl_gui_custom_container.
MODULE status_0100 OUTPUT.
IF go_picture_container IS INITIAL.
Create obejcts for picture and container and
setup picture control
CREATE OBJECT go_picture_container
EXPORTING
container_name = 'PICTURE_CONTAINER'.
CREATE OBJECT go_picture
EXPORTING
parent = go_picture_container.
Set display mode (Stretching, original size etc.)
CALL METHOD go_picture->set_display_mode
EXPORTING
DISPLAY_MODE = CL_GUI_PICTURE=>display_mode_fit_center
EXCEPTIONS = 1.
Load picture from SAP Icons. To oad a picture from an URL use method
load_picture_from_url
CALL METHOD go_picture->load_picture_from_sap_icons
EXPORTING
icon = icon_delete
EXCEPTIONS error = 1.
ENDIF.
ENDMODULE. [/code]
check the below link.
http://www.sapgenie.com/abap/controls/picture.htm
Award points if helpful.
Regards,
Shiva KUmar -
Hi i need material for module pool and alv's.
hi
i need material for module pool and ALV's(not object oriented) if any one have pls do send that to my
ID [email protected]
thanx in advance.Hi
Check the below link:
http://wiki.ittoolbox.com/index.php/FAQ:What_is_module_pool_program_in_abap%3F
http://help.sap.com/saphelp_46c/helpdata/en/35/26b1aaafab52b9e10000009b38f974/content.htm
http://sap.mis.cmich.edu/sap-abap/abap09/sld011.htm
http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
http://www.geocities.com/ZSAPcHAT
http://www.allsaplinks.com/files/using_table_in_screen.pdf
http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
http://www.sap-img.com/
http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm
http://www.sapgenie.com/links/abap.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm
You can also check the transaction ABAPDOCU which gives you lot of sample programs.
Also you can see the below examples...
Go to se38 and give demodynpro and press F4.
YOu will get a list of demo module pool programs.
One more T-Code is ABAPDOCU.
YOu can find more examples there.
See the prgrams:
DEMO_DYNPRO_TABLE_CONTROL_1 Table Control with LOOP Statement
DEMO_DYNPRO_TABLE_CONTROL_2 Table Control with LOOP AT ITAB
http://www.geocities.com/ZSAPcHAT
http://www.allsaplinks.com/files/using_table_in_screen.pdf
ALV
ABAP List Viewer
The common features of report are column alignment, sorting, filtering, subtotals, totals etc. To implement these, a lot of coding and logic is to be put. To avoid that we can use a concept called ABAP List Viewer (ALV).
This helps us to implement all the features mentioned very effectively.
Using ALV, We can have three types of reports:
1. Simple Report
2. Block Report
3. Hierarchical Sequential Report
There are some function modules which will enable to produce the above reports without much effort.
All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.
1. SIMPLE REPORT.
The important function modules are
a. Reuse_alv_list_display
b. Reuse_alv_fieldcatalog_merge
c. Reuse_alv_events_get
d. Reuse_alv_commentary_write
e. Reuse_alv_grid_display
A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.
The important parameters are :
I. Export :
i. I_callback_program : report id
ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status
iii. I_callback_user_command : routine where the function codes are handled
iv. I_structure name : name of the dictionary table
v. Is_layout : structure to set the layout of the report
vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE
vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.
II. Tables :
i. t_outtab : internal table with the data to be output
B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.
The Important Parameters are :
I. Export :
i. I_program_name : report id
ii. I_internal_tabname : the internal output table
iii. I_inclname : include or the report name where all the dynamic forms are handled.
II Changing
ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is
declared in the type pool SLIS.
C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type
Parameters :
I. Import :
Et_Events : The event table is returned with all possible CALLBACK events
for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.
II. Export :
I_List_type :
0 = simple list REUSE_ALV_LIST_DISPLAY
1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchical-sequential block list
REUSE_ALV_BLOCK_LIST_HS_APPEND
D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.
Parameters :
I. it_list_commentary : internal table with the headings of the type slis_t_listheader.
This internal table has three fields :
Typ : H header, S selection , A - action
Key : only when typ is S.
Info : the text to be printed
E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.
Parameters : same as reuse_alv_list_display
This is an example for simple list.
2. BLOCK REPORT
This is used to have multiple lists continuously.
The important functions used in this report are:
A. REUSE_ALV_BLOCK_LIST_INIT
B. REUSE_ALV_BLOCK_LIST_APPEND
C. REUSE_ALV_BLOCK_LIST_HS_APPEND
D. REUSE_ALV_BLOCK_LIST_DISPLAY
A. REUSE_ALV_BLOCK_LIST_INIT
Parameters:
I. I_CALLBACK_PROGRAM
II. I_CALLBACK_PF_STATUS_SET
III. I_CALLBACK_USER_COMMAND
This function module is used to set the default gui status etc.
B. REUSE_ALV_BLOCK_LIST_APPEND
Parameters :
Export :
I. is_layout : layout settings for block
II. it_fieldcat : field catalog
III. i_tabname : internal table name with output data
IV. it_events : internal table with all possible events
Tables :
i. t_outtab : internal table with output data.
This function module adds the data to the block.
Repeat this function for all the different blocks to be displayed one after the other.
C. REUSE_ALV_BLOCK_LIST_HS_APPEND
This function module is used for hierarchical sequential blocks.
D. REUSE_ALV_BLOCK_LIST_DISPLAY
Parameters : All the parameters are optional.
This function module display the list with data appended by the above function.
Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
3. Hierarchical reports :
Hierarchical sequential list output.
The function module is
A. REUSE_ALV_HIERSEQ_LIST_DISPLAY
Parameters:
I. Export:
i. I_CALLBACK_PROGRAM
ii. I_CALLBACK_PF_STATUS_SET
iii. I_CALLBACK_USER_COMMAND
iv. IS_LAYOUT
v. IT_FIELDCAT
vi. IT_EVENTS
vii. i_tabname_header : Name of the internal table in the program containing the
output data of the highest hierarchy level.
viii. i_tabname_item : Name of the internal table in the program containing the
output data of the lowest hierarchy level.
ix. is_keyinfo : This structure contains the header and item table field
names which link the two tables (shared key).
II. Tables
i. t_outtab_header : Header table with data to be output
ii. t_outtab_item : Name of the internal table in the program containing the
output data of the lowest hierarchy level.
slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using REUSE_ALV_FIELDCATALOG_MERGE.
Important Attributes :
A. col_pos : position of the column
B. fieldname : internal fieldname
C. tabname : internal table name
D. ref_fieldname : fieldname (dictionary)
E. ref_tabname : table (dictionary)
F. key(1) : column with key-color
G. icon(1) : icon
H. symbol(1) : symbol
I. checkbox(1) : checkbox
J. just(1) : (R)ight (L)eft (C)ent.
K. do_sum(1) : sum up
L. no_out(1) : (O)blig.(X)no out
M. outputlen : output length
N. seltext_l : long key word
O. seltext_m : middle key word
P. seltext_s : short key word
Q. reptext_ddic : heading (ddic)
R. ddictxt(1) : (S)hort (M)iddle (L)ong
S. datatype : datatype
T. hotspot(1) : hotspot
Simple ALV report
http://www.sapgenie.com/abap/controls/alvgrid.htm
http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
2. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
3. How do I add subtotals (I have problem to add them)...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
4. How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
5. How to print page number / total number of pages X/XX in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
http://www.sapfans.com/forums/viewtopic.php?t=64320
http://www.sapfans.com/forums/viewtopic.php?t=44477
7. How can I set the cell color in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=52107
8. How do I print a logo/graphics in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=81149
http://www.sapfans.com/forums/viewtopic.php?t=35498
http://www.sapfans.com/forums/viewtopic.php?t=5013
9. How do I create and use input-enabled fields in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=84933
http://www.sapfans.com/forums/viewtopic.php?t=69878
10. How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
11. How can I display an icon in ALV? (Common requirement is traffic light icon).
http://www.sapfans.com/forums/viewtopic.php?t=79424
http://www.sapfans.com/forums/viewtopic.php?t=24512
12. How can I display a checkbox in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=88376
http://www.sapfans.com/forums/viewtopic.php?t=40968
http://www.sapfans.com/forums/viewtopic.php?t=6919
Go thru these programs they may help u to try on some hands on
ALV Demo program
BCALV_DEMO_HTML
BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
BCALV_GRID_DEMO Simple ALV Control Call Demo Program
BCALV_TREE_DEMO Demo for ALV tree control
BCALV_TREE_SIMPLE_DEMO
BC_ALV_DEMO_HTML_D0100
Reward points if useful
Regards
Anji -
Hi,
How to upload Our own logo to Module Pool.
In Module Pool we use ABTREE table .
How to upload custom logos to ABTREEHi,
First you need to upload using OAER or OAOR.
you need to have containers, and you need to use classes.
data: DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.
using this method you can set background picture.
CALL METHOD DG_DYNDOC_ID->SET_DOCUMENT_BACKGROUND
EXPORTING
PICTURE_ID = DL_BACKGROUND_ID.
Here is the sample code
Create a screen
Place a custom container for the picture on the screen.
Name the container GO_PICTURE_CONTAINER.
Type pool for using SAP icons
TYPE-POOLS: icon.
Declarations
DATA:
go_picture TYPE REF TO cl_gui_picture,
go_picture_container TYPE REF TO cl_gui_custom_container.
MODULE status_0100 OUTPUT.
IF go_picture_container IS INITIAL.
Create obejcts for picture and container and
setup picture control
CREATE OBJECT go_picture_container
EXPORTING
container_name = 'PICTURE_CONTAINER'.
CREATE OBJECT go_picture
EXPORTING
parent = go_picture_container.
Set display mode (Stretching, original size etc.)
CALL METHOD go_picture->set_display_mode
EXPORTING
DISPLAY_MODE = CL_GUI_PICTURE=>display_mode_fit_center
EXCEPTIONS = 1.
Load picture from SAP Icons. To oad a picture from an URL use method
load_picture_from_url
CALL METHOD go_picture->load_picture_from_sap_icons
EXPORTING
icon = icon_delete
EXCEPTIONS error = 1.
ENDIF.
ENDMODULE. [/code]
check the below link.
http://www.sapgenie.com/abap/controls/picture.htm
Award points if helpful.
Regards,
Raj. -
Submission of BDC Program in Module Pool fails
HI,
I have written the BDC Program to change the position text using 'PP01' . When it is executed, its changing the value correctly.
In my module Pool Program, i am calling the BDC Program using SUBMIT as background job . But it throws an RUN TIME ERROR.
Could you please let me know, whether is this possible or not?
Thanks in advance.
Thanks,
K.TharaniHi Tharani.
Please check whether u has been used OOPS ALV (using Costom container)in module pool programming. If that was the case, system throws an rum time error.
Regards,
surya. -
Hi,
Can anyone tell me what happens when we explicitly write " COMMIT " or " COMMIT WORK" statement in module pool.
Thankshi Amit..
WELCOME TO SDN
COMMIT
Variants:
1. COMMIT WORK.
2. COMMIT CONNECTION con.
Effect
Executes a database commit and thus closes a Logical Unit of Work ( LUW) (see also Transaction Processing). This means that:
All database updates are made irrevocable and cannot be reversed with ROLLBACK WORK
All database locks are released.
COMMIT WORK belongs to the Open-SQL command set.
Variant 1
COMMIT WORK.
Addition:
... AND WAIT
Effect
COMMIT WORK also
Calls the subroutines specified by PERFORM ... ON COMMIT
Executes asynchronously any update requests (see CALL FUNCTION ... IN UPDATE TASK) specified in these subroutines or started just before
Processes the function modules specified in CALL FUNCTION ... IN BACKGROUND TASK
Resets the time slice counter to 0.
Ensures that the locks of the SAP locking concept are handled in accordance with its SCOPE Parameter.
Executes a database commit on all database connections
Closes all open database cursors (OPEN CURSOR) on all database connections
Releases all database locks on all database connections
After the COMMIT WORK has been executed, the event RAISE_TRANSACTION_FINISHED of the class CL_SYSTEM_TRANSACTION_STATE with parameter value CL_SYSTEM_TRANSACTION_STATE=>COMMIT_WORK is triggered. However, this does not apply to the COMMIT WORK at the end of the update.
The Return Code SY-SUBRC is set to 0.
Notes
All subroutines called with PERFORM ... ON COMMIT are processed in the LUW concluded by the COMMIT WORK command. All V1 update requests specified in CALL FUNCTION ... IN UPDATE TASK are also executed in one LUW. When all V1 update requests have been successfully concluded, the V2 update requests (update with start delayed ) are processed, each in one LUW. Parallel to this, the function modules specified in CALL FUNCTION ... IN BACKGROUND TASK are each executed in one LUW per destination.
COMMIT WORK commands processed within CALL DIALOG processing do all of the following:
- A database commit on all database connections (see above),
- Close all open database cursors on all database connections
- Reset the time slice counter
- Call the function modules registered in CALL DIALOG processing using CALL FUNCTION IN BACKGROUND TASK
However, subroutines and function modules called with PERFORM ... ON COMMIT or CALL FUNCTION ... IN UPDATE TASK in CALL DIALOG processing are not executed in the calling transaction until a COMMIT WORK occurs.
Since COMMIT WORK closes all open database cursors, any attempt to continue a SELECT loop after a COMMIT WORKresults in a runtime error. For the same reason, a FETCH after a COMMIT WORK on the now closed cursors also produces a runtime error. You must therefore ensure that any open cursors are no longer used after the COMMIT WORK.
COMMIT WORK may not be used during the update (CALL FUNCTION ... IN UPDATE TASK) or during the execution of FORMs that were registered using PERFORM ... ON COMMIT or PERFORM ... ON ROLLBACK.
With batch input and CALL TRANSACTION ... USING, COMMIT WORK successfully concludes the processing.
Addition
... AND WAIT
Effect
The addition ... AND WAIT makes the program wait for the type V1 update (update with immediate start) to be executed.
The Return Code is set as follows:
SY-SUBRC = 0:
The update was performed successfully.
SY-SUBRC <> 0:
The update was not performed successfully.
Variant 2
COMMIT CONNECTION con.
Effect
The COMMIT command is not executed on the standard database, but only on the secondary database connection specified with con. con is the name of the database connection as it was specified in the table DBCON in the column CON_NAME. The database connection con can also be specified dynamically in the form (source_text) - the source_text field contains the name of the database connection as ABAP Source Code.
On the specified secondary database connection, the database commit:
Closes all open database cursors (OPEN CURSOR)
Releases all database locks
Note
Because all open database cursors are closed with the COMMIT, the attempt to continue a SELECT loop after a COMMIT causes a runtime error. For the same reason, a FETCH after the COMMIT to the now closed cursor causes runtime error. You must ensure that open cursors are no longer used after the COMMIT. The only exception are cursors that were opened using the WITH HOLD addition. -
Can anybody provide me good step by step procedurehow create smart form and module pool programming.
My email Id is [email protected]hi,
SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms support printer, fax, e-mail, or the Internet (by using the generated XML output).
According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive conditions).
1. Create a new smartforms
Transaction code SMARTFORMS
Create new smartforms call ZSMART
2. Define looping process for internal table
Pages and windows
First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
Here, you can specify your title and page numbering
&SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
Main windows -> TABLE -> DATA
In the Loop section, tick Internal table and fill in
ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
3. Define table in smartforms
Global settings :
Form interface
Variable name Type assignment Reference type
ITAB1 TYPE Table Structure
Global definitions
Variable name Type assignment Reference type
ITAB2 TYPE Table Structure
4. To display the data in the form
Make used of the Table Painter and declare the Line Type in Tabstrips Table
e.g. HD_GEN for printing header details,
IT_GEN for printing data details.
You have to specify the Line Type in your Text elements in the Tabstrips Output options.
Tick the New Line and specify the Line Type for outputting the data.
Declare your output fields in Text elements
Tabstrips - Output Options
For different fonts use this Style : IDWTCERTSTYLE
For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
5. Calling SMARTFORMS from your ABAP program
REPORT ZSMARTFORM.
Calling SMARTFORMS from your ABAP program.
Collecting all the table data in your program, and pass once to SMARTFORMS
SMARTFORMS
Declare your table type in :-
Global Settings -> Form Interface
Global Definintions -> Global Data
Main Window -> Table -> DATA
Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
http://sapr3.tripod.com
TABLES: MKPF.
DATA: FM_NAME TYPE RS38L_FNAM.
DATA: BEGIN OF INT_MKPF OCCURS 0.
INCLUDE STRUCTURE MKPF.
DATA: END OF INT_MKPF.
SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
MOVE-CORRESPONDING MKPF TO INT_MKPF.
APPEND INT_MKPF.
ENDSELECT.
At the end of your program.
Passing data to SMARTFORMS
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORM'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
if sy-subrc <> 0.
WRITE: / 'ERROR 1'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
call function FM_NAME
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 =
TABLES
GS_MKPF = INT_MKPF
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.
What is SAP Smart Forms?
SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.
SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can
configure forms with data from an SAP System for the relevant business processes.
To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
SAP Smart Forms also support postage optimizing.
Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
What Transaction to start SAP Smart Forms?
Execute transaction SMARTFORMS to start SAP Smart Forms.
Key Benefits of SAP Smart Forms:
SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time.
You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
These actions do not include writing of coding lines or using a Script language.
Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
For Web publishing, the system provides a generated XML output of the processed form.
Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
PROGRAM YMPSKEL MESSAGE-ID YL.
DESCRIPTION
written by !
TABLES:
DATA: OK_CODE(4), " ok code - screen 1
OK_CODE2(4).
DATA C LIKE SY-INDEX. " Index for screen loop
*& Module USER_COMMAND_0100 INPUT
process after input for screen 0100 *
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
WHEN 'SAVE'.
WHEN 'DISP'.
WHEN 'LIST'.
C = 0. "reset loop control
WHEN OTHERS.
ENDCASE.
CLEAR OK_CODE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module STATUS_0100 OUTPUT
process before output for screen 0100 *
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'AMEND'. " set gui status
SET TITLEBAR '100'. " set title
ENDMODULE. " STATUS_0100 OUTPUT
*& Form SAVE data
Save screen details
FORM SAVE.
CLEAR OK_CODE.
ENDFORM.
*& Form DISPLAY
FORM DISPLAY.
ENDFORM.
*& Module EXIT_COMMAND INPUT
exit commands are processed before validation *
defined by E against function in menu painter(function list)
MODULE EXIT_COMMAND INPUT.
CASE OK_CODE.
WHEN 'EXIT'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
WHEN 'CANC'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
WHEN 'BACK'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
ENDCASE.
ENDMODULE. " EXIT_COMMAND INPUT
*& Form list
text *
FORM LIST.
CLEAR OK_CODE. SET SCREEN 200. LEAVE SCREEN.
ENDFORM. " LIST
*& Module EXIT_COMMAND_200 INPUT
exit command processing for screen 200 *
defined by E against function in menu painter(function list)
MODULE EXIT_COMMAND_200 INPUT.
CASE OK_CODE2.
WHEN 'EXIT'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN.
WHEN 'CANC'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN.
WHEN 'BACK'. CLEAR OK_CODE2. SET SCREEN 100. LEAVE SCREEN.
ENDCASE.
ENDMODULE. " EXIT_COMMAND_200 INPUT
*& Module STATUS_0200 OUTPUT
process before output for screen 200 *
MODULE STATUS_0200 OUTPUT.
SET PF-STATUS 'POPUP'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0200 OUTPUT
Module pool programs are created in abap development work bench (TCODE: SE80).
Here we can do all the works whatever you can do in abap.
Module pool programs are also called dialog programs.
The module Pool are reports prepared for different screens and to manage the sequence of events of these screens, in the transaction SE80 you can see all the dynpros that you have for this kind of report, add new ones, add all types of element to the report.
Process Before Output is the part of the dynpro code that is processed before the user can do anything with the data in the screen
Process After Input is the part of the dynpro code that is processed after the interaction with the user.
module pool programs are excuted using Tcodes
regards,
sreelakshmi -
Can anybody Provide me good step by step procedure for module pool and smart for programming with screenshot.
my email Id is [email protected]Hi,
A module pool is a collection of screens, flow logic, menu bars and ABAP code that you use to build an application. Typically the transaction code that calls the application will refer to the module pool and the initial screen number.
-->What are the requirements a dialog program must fulfill ?
A dialog program must fulfill the following requirements
. a user friendly user interface
. format and consistency checks for the data entered by the user
. easy correction of input errors
. access to data by storing it in the database.
What are the basic components of dialog program ?
Screens (Dynpros)
Each dialog in an SAP system is controlled by dynpros. A Dynpro consists of a screen and its flow logic and controls exactly one dialog step.
ABAP/4 module pool
Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called a module pool, since it consists of interactive modules.
What is a dynpro ? What are its components ?
A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly
one dialog step.
- The different components of the dynpro are:
Flow logic: Calls of the ABAP/4 modules for a screen
Screen layout: Positions of the texts, fields, pushbuttons, and so on for a screen
Screen attributes: Number of the screen, number of the subsequent screen, and others
Field attributes: Definition of the attributes of the individual fields on a screen
What is screen flow logic? What are the selections in it? Explain PAI and PBO?
Ans - Screen flow logic contains the procedural part of a screen. The screen flow logic is like an ABAP program in that it serves as a container for processing blocks. There are four event blocks, each of which is introduced with the screen keyword PROCESS:
PROCESS BEFORE OUTPUT.
PROCESS AFTER INPUT.
PROCESS ON HELP-REQUEST.
PROCESS ON VALUE-REQUEST.
Selections are performed in PAI.
PROCESS BEFORE OUTPUT (PBO) is automatically triggered after the PAI processing of the previous screen and before the current screen is displayed. You can program the PBO processing of the screen in this block. At the end of the PBO processing, the screen is displayed.
PROCESS AFTER INPUT (PAI) is triggered when the user chooses a function on the screen. You can program the PAI processing of the screen in this block. At the end of the PAI.
processing, the system either calls the next screen or carries on processing at the point from which the screen was called.
PROCESS ON HELP-REQUEST (POH) and PROCESS ON VALUE-REQUEST (POV) are triggered when the user requests field help (F1) or possible values help (F4) respectively. You can program the appropriate coding in the corresponding event blocks. At the end of processing, the system carries on processing the current screen.
step by step process of dialog programing:
Firstly, you can go to Tcode SE80 and here create a package.
On that package name right click and select program.
Then choose program type modulepool program.
Similarly, you can create screen and then select layout and drag and drop labels and pushbuttons as per your requirements.. Then double click on th push buttons.You will see property window and there we will find FCTCODE and there type the names e.g suppose you want to
display then typy on the fctcode Display or any name as you wish.
After that save and activate it. and then close the window.
And then go back to the intial screen .
And then click Flow logic button and then uncomment the statement
module status_1000 PBO block and then doible click on status_1000
save and activate and then go back and then PAI block uncomment the statement module status_1000 and the dobule click on status_1000.
step by step process of creating smartforms:
1. What is Smartforms?
Smartforms is a tool to create and maintain forms for mass printing in SAP Systems. Just like sapscripts, for Smart
forms print program is used to create the output internal table which in turn is thrown to the smart form where the
field values are displayed. The output medium for Smartforms support printer, fax, e-mail, or the Internet.
Transaction Code: SMARTFORMS
To print a form the program for the data retrieval and a Smartform that contains the entire form logic is required. As
these two are separate one should adapt the Smartform if changes to the form logic are necessary. The application
program passes the data via a function module interface to the Smartform. When activating the Smartform the system
automatically generates the function module.
The architecture of the smart form is given below:
Creating Forms Using SAP Smart Forms
When creating a form one must:
1. Retrieve the application data
2. Describe the form
3. Pass the application data to the form
Example: Create Smartform for printing Purchase order.
Retrieving the application data (Purchase Order information):
Write an ABAP program (Print Program) to retrieve data or include a retrieval routine into the application. This
code consists of statements that select data from databases according to certain selection criteria. Store the
retrieved data in internal tables, structures or variables and transfer it to the form in one step.
SAP has already provided with the Print Program (/SMB40/FM06P) for Purchase Order. Based on the business
requirement, this Print Program can be copied and modified to get the required data and transfer to Smartform.
Describing the Form:
The user defines the form using a Smartform. Use the tools of the form builder as listed below:
1. Use the form painter to position the windows, graphics and addresses on a page.
2. Use the PC editor to write the texts.
3. Use the table painter to format the tables.
The flow control is used to print the pages and elements.
Form Logic (Introduction)
In the form builder one can describe a Smartform by a set of nodes. To do this, one can build up a tree structure on
the left side of the user interface.
The node global settings and its three successors form attributes, form interface and global definitions always exists
for any newly created forms.
To describe the form logic, create the hierarchy under the node pages and windows.
The following rules apply to control the flow of the form output.
1. The nodes in the tree structure are processed from top to bottom.
2. For each node there is a tab, this can be used to link the node to a condition. If the condition is true, the
system processes the node. If not, it skips the node and all its successors.
3. One should define a next page for each page.
The SAP form builder of the smart form consists of:
1. Form painter for creating the layout of the form
2. PC Editor for entering texts and fields into output areas
3. Navigation tree for maintaining the form logic
4. Table painter for creating templates and tables
To define the text formats, one can use the Smart Styles.
Style builder:
On the left of the style builder screen consists of the predetermined nodes (header data, folder for paragraph
formats, and folder for character formats).
On the right one can see the maintenance screen with its tab pages. At the bottom the preview of the selected font
can be viewed.
Create Purchase Order Smartform
Create a Smartform, copy the existing SAP provided purchase order Smartform to ZSFM_PURCHASEORDER for
customizing as per business requirement.
1. Form Settings under Global Settings node, set the parameters in Output Option:
Page Format: Letter
Character per Inch: 20
Line per Inch: 6
Style: ZSTM_SMB40_SF
Output Format: Standard Output
2. Form Interface
We can add parameters in the Import Parameters and tables in Tables tab of the form interface for the application
data to be available for the Smartform to print.
3. In Global definition we can define the all the global variables which can be used in Smartforms. Initialization
can be used for initializing the variables and even for retrieving the data.
Creating pages:
Each form consists of one or more pages. The first page in the tree structure is the start page and the
processing of the form starts with this page itself.
1. Open the context menu for existing page node and choose create®page
2. Enter a unique name (FIRST) for the node and a description (Page)
3. Determine the format (1, 2, 3...)and the mode of the page counter (Increase counter) on the general
attributes tab
4. Determine the print attributes (Portrait Format) of the page on the output options
5. Determine a background graphic for the entire page on the background tab (Not used in PO).
Creating windows:
The size and position of the window can be graphically set in the form painter. There are main windows and
secondary windows. The difference between these two is that the output in a main window can cover several
pages.
1. Open the context menu for an existing page node and choose®window
2. Enter a name for the node (NAMEFORM) and a description (Title Window).
3. On the general attributes indicate type of window. NAMEFORM is secondary window.
In similar fashion all the other windows are created and positioned as per the form design. Only one MAIN
window is created, it is used for line items which can cover several pages.
Positioning texts on the form
The texts are displayed in the form using text nodes. The only exceptions are addresses.
The predecessor node of the text node determines its use:
Predecessor node Used to
Secondary window Position text on one or more pages
Main window Display text in relation to other nodes in the main window, it may cover several pages
Template Displays texts for table cells of a static table
Table Display table contents
There are three text types:
1. Text element : to enter new text in the PC editor
2. Text module : to include a text module
3. Include text : to include an existing SAPscript text
Entering texts in PC editor: (TITLE)
· To create a text node call the context menu for that node in the tree structure that should receive the
text, then choose->text
· Enter a unique name (TITLE) for the node and the node description (TITLE)
· On the general attributes tab choose text element as text type
· In the text node box choose whether the text should be started with a new paragraph or only in a new
line
· Enter the text in the PC editor. Text could be a program element like &Title& or Purchase Order. &Title&
is a variable for which the value is assigned in Program line before the text.
Including text modules: (TERMSCONDITION)
Text module of the text node is used to refer to an existing text module in the system. The text modules can be
used in two ways:
· To create a text node, call the context menu for that node in the tree structure that shall contain the text
and choose create->text under the window TERMSCONDITION.
· Enter a unique name for the node (TERMSCONDITION) and a description (Terms and Condition)
· On the general attributes tab select the text type text module
· Enter the name of the text module in the text name field (&G_TERMS_TEXT&). &G_TERMS_TEXT& is
used to determine the Text name dynamically in the program lines preceding the text module node.
· Program Lines: GETTERMSCONDITION
Concatenate 'ZTMM_PO_TERMS_' ZXEKKO-BUKRS
INTO G_TERMS_TEXT.
Including SAPscript texts: (HD_TXT_F01 Order Header Text)
The text type include text node to refer to a SAPscript text, which already exists in the system. To identify the
text the text name, object, id and the language is needed.
· To create the text node, call the context menu for that node in the tree structure that shall receive the
text and choose create -> text under the main window.
· Enter a unique name (HD_TXT_F01) for the node and the node description (Order Header Text).
· On the general attributes tab choose include text as text type
· Text Name - &ZEKKO-EBELN&, Text Object EKKO, Text ID F01, Language - &SY-LANGU&. Also check
mark No error if no text exists.
Tip: Since the size of text is not known, its better to have the text in MAIN window, so that it can run to more
than one page if required.
Inserting addresses: (SENDER):
Address node is used to insert an address into the form. This guarantees that the address is formatted
according to the postal rules of the sender country.
· To create an address node , call the context menu for that node in the tree structure that one wants to
contain the text and choose create->Address
· Enter a name for the node (COMPANY_CODE_ADDRESS) and a description (Company Code Address)
· Determine the address type (Organization Address) on the general attributes tab
· For organizational addresses - specify the address number, for any other - specify the person number
and the address number. In this case we get the company code address into variable &ADDNR&, so we need
program lines (SENDER) preceding the address text.
· In the box additional addresses, attributes to specify how to display the address are maintained.
Printing graphics: (LOGO):
Tcode SE78 is used to import graphics into the SAP system. The transaction imports the graphics and stores it
in the BDS (business transaction server) and then it can be displayed in the form.
· To create the graphic node , call the context menu for that node in the tree structure and choose create-
>graphic
· Enter a name (LOGO) for the node and the description (Logo Graphic)
· On the general attributes determine whether a colored or a black and white
· On General Attributes use the fields object - GRPAHIC, id BMAP and name - &G_LOGO& to identify the
graphic. &G_LOGO& is variable and therefore we can print company code specific logo. Program line preceding
the graphic is required.
· Program line COMP_LOGO is used to assign the value to G_LOGO. Concatenate 'ZCOMPANY_LOGO_'
ZXEKKO-BUKRS INTO G_LOGO. So, the name of graphic for example will be ZCOMPANY_LOGO_0202 for
company code 0202.
Displaying a static table (Window INFO, Template - TEM_INFO)
Use node type template to display a table whose layout and size is determined before the runtime of the print
program.
To create a template, define a table layout to determine the cell structure for each line. The cells are used to
display the cell structure for each line. The cells are used to display the contents of the successor nodes of the
template node.
· Create Template under the INFO window node. Create > Template.
The template layout is used to determine the following,
1. The number of lines and cells
2. The height of each cell
3. The width of each cell
4. The alignment of the table in the window
5. Whether and where to display separator lines or frames
Use the table control on the template tab to define the layout of the lines. Each line of the template must have
a definition.
Use the pattern box to select the desired table pattern.
Displaying contents in cells: (TLE_CONTACT)
The template node defines the table layout. The successor nodes of the template determine the data to be
displayed in the table cells.
In General Attributes choose Text type Text Element. In editor, type DTE Contact.
In Output Options, define the output structure LINE 5 and Column 1.
Similarly all other information for each cell can be filed using the text module and address module.
Displaying Dynamic Table (ITEM_TABLE)
· Create TABLE under the MAIN window node. In DATA Tab, loop through the data internal table.
L_XEKPO is the item table which has all the line item details.
Define the line types based on the positioning of the text in main window. For example: TABLE_HEADER1
is used for positioning Header texts in the table.
· Table is divided into three parts: Header, Main Area and Footer.
· Header is used for printing the Header Title of the table and it at the start of the table on every page.
· Main Area is used to print the line item details of the PO. Create a line (ITEM_DETAIL) of the line type
TABLE_HEADER1. It will dynamically generate number cells based on the line type defined in the table layout.
Name all the cells as per the usage. For each cell create the text node to display the information. For example:
Cell VAL_MATERIAL, Text node MATNR is created which has text element - -matnr.
· Footer is used for printing the information after Main Area data is printed. This can be used for Total
printing or any other information which needs to be printed after all line items are printed. Create line
TLE_CONTR_STP for Contractual Stipulation of the line type LINE which has only one column. Create the
text element to print the information.
Special Requirement: Printing the Acknowledgement text if the order value is greater then USD 50,000.00 on
the second copy only.
· This requirement needs the modification in the print program and the Smartform.
· Modification in Print Program to trigger the second copy if the order value is greater then 50K. Its
advisable to copy the standard print program to custom Z program (Z_SMB40_FM06P), and changes should
be made to Z program. Number of copies is passed from NAST to ls_composer_param-tdcopies in Smartforms.
The value ls_composer_param-tdcopies is modified in the print program to 2 if the order value is greater then
50K.
· The printing of Acknowledgement Text only on second copy is achieved using the COPIES WINDOW in
Smartforms. Define Window ACKN_COPY of the type COPIES WINDOW and Output to Only Copies Copies
Differ. Also set the condition in the Condition Tab of the window SFSY-JOBPAGES = 1, so that it only print
on the first page of the copy.
· If user selects to print 2 copies and the order value is more then 50k, program needs to print 2 sets
meaning 4 copies. So number of copies is taken care of in Print program but again the printing of
Acknowledgement Text should be only the Even number copy meaning Copy# 2 and 4. This achieved by using
the program lines to determine the even copy. SFSY-COPYCOUNT will tell us the current copy number being
printed.
regards,
vineela.
Edited by: Radha Vineela Aepuru on Mar 13, 2008 11:12 AM
Maybe you are looking for
-
How can i pass parameters to every form sucessively or repeatedly
How can i pass parameters to every form sucessively or repeatedly Eg: I have username which is specified in first form I want to display and use the username in each and every form after that form please tell me how to do i have one solution i.e., No
-
How do you deal with browser incompatibilities?
I have set up a modest private voluntary organisation website very successfully with CS5 and it shows perfectly on Internet Explorer, but not on Safari. The central section (table) of each page on Safari is offset to the right. Why is this and how ca
-
Org.apache.jasper.JasperException - Help please!!!
Hello i have a problem. I have a class WEB-INF/classes/file/PqSpIn.class and I have compiled it with javac. But I have this error and the header of the file linda.jsp is like this <jsp:useBean id="abc" scope="application" class="linda.PqSpIn"/> so, i
-
Significance of Global_names parameter in Oracle CDC and Oracle Streams
Hi, I am trying to implement a sample Oracle CDC example. I read in some examples that we need to set a parameter *'global_names= TRUE'*. (which means that all dblink names should be same as their respective database names) But my doubt is that what
-
Hi all. Ive had my N97 for a few weeks and i'm loving it. One problem i do have is with the picture viewer. Ive uploaded pictures with no problems and on the phone they are in the downloaded folder which is fine. How ever today ive gone to delete a f