Submit Statement WD4A
Hi,
I am looking to run a Function Module at as a background job in a abap webdynpro application.Am using the following code to run the job by passing internal table (dynpro) to the FM . Is it possible to use the below code in ABAP Webdynpro.
DATA jobcount TYPE tbtcjob-jobcount.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = 'CREATE_ JOB'
SDLSTRTDT = NO_DATE
SDLSTRTTM = NO_TIME
JOBCLASS =
IMPORTING
jobcount = jobcount
CHANGING
RET =
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
SUBMIT FMNAME
WITH TABLE TYPE1 EQ TABLETYPE_INT
USER SY-UNAME VIA JOB 'CREATE_ JOB'
NUMBER jobcount AND RETURN .
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = jobcount
jobname = 'CREATE_ JOB'
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
invalid_target = 8
OTHERS = 9.
Regards,
kumar
Solved
Similar Messages
-
Is it possible to reset the form submit state? I have a page with many input components, some of which are set to "Auto-Submit on Change". When submitting, a new window is opened with the report results.
I need the user to go back to the original input page and change some of the original input fields. However, when doing so the page is submitted by just changing one of the Auto-Submit input components. I would like to be able to reset the form submit state (or the hyperlink submit state), so that the page is not auto-submitted when changing input fields.
Thanks,
Danpublic void prerender() {
dropDown1.setOnChange("");
} -
Executing SUBMIT statement in background
Hello Experts,
Is it possibe in executing SUBMIT statement in backgound? If yes can anyone provide example code?
Also in terms of performance tuning how does SUBMIT fares against CALL TRANSACTION? Which is much better in terms of performance.
Appreciate your answers. Thanks!Hi
There's no difference for the performance:
if a transaction is assigned to a report (so no dialog program, module pool), it's better to use the SUBMIT if it needs to transfer the value on SELECTION-SCREEN. It can't do it by CALL TRANSACTION.
DATA: VA_JOBNAME LIKE TBTCO-JOBNAME,
VN_JOBCOUNT LIKE TBTCO-JOBCOUNT.
* Open job
CALL FUNCTION 'JOB_OPEN'
EXPORTING
JOBNAME = VA_JOBNAME
IMPORTING
JOBCOUNT = VN_JOBCOUNT
EXCEPTIONS
CANT_CREATE_JOB = 1
INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3
OTHERS = 4.
CASE SY-SUBRC.
WHEN 0.
WHEN OTHERS.
MESSAGE E208(00) WITH 'Error.
ENDCASE.
* Call report
SUBMIT <REPORT> USER SY-UNAME
VIA JOB VA_JOBNAME NUMBER VN_JOBCOUNT
WITH ..................................
AND RETURN.
* Close job
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
JOBCOUNT = VN_JOBCOUNT
JOBNAME = VA_JOBNAME
STRTIMMED = 'X' " start immediatly
EXCEPTIONS
CANT_START_IMMEDIATE = 1
INVALID_STARTDATE = 2
JOBNAME_MISSING = 3
JOB_CLOSE_FAILED = 4
JOB_NOSTEPS = 5
JOB_NOTEX = 6
LOCK_FAILED = 7
OTHERS = 8.
Max -
How to skip the alv list when submit a report by SUBMIT statement?
Dear Experts,
I have to submit a report(RMVKON00) for a special request in my add-on program, I use the following statment:
SUBMIT RMVKON00
AND RETURN EXPORTING LIST TO MEMORY.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
LISTOBJECT = ABAPLIST_TAB
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
CALL FUNCTION 'LIST_TO_ASCI'
* EXPORTING
* LIST_INDEX = -1
* WITH_LINE_BREAK = ' '
TABLES
LISTASCI = LISTASCI_TAB[]
LISTOBJECT = ABAPLIST_TAB
EXCEPTIONS
EMPTY_LIST = 1
LIST_INDEX_INVALID = 2
OTHERS = 3
But it still display the alv list , and I must click button 'BACK' ,then it return my add on program.
I hope to skip the alv list (does not display the alv list ) .
Would you like to help me?
Thanks and Best Regards,
Colin.
Edited by: Colin on Jan 8, 2010 10:09 AMHi Colin,
I dont think you would be able to skip the ALV output using SUBMIT. However try changing the value of sy-lsind after the submit statement.
SUBMIT RMVKON00
AND RETURN EXPORTING LIST TO MEMORY.
sy-lsind = sy-lsind - 1.
If that doesnt work then try using JOB_START JOB_SUBMIT, JOB_CLOSE...
Thanks,
Best regards,
Prashant -
How to send report output from SUBMIT statement
Hi,
I need to develop one report whcih can be use to send any report output in mail as attachment in txt of execl format. So i will be using SUBMIT statement to execute the report in my new report and i need to convert the reportout in txt or excel format and need to send as attachment in mail. This new report can be use to execute any report which may have ALV GRid, Normal outout screen. So what could be the best way to develop this kind of report.
Br,
Piyush>
piyush mathur wrote:
> Hi Suhas,
>
> LIST_TO_ASCI will give me data in lines. and its difficult to separate the columns in another internal table for attachment file. As this report is going to use to send any report output so i can not fixed the delimiter. So i am looking some function which can split the data in columns when I am reading from List.
> Br,
> Piyush
No need to seperate nothing additionally, this will come automatically in the attached file. Draft below
DATA list_tab TYPE TABLE OF abaplist.
SUBMIT your_report EXPORTING LIST TO MEMORY
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list_tab
EXCEPTIONS
not_found = 1
OTHERS = 2.
DATA string_tab TYPE list_string_table.
"use table type appropriate for attchement
DATA ascii_tab TYPE soli_tab.
CALL FUNCTION 'LIST_TO_ASCI'
TABLES
listasci = ascii_tab
listobject = list_tab.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\test.txt'
filetype = 'ASC'
TABLES
data_tab = ascii_tab.
DATA go_email_doc TYPE REF TO cl_document_bcs.
go_email_doc = cl_document_bcs=>create_document(
i_type = 'TXT'
go_email_doc->add_attachment( i_attachment_type = 'TXT'
i_attachment_subject = 'My Attachment'
i_att_content_text = ascii_tab ).
Regards
Marcin -
Problem in submit statement ?
hi friends..
i have one report program (for eg zpgm1) from that i call another program (for eg zpgm2) by using submit statement.
in zpgm1 i have only one radio button
in zpgn2 i have one parameter with obligatory.
the issue is
while executing from zpgm1 it will call the zpgm2 but it show error message like "parameter is required field" because its an mandatory field.
i don't want that message while submit ..
can you plz..
thanx in advancetry this if it works.
in the zpgm2 , instead of making the parameter as OBLIGATORY , do a validation on that field
eg
<b>instead of this</b>
parameters : p_matnr like mara-matnr <b>obligatory</b>.
<b>use this</b>
parameters : p_matnr like mara-matnr.
at selection-screen.
if p_matnr is initial.
message e001(ZE) with 'Matnr is mandatory field'.
endif. -
Reg:Submit statement Return Internal Table
Hi Team,
I have a query to return the internal table from the called program via SUBMIT statement to the calling statement ??
Example : Thing is that consider reports A and B , Report B is getting called from report A where in B we have one internal table full of data that i need to pull to report A and there i need to process it.
How can i achieve this?
Please let me know the possible ways.
Karthik.SHi karthik,
SUBMIT .... AND RETURN EXPORTING LIST TO MEMORY.
Then use FM LIST_FROM_MEMORY.
Thanks,
Anil -
Submit statement in ABAP program
Hi All,
I am using two submit statements in my program for two different reports. When i run the program i get the output screens of the two reports at the ouptut. Is there any way i can hide the user seeing the output screens of the two programs and display only the output screen of my program. If you have any clues please post it.
Thanks & Regards,
Rahul RathiYou can call executable programs from other ABAP programs using the following statement:
SUBMIT <rep>|(<field>) [AND RETURN] [<options>].
You can either specify the name of the program you want to call statically by entering the program name in the code of the calling program, or dynamically by specifying the name of a field (in parentheses) containing the name of the program. If the system cannot find the specified executable program when trying to execute the SUBMIT statement, a runtime error occurs.
If you omit the AND RETURN addition, all data and list levels of the calling program (the entire internal session) are deleted. After the called executable program has finished, control returns to the level from which you started the calling program.
If you use AND RETURN, the system stores the data of the calling executable program and returns to the calling after processing the called program. The system resumes executing the calling program at the statement following the call.
The SUBMIT statement has a set of additions <options> for passing data to the called program and specifying various other processing options. Some of them are described in the following sections:
Have a look at below link. It will help you.
http://www.sapdevelopment.co.uk/reporting/rep_submit.htm
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9dd035c111d1829f0000e829fbfe/content.htm
Best Regards,
Vibha
*Please mark all the helpful answers -
How to pass radiobuttons using a submit statements.
Hi All,
Can anyone tell me how to pass radiobuttons using Submit statement.
My problem is that I am able to pass one select option and one parameter using the statement:
submit (v_repid) to sap-spool without spool dynpro
spool parameters s_print_parms
using selection-screen '1000' WITH SELECTION-TABLE t_rspar_tab
and return.
This selection screens got to check selections based on 2 radio buttons available in the selection screen which also i need to pass through SUBMIT.Please let me know how do i pass this to the Submit statement.
Thankx in advance...
Helpful answers will be rewarded fully...Hi Susanth,
Create Variant for the calling program, Give that variant( here in the below program variant for calling program that I created is VAR1) in the calling program in SUBMIT Statement.
<b>
CALLING PROGRAM:
</b>
data:
w_variant(5) TYPE c VALUE 'VAR1'.
SUBMIT YH625_CALLED_PROGRAM USING SELECTION-SET w_variant.
<b>CALLING PROGRAM:</b>
TABLES spfli.
parameters:
w_radio1 RADIOBUTTON GROUP g1,
w_radio2 RADIOBUTTON GROUP g1.
SELECT-OPTIONS s_table FOR spfli-carrid.
WRITE '*************** This is Called program output **********************'.
Hope this solves your problem.
If you any query you are welcome.
Regards,
V.Raghavender. -
Using a layout in SUBMIT statement
Hi,
I am calling a program from another program using a SUBMIT statement. I'm also using a layout to do so.
SUBMIT rffmepgax
WITH s_fonds = s_fund-low
WITH s_fictr = s_fc-low
WITH s_hkont = c_gl
WITH p_per_fr = s_poper-low
WITH p_per_to = s_poper-high
WITH p_fyr_fr = s_year-low
WITH p_fyr_to = s_year-low
WITH s_fipex = c_citem
>>> WITH p_disvar = '/ZTRAVEL'
WITH p_maxsel = c_max
WITH s_wrttp = c_vt1
WITH s_wrttp = c_vt2
WITH FREE SELECTIONS texpr
AND RETURN
EXPORTING LIST TO MEMORY.
The problem is that /ZTRAVEL is a public layout that anyone can change. I can rewrite the code to use a user-specific layout, but then only I can run the program. If anyone else tries, it stops and says the layout doesn't exist.
Is it possible to create a public layout that cannot be changed by anyone? What is the t-code for this?
thanks,
KevinHi
USING SELECTION-SET <var>
This addition tells the system to start the called program with the variant var
You specify the variant in the quotes.
Check the below links
http://help.sap.com/saphelp_nw04s/helpdata/en/9f/dba51a35c111d1829f0000e829fbfe/frameset.htm
regarding calling another program from current report
Hope this helps
Regards
Shilpa -
How to use Submit Statement for mutiple Spools.
Hi Gurus,
I have a requirement wherein I need to Submit a Report Program to SAP-SPOOL which generates output for multiple Idocs.
For each Idoc I need to attach the spool to a particular object_id.
As of now I am doing this by putting the Submit statement in a loop.
I want to meet the same functionality without using a loop for different Idocs.
Ex.
LOOP AT IDOCS.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
CALL FUNCTION 'JOB_OPEN'
IF sy-subrc = 0.
SUBMIT YFAPINV_IDOC_RPTS TO SAP-SPOOL "USING SELECTION-SCREEN '1000'
WITHOUT SPOOL DYNPRO
SPOOL PARAMETERS print_parameters
WITH CREDATE IN CREDATE
WITH CRETIME IN CRETIME
WITH DOCNUM IN DOCNUM
WITH VENDOR IN VENDOR
WITH V_INVOIC IN V_INVOIC
WITH MESCODE IN MESCODE
WITH DOCSTAT IN DOCSTAT
WITH DC_NBR IN DC_NBR
WITH DOC_TYPE IN DOC_TYPE
WITH S_BSART IN S_BSART
WITH ap1_flag eq 'X'
AND RETURN.
IF sy-subrc EQ 0.
CALL FUNCTION 'JOB_CLOSE'
ENDIF.
ENDIF.
SELECT rqident rqcretime FROM tsp01
INTO (rqident,rqcretime)
WHERE rqowner = sy-uname
ORDER BY rqcretime DESCENDING.
EXIT.
ENDSELECT.
IF rqident IS NOT INITIAL.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
DATA l_line TYPE docs-lines.
LOOP AT l_tline.
CLEAR l_line.
MOVE l_tline-tdline TO l_line.
l_docs-lines = l_line.
APPEND l_docs.
ENDLOOP.
ENDIF.Hi,
Each submit will create only one spool. So I dont think this is possible. Yes what you can do though is that submit the program for all the IDocs at once ( provided your program YFAPINV can handle this) and then process the spool and separate the output for each IDoc after you retrieve the data from spool.
To retrieve the data from the spool, you can use the function 'RSPO_RETURN_ABAP_SPOOLJOB' pass the spool request number and it will return you a internal table with the spool data.
regards,
Advait -
Create spool for background jobs which uses submit statement
Hi Gurus,
I have a quick question regarding the backgroud jobs. When we run a program in the background , it should create a spool for us, but, the problem comes when I am running a program in the background, its not creating the spool. This program uses SUBMIT statement. This program collects the data and it will submit to the other program and then retuen. In this case, its not creating a spool. Its very important for us to look at the spool for this program. Does anybody cam across this kind of problem? I need ur inputs.
Thanks in advance, <REMOVED BY MODERATOR>
Regards,
Srinivas.
Edited by: Alvaro Tejada Galindo on Mar 18, 2008 4:31 PMhi check this link ...
Scheduling a submitable program as a background task with the number number in a background request name. After scheduling, the background task is completed by function module JOB_CLOSE and released immediately.
DATA: number TYPE tbtcjob-jobcount,
name TYPE tbtcjob-jobname VALUE 'JOB_TEST',
print_parameters TYPE pri_params.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = name
IMPORTING
jobcount = number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0.
SUBMIT submitable TO SAP-SPOOL
SPOOL PARAMETERS print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB name NUMBER number
AND RETURN.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = number
jobname = name
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDIF.
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=backgroundsubmit&adv=false&sortby=cm_rnd_rankvalue
sy-subrc Meaning
0 Background task scheduled successfully.
4 Scheduling cancelled by user on the selection screen.
8 Error during scheduling, i.e. when accessing JOB_SUBMIT internally.
12 Error in internal number assignment.
regards,
venkat.
Edited by: venkat appikonda on Mar 18, 2008 6:32 PM -
Hi All,
I have a problem with the usage of the submit statement.
I have a report program, say report 'A'.
In the report program 'A', I have a custom screen with number '9001'.
In the screen 9001, of program A, there is a button to display ALV.
In the PAI event, under module Module call_report, i am calling another report program say B, using the statement Submit B and return, when the button is clicked.
In the report program B i have a select options. and a docking alv container in it.
Flow of the program is:
1. Run the program A.
2. Select the button on screen 9001.
3. Call the report program B.
4. Enter a value in the select option and run the program B.
5. Go back to program A by selecting back button.
The problem is as at step 4.:
Now, when i press Intervals button ( Arrow mark ) present beside the select option, my program B is getting executed and the list output is being shown.
Kindly let me know what is the problem.you can very well use the submit procedure as suggested above or you also can do "leave to screen '9001' " for the back button.
-
Problem using Submit statement
Dear Experts,
I am trying to use submit statement in a report for transaction ML85. I have used the below code.
submit RMSRVF00 with FRGCO = 'S1'
with FRGGR = 'S1'
with listu = 'ENTRY_REL'
with ebeln = '4500000309'
AND RETURN.
But when I execute the report the values which I set are not filled and the screens opens with error message as '' Fill in all required entry fields". I am passing values for fields Releasecode - FRGCO, Release group - FRGGR, Purchase Order - EBELN, Scope of list - LISTU.
Please tell me why this message is coming and values are not set for fields.
KR,
Bharathhai,
try like this
SUBMIT ZVENDOR_REPORT_NEW1 USING SELECTION-SCREEN '100'
WITH SELECTION-TABLE TB_OUTPUT
WITH P_DATE = SY-DATUM
WITH S_ERDAT BETWEEN '01.01.2008' AND '01.06.2008'
AND RETURN.
or you can go in this way using type pools:
TYPE-POOLS RSDS.
DATA: TRANGE TYPE RSDS_TRANGE,
TRANGE_LINE LIKE LINE OF TRANGE,
TRANGE_FRANGE_T_LINE LIKE LINE OF TRANGE_LINE-FRANGE_T,
TRANGE_FRANGE_T_SELOPT_T_LINE LIKE LINE OF TRANGE_FRANGE_T_LINE-SELOPT_T,
TEXPR TYPE RSDS_TEXPR.
TRANGE_LINE-TABLENAME = 'TB_OUTPUT'.
TRANGE_FRANGE_T_LINE-FIELDNAME = 'S_ERDAT'.
TRANGE_FRANGE_T_SELOPT_T_LINE-SIGN = 'I'.
TRANGE_FRANGE_T_SELOPT_T_LINE-OPTION = 'BT'.
TRANGE_FRANGE_T_SELOPT_T_LINE-LOW = '01.01.2008'.
TRANGE_FRANGE_T_SELOPT_T_LINE-HIGH = '01.06.2008'.
APPEND TRANGE_FRANGE_T_SELOPT_T_LINE TO TRANGE_FRANGE_T_LINE-SELOPT_T.
TRANGE_FRANGE_T_SELOPT_T_LINE-SIGN = 'I'.
TRANGE_FRANGE_T_SELOPT_T_LINE-OPTION = 'NE'.
TRANGE_FRANGE_T_SELOPT_T_LINE-LOW = SY-DATUM.
APPEND TRANGE_FRANGE_T_SELOPT_T_LINE TO TRANGE_FRANGE_T_LINE-SELOPT_T.
APPEND TRANGE_FRANGE_T_LINE TO TRANGE_LINE-FRANGE_T.
APPEND TRANGE_LINE TO TRANGE.
CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'
EXPORTING
FIELD_RANGES = TRANGE
IMPORTING
EXPRESSIONS = TEXPR.
SUBMIT ZVENDOR_REPORT_NEW1 VIA SELECTION-SCREEN
WITH SELECTION-TABLE TB_OUTPUT
WITH FREE SELECTIONS TEXPR AND RETURN. -
Problem in spool generation using SUBMIT statement
Hi Experts,
I am facing a problem in getting the spool no using the SUBMIT statemet.I am exporting an internal table with some data and then importing the same in another dummy program to get the ALV list output.This dummy program is called using the SUBMIT TO SAP-SPOOL statement.
The code is as follows:
Moderator message - Please respect the 2,500 character maximum when posting. Post only the relevant portions of code
The trouble is the submit statement is not calling the dummy program in this case.What can be the problem here and how can it be resolved.In my dummy program I am simply using the exported table to convert into list display so as to get a spool no. for it.
My objective is to get the spool no. for this sothat I can convert this spool to PDF.
Thanks and Regards
Abhishek
Edited by: abhishek singh on Oct 27, 2009 9:26 PM
Edited by: abhishek singh on Oct 27, 2009 9:27 PM
Edited by: abhishek singh on Oct 27, 2009 9:29 PM
Edited by: Rob Burbank on Oct 27, 2009 4:41 PMHi Experts ,
I am posting the code again:
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = lv_name
IMPORTING
jobcount = lv_number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
archive_mode = gc_spool_print "For print = '1'
no_dialog = abap_true
IMPORTING
out_parameters = lv_print_parameters
valid = lv_valid_flag
EXPORT fui_fin_split TO MEMORY ID 'CUSTOMER'.
SUBMIT zvrr9333_dummy TO SAP-SPOOL
SPOOL PARAMETERS lv_print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB lv_name NUMBER lv_number
AND RETURN.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = lv_number
jobname = lv_name
strtimmed = abap_true "Immediate Start
MESSAGE 'Spool not created'(e15) TYPE gc_success.
ENDIF.
SELECT jobname
jobcount
stepcount
listident
FROM tbtcp
INTO TABLE gi_spool
WHERE jobname EQ fuv_name
AND jobcount EQ fuv_number.
IF sy-subrc EQ 0.
READ TABLE gi_spool INTO lw_spool INDEX 1.
fcv_spoolno = lw_spool-listident.
ENDIF.
SELECT jobname
jobcount
stepcount
listident
FROM tbtcp
INTO TABLE gi_spool
WHERE jobname EQ fuv_name
AND jobcount EQ fuv_number.
IF sy-subrc EQ 0.
READ TABLE gi_spool INTO lw_spool INDEX 1.
fcv_spoolno = lw_spool-listident.
ENDIF.
Maybe you are looking for
-
Unable to change component children properties in flex
Hi, I have a component named PatientCanvas derived from Canvas <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="Alert.show(getChildren().length.toString())"> <mx:Script> <![CDATA[ public function showChildren():void{
-
Can I update my old macbook to a newer OS
I have the the older black macbook. I am currently running Mac OS X version 10.5.8 and I was wondering if it would be poosible to update to the newest OS X. thank you for any help
-
I have Dancing Queen By ABBA on my iPod, and on Cover Flow, the art is correct, but when i switch to the song itself, it shows a Sugarland cover. I tries resetting my iPod, and even replacing the artwork with teh same image and resyncing it (it was a
-
Three days ago, I was happily using my AX to access the internet. Then two days ago I disconnected the AX in order to use the ethernet cable for something else. But when I went to plug the cable back in, I started to get a blinking amber light. I've
-
Dear Nokia and all, The OVI suite 3.1.1.90 still can't connect to Nokia Map v3.08 on my N8. Once I press the map button in OVI suite and it show an error message " Please restart your PC. If the problem can't be solved, please download the latest ver