Error in the submit statement

Hi,
  Am trying to submit a program whose result has to be sent to a sap spool.When i tried to do so its throwing an error as "Execption condition cntrl_error' raised.How to get rid of this error.
DATA: gi_seltab    TYPE TABLE OF rsparams,
      low       TYPE d,
      gw_seltab LIKE LINE OF gi_seltab.
gw_seltab-selname = 'CREDAT'.
gw_seltab-kind    = 'S'.
gw_seltab-sign    = 'I'.
gw_seltab-option  = 'BT'.
low =  sy-datum - 2.
gw_seltab-low = low.
gw_seltab-high = sy-datum.
APPEND gw_seltab TO gi_seltab.
            SUBMIT rseidoc2
        TO SAP-SPOOL
        WITHOUT SPOOL DYNPRO
       VIA JOB gv_name NUMBER gv_number
        WITH SELECTION-TABLE gi_seltab and return  .

Your code is too simple.  It will crash whenever any field contains an apostrophe.  cfqueryparam will solve this.
Also, you say that some of your datatypes are yes/no.  You are trying to insert text into those fields.  I don't know if that is possible or not because I never use those datatypes.
I debug problems like these as follows.  First run this:
insert into table (
field1
<!--- , field2
, field3
etc
, fieldx
--->
values (
value1
<!--- , value2
, value3
etc
, valuex
--->
If that works, uncomment the fields and values one at a time until it crashes.  Then you'll know what field caused the problem.

Similar Messages

  • Connection CLosed Error due to submit statement.

    Hi friends,
    I have a Method which calls this function
    CALL FUNCTION 'Z_SLOT_TRIGGER_PRODUCTS'
              EXPORTING
                iv_rspar   = lt_rspar
                iv_variant = lv_variant.
    The Function module Z_slot_trigger_prouducts has a form in which there is a submit statement
    Submit the slotting transaction to background & process the transaction immediatly
    SUBMIT z_slot_products
       USING SELECTION-SET gv_variant
        WITH SELECTION-TABLE p_lt_rspar_tmp
         AND RETURN.
    During the debuging i see that when it reaches this submit statement it is giving an error as below in the inbound queue:
    ThISend: bad tm type / connection closed (no data)
    Can anyone please help me with this error. Thanks in advance.

    Check the documentation of the submit statement:
    When the SUBMIT statement is executed, the system runs an authorization check for the authorization group specified in the program attributes.

  • "Syntax error in the MDX statement " in Process chain failure??Urgent pls

    Hi Experts,
    could any one suggest me the procedure to rectify the below problems in process chain?
    1."Syntax error in the MDX statement "
    2."Error when getting data (Error when getting data (AXI))"
    Rgds,
    BH

    In which case it'll be that Access has a different date format to MySQL, and you're trying to push the string "'25-Apr-12 10:55 PM" into Access, which it's not understanding. To get around this, you need to treat your variable as a true date/time object, rather than a formatted string.
    CFQueryParams should be used on absolutely every database platform, they'll stop your website being vulnerable to SQL Injection attacks for one, which at the moment you're wide open to. Replace your query with something like this:
    <cfquery name="input_comments" datasource="#DSN#" username="#DSNUSER#" password="#DSNPASS#">
          INSERT INTO comments(
                             commenter,
                             comment,
                             datetime,
                             post_id
                   VALUES(
                             <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.commenter#" />,
                             <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.comment#" />,
                             now(),
                             <cfqueryparam cfsqltype="cf_sql_numeric" value="#form.post_id#" /> )
    </cfquery>
    The QueryParams will handle the data types for you, and should pass values around more safely and with fewer issues. Assuming you just want to store the current date and time you don't even need to get ColdFusion involved, as databases have their own functions for this. I believe Access' version is simply NOW(), so I've put that in your query.
    Give the above a go.

  • Error during the submit process

    I am trying to download an eBook for course, and it does not let me log in with my network username and password. It gives me an "error during the submit process".
    I have charter internet, and we contacted them to make sure my signal strength was strong enough. Reset password. I am using Adobe Reader X.

    I am also facing same error.
    Please let me know if you have resolved problem.

  • SQL error msg - The DELETE statement conflicted with the SAME TABLE REFERENCE constraint

    Executed as user: ****. The DELETE statement
    conflicted with the SAME TABLE REFERENCE constraint "FK_PARENT_TASK_REF".
    The conflict occurred in database "****", table "****", column
    'PARENT_TASK_ID'. [SQLSTATE 23000] (Error 547) The statement has been
    terminated. [SQLSTATE 01000] (Error 3621). The step failed.
    Does this error msg indicate the whole script failed to execute or was it just a single step/task that failed ?
    What does error msg mean ?
    Anyway to prevent this error msg and ensure script runs successfully

    Hi mdavidh,
    This error occurs because the record  'PARENT_TASK_ID' was referenced by 'FK_PARENT_TASK_REF'.
    Please refer below codes:
    CREATE TABLE MyTable (
    ID INT, primary key(ID), -- primary key
    ID_Parent INT foreign key(ID_Parent) references MyTable(ID), -- foreign key reference the same table
    insert into MyTable(ID,ID_Parent)
    values(0,0);
    insert into MyTable(ID,ID_Parent)
    values(1,0);
    insert into MyTable(ID,ID_Parent)
    values(2,0);
    insert into MyTable(ID,ID_Parent)
    values(3,1);
    insert into MyTable(ID,ID_Parent)
    values(4,3);
    insert into MyTable(ID,ID_Parent)
    values(5,4);
    CREATE TRIGGER MyTrigger
    on MyTable
    instead of delete
    as
    set nocount on
    update MyTable set ID_Parent = null where ID_Parent in (select ID from deleted)
    delete from MyTable where ID in (select ID from deleted)
    Now we could delete records.
    delete from MyTable where ID_Parent=0
    Thanks,
    Candy Zhou

  • DCM BitLocker protection assigned configuration baseline return ERROR in the compliance state

    Hello,
    Here is the situation: I Installed MBAM 2.5 and done the integration with SCCM 20012 R2. Modified the GPO for the targeted clients.
    Encryption started, DCM policies ran and Reports on SCCM server (after a long period), it returned compliances of my tests computers. I have removed and reinstalled SCCM integration. NOW, the SCCM clients are returning Configuration Baselines error
    when the evaluate, (NOT Non-Compliant). It was running fine before.
    here is a sample of my DcmWmiProvider.log:
    ScriptProvider::ReadDiscoveryInformation - ScriptType: 1 ScriptProvider 2015-01-26 11:39:44 2832 (0x0B10)
    ScriptProvider::CreateInstanceEnumAsync - Script Execution Returned :1, Error Message:(null) ScriptProvider 2015-01-26 11:39:44 2832 (0x0B10)
    Failed in discovering instance.
    Incorrect function. (Error: 80070001; Source: Windows) ScriptProvider 2015-01-26 11:39:44 2832 (0x0B10)
    Failed to do HandleExecQueryAsync().
    Incorrect function. (Error: 80070001; Source: Windows) ScriptProvider 2015-01-26 11:39:44 2832 (0x0B10)
    Failed to process CScriptProvider::GExecQueryAsync.
    Incorrect function. (Error: 80070001; Source: Windows) ScriptProvider 2015-01-26 11:39:44 2832 (0x0B10)
    ScriptProvider::ReadDiscoveryInformation - reading discovery script definition ScriptProvider 2015-01-26 11:39:44 2832 (0x0B10)
    ScriptProvider::ReadDiscoveryInformation - ScriptType: 1 ScriptProvider 2015-01-26 11:39:44 2832 (0x0B10)
    You can see that the script is generating an error with an incorrect function. This is weird! That script was working correctly before. I don't even know where this script is located on the SCCM server.
    Anyone can help me with this problem?
    Big Air

    Hi!
    I think I found the root cause of this problem. I'm not 100% sure, but the
    Configuration baseline ID that the client receive is reuse in the policy after uninstalling and reinstalling the MBAM Integration. The client can't find it on the configuration point, since it acquired a new AssignmentID when fetching the policies
    and reevaluating the Configuration Base line.
    Here how I fixed this:
    I have exported using the Export function on the two Configuration Items named
    BitLocker Operating System Drive Protection, BitLocker Fixed Data Drives Protection,
    then created a new Configuration Baseline and imported the two Configurations Items. Deployed to the targeted collection. It work on first try. I also disabled the faulty one. You can also delete it, since it's useless. Now everything is all aligned
    and working.
    Hope someone can confirm this hypothesis or have a more elegant solution?
    Thanks!
    Big Air

  • PLS-00382 Type error in the select statement in the Cursor.

    Hi,
    I am trying to combine several different sql statements to form one large cursor for my java layer. I have attached the PL/SQL procedure that I am using and when I am trying to compile it is giving PLS-00382 error. Please help me.
    PL/SQL Code.
    CREATE OR REPLACE PROCEDURE test IS
    tmpVar NUMBER;
    TYPE checkRecord is RECORD (
    name1 APPS.EMCSV_R25_DIST_PROF_TBL.distmgrfname%TYPE,
         name2 APPS.EMCSV_R25_DIST_PROF_TBL.distmgrfname%TYPE,
         name3 APPS.EMCSV_R25_DIST_PROF_TBL.distmgrfname%TYPE,
         name4 APPS.EMCSV_R25_DIST_PROF_TBL.distmgrfname%TYPE,
         oppstatus1 APPS.EMCSV_R25_DIST_PROF_TBL.oppstatus%TYPE,
         oppcount1 APPS.EMCSV_R25_DIST_PROF_TBL.oppcount%TYPE,
         oppamount1 APPS.EMCSV_R25_DIST_PROF_TBL.oppamount%TYPE,
    oppstatus2 APPS.EMCSV_R25_DIST_PROF_TBL.oppstatus%TYPE,
         oppcount2 APPS.EMCSV_R25_DIST_PROF_TBL.oppcount%TYPE,
         oppamount2 APPS.EMCSV_R25_DIST_PROF_TBL.oppamount%TYPE,
         oppstatus3 APPS.EMCSV_R25_DIST_PROF_TBL.oppstatus%TYPE,
         oppcount3 APPS.EMCSV_R25_DIST_PROF_TBL.oppcount%TYPE,
         oppamount3 APPS.EMCSV_R25_DIST_PROF_TBL.oppamount%TYPE,
         oppstatus4 APPS.EMCSV_R25_DIST_PROF_TBL.oppstatus%TYPE,
         oppcount4 APPS.EMCSV_R25_DIST_PROF_TBL.oppcount%TYPE,
         oppamount4 APPS.EMCSV_R25_DIST_PROF_TBL.oppamount%TYPE);
    TYPE checkCur IS REF CURSOR RETURN checkRecord;
    checkCurVal checkCur;
    checkCurRec checkRecord;
    chechcurVal checkCur;
    NAME: test
    PURPOSE:
    REVISIONS:
    Ver Date Author Description
    1.0 3/8/2006 1. Created this procedure.
    NOTES:
    Automatically available Auto Replace Keywords:
    Object Name: test
    Sysdate: 3/8/2006
    Date and Time: 3/8/2006, 10:01:59 AM, and 3/8/2006 10:01:59 AM
    Username: (set in TOAD Options, Procedure Editor)
    Table Name: (set in the "New PL/SQL Object" dialog)
    BEGIN
    tmpVar := 0;
    OPEN checkCurVal FOR
    SELECT
         a.distmgrfname,
    a.distmgrlname,
         a.salesrepfname,
         a.salesreplname,
         cursor (
         SELECT b.oppstatus,
         b.oppcount,
         b.oppamount
         from APPS.EMCSV_R25_DIST_PROF_TBL b
         where b.userid = '100000001' AND
         b.reportid = 'ISARPTR25' AND
                   b.oppstatus = 'Open' AND
                   b.isoppstatusselected = 'Y'),
         cursor (
         SELECT c.oppstatus,
         c.oppcount,
         c.oppamount
         from APPS.EMCSV_R25_DIST_PROF_TBL c
         where c.userid = '100000001' AND
         c.reportid = 'ISARPTR25' AND
                   c.oppstatus = 'Commit' AND
                   c.isoppstatusselected = 'Y'),
         cursor (
         SELECT
         d.oppstatus,
         d.oppcount,
         d.oppamount
         from APPS.EMCSV_R25_DIST_PROF_TBL d
         where d.userid = '100000001' AND
         d.reportid = 'ISARPTR25' AND
                   d.oppstatus = 'Closed-Won' AND
                   d.isoppstatusselected = 'Y'),
         cursor (
         SELECT
         e.oppstatus,
         e.oppcount,
         e.oppamount
         from APPS.EMCSV_R25_DIST_PROF_TBL e
         where e.userid = '100000001' AND
         e.reportid = 'ISARPTR25' AND
                   e.oppstatus = 'Closed-Lost' AND
                   e.isoppstatusselected = 'Y')               
                   from APPS.EMCSV_R25_DIST_PROF_TBL a
         where a.userid = '100000001' AND
         a.reportid = 'ISARPTR25' AND
                   a.isoppstatusselected = 'Y' ;
         LOOP
         FETCH checkCurVal INTO checkCurRec;
              EXIT WHEN checkCurVal%NOTFOUND;
              DBMS_OUTPUT.PUT_LINE (checkCurRec.name1 ||
              checkCurRec.name2 ||
                                            checkCurRec.name3 ||
                                            checkCurRec.name4 ||
                                            checkCurRec.oppstatus1 ||
                                            checkCurRec.oppcount1 ||
                                            checkCurRec.oppamount1 ||
                                            checkCurRec.oppstatus2 ||
                                            checkCurRec.oppcount2 ||
                                            checkCurRec.oppamount2 ||
                                            checkCurRec.oppstatus3 ||
                                            checkCurRec.oppcount3 ||
                                            checkCurRec.oppamount3 ||
                                            checkCurRec.oppstatus4 ||
                                            checkCurRec.oppcount4 ||
                                            checkCurRec.oppamount4);                                        
         END LOOP;     
    END test;
    /

    Thanks for Replying.
    I am trying to build a cursor to fetch the records from the table. Table structure is something like this.
    reportid VARCHAR2(10) NOT NULL,
    distmgrid NUMBER DEFAULT 0,
    salesrepid NUMBER DEFAULT 0,
    distmgrfname VARCHAR2(40 CHAR) DEFAULT 'rfname',
    distmgrlname VARCHAR2(40 CHAR) DEFAULT 'rlname',
    salesrepfname VARCHAR2(40 CHAR) DEFAULT 'afname',
    salesreplname VARCHAR2(40 CHAR) DEFAULT 'aname',
    issalesrepselected CHAR(1 CHAR) DEFAULT 'Y',
    oppstatus VARCHAR2(40 CHAR) DEFAULT 'oppstatus',
    isoppstatusselected CHAR(1 CHAR) DEFAULT 'Y',
    oppcount NUMBER DEFAULT 0,
    oppamount NUMBER DEFAULT 0,
    oppquote NUMBER DEFAULT 0,
    Attribute1 VARCHAR2(10 CHAR),
    Attribute2 VARCHAR2(15 CHAR),
    Attribute3 NUMBER,
    Attribute4 NUMBER
    But from the above table, I am trying to build a report for which I need a cursor which I listed in the proc. Is it not possible to build a cursor within a cursor?
    Yes each individual cursor return only one row.

  • SQL Error in the modify statement

    Hi All,
    We are facing an SQL error while uploading an archive file. The error is   
    caused while executing a modify statement which leads to a dump. The       
    text given in the SM21 logs is                                   
    'Database error -1 with SEL access to table SMMW_MCD_DMY_AVE'              
    The dump generated in ST22 says DBIF_RSQL_SQL_ERROR
    Database error text........: "[Microsoft][SQL Native Client]Session Provider:
    Connection has been closed by peer [xFFFFFFFF]. "
    Any pointers to figure out how to resolve this could be really helpful.
    Regards,
    Liji

    Hi,
    This sounds like internal message 0000062076 2010  
    which I'm currently working on.
    If it is this BUZ-upload problem: ask your system responsible to set the instance profile parameter
    dbs/mss/packet_size=8192
    After the R3-system is restarted, the transaction should work.
    The problem was caused by an UPSERT-command writing a 170 MB BLOB.
    UPSERT means: all values for the row are provided. Try first an UPDATE, if this fails with NOT FOUND insert.
    This UPDATE, IF NOT FOUND INSERT is send as one batch to the database server.
    For SQL Server 9.00, a batch may only
    consist of 64K network packets. The default network packet size is 4K. 4K * 64KB == 256 MB.
    The 170 MB BLOB is sent twice, so we don't fit in the 64K packets.
    This breaks the connection and you get on client side the"Connection has been closed by peer".
    On server side you see (SQL Server error log) "A fatal error occurred while reading the input stream from the network. The session will be terminated."
    If you want to increase the network packet size used by your db connections in the SAP work processes, you can use  the profile parameter
    dbs/mss/packet_size.
    Maximal setting is 32767. In your case I would recommend 8192.
    Best regards,
    Guenther
    Edited by: Guenther Drach on Jan 7, 2010 3:13 PM
    Edited by: Guenther Drach on Jan 7, 2010 3:15 PM

  • Error on the import statement

    // chekdb1.cpp : main project file.
    #include
    "stdafx.h"
    #include
    <windows.h>
    #include
    <stdio.h>
    #include
    <conio.h>
    #include
    <iostream>
    using
    namespacestd;
    #import
    <"C:\Program Files (x86)\Common Files\System\ado\msado15.dll">rename("EOF",
    "EndOfFile")
    int
    main(intargc,
    char* argv[])
    HRESULT hr = S_OK;
    try
             CoInitialize(NULL);
    // Define string variables.
            _bstr_t strCnn(
    "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=ma;Initial Catalog=UNI;Data Source=FALCON;Workstation
    ID=FALCON");
           _RecordsetPtr pRstAuthors = NULL;
    // Call Create instance to instantiate the Record set
          hr = pRstAuthors.CreateInstance(
    __uuidof(Recordset));
    if(FAILED(hr))
                cout<<
    "Failed creating record set instance\n";
    return0;
    //Open the Record set for getting records from Author table
          pRstAuthors->Open(
    "SELECT * FROM student",strCnn,
    adOpenStatic,     adLockReadOnly,adCmdText);
    //Declare a variable of type _bstr_t
         _bstr_t valField1;
    intvalField2;
         pRstAuthors->MoveFirst();
    //Loop through the Record set
    if(!pRstAuthors->EndOfFile)
    while(!pRstAuthors->EndOfFile)
              valField1 = pRstAuthors->Fields->GetItem(
    "id")->Value;
              valField2 = pRstAuthors->Fields->GetItem(
    "name")->Value.intVal;
              cout<<
    "%d - %s\n"<<valField2<<(LPCSTR)valField1;
              pRstAuthors->MoveNext();
    catch(_com_error & ce)
          cout<<
    "Error:%s\n"<<ce.Description;
      CoUninitialize();
    return0;

    You may get better help in C++ forum here. What is the error you're getting and which line of code generates it?
    For every expert, there is an equal and opposite expert. - Becker's Law
    My blog
    My TechNet articles

  • Error in the sql statement for SQL Server

    Hy:)
    i am using this sql statement to get all fields, which have been changed since yesterday
    SELECT ITEMCODE FROM SBODemo_UK.DBO.OITM  WHERE CREATEDATE IS >= DATEADD(day, -1, GetDate())
    But its not working.. you have any suggestions?
    cheers,
    Maggie

    Hello Margarete,
    I think ur query works if u simply remove 'IS' from it
    SELECT ITEMCODE FROM SBODemo_India.DBO.OITM
    WHERE CREATEDATE >= DATEADD(day, -1, GetDate())
    Manu

  • 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 AM

    Hi 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

  • Error when generating the SQL statement while running the Query

    Hello SDN Mates,
    Am using three cubes in one infoset and build a query on that. Intially it was running fine, but now am getting error generating the SQL statement. Can you please throw some light on this. Your idea would be highly appreciated.
    Thanks and Regards
    Arun S

    Hi Arun
    is there any change in the objects (Check also the consistency of infoobject ) included in infoset, just make sure those are active, open the query in designer and check if no error/warning message are present
    Thanks
    Tripple k

  • 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 Rathi

    You 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

  • SUBMIT statement doesnt work

    hi
    I want to execute program RIMODGEN ( CFM1 transaction ) with some values filled in MA_MATNR
    But this program is not able to execute the program with SUBMIT statement and return & close the job, please tell me whats the problem with this....
    Points for all helpful answers
    * Job open
      call function 'JOB_OPEN'
           exporting
                delanfrep        = ' '
                jobgroup         = ' '
                jobname          = jobname
                sdlstrtdt        = sy-datum
                sdlstrttm        = sy-uzeit
           importing
                jobcount         = jobcount
           exceptions
                cant_create_job  = 01
                invalid_job_data = 02
                jobname_missing  = 03.
      if sy-subrc ne 0.
                                           "error processing
      endif.
    * Insert process into job
    * CALL TRANSACTION
    SUBMIT cfm1  with MA_MATNR in MA_MATNR
                      WITH I_MODID  = 'TEST_RAJ'
                      WITH I_LOGSYS = 'D41030'
                      with I_APPL   = 'TEST_RAJ'
                      user sy-uname
                      via job jobname
                      number jobcount
                      and RETURN.
      if sy-subrc > 0.
          message e200(zz) with 'RIMODGEN call failed'. "error processing
      endif.
    * Close job
      starttime-sdlstrtdt = sy-datum + 1.
      starttime-sdlstrttm = '220000'.
      call function 'JOB_CLOSE'
           exporting
                event_id             = starttime-eventid
                event_param          = starttime-eventparm
                event_periodic       = starttime-periodic
                jobcount             = jobcount
                jobname              = jobname
                laststrtdt           = starttime-laststrtdt
                laststrttm           = starttime-laststrttm
                prddays              = 1
                prdhours             = 0
                prdmins              = 0
                prdmonths            = 0
                prdweeks             = 0
                sdlstrtdt            = starttime-sdlstrtdt
                sdlstrttm            = starttime-sdlstrttm
                strtimmed            = starttimeimmediate
                targetsystem         = host
           exceptions
                cant_start_immediate = 01
                invalid_startdate    = 02
                jobname_missing      = 03
                job_close_failed     = 04
                job_nosteps          = 05
                job_notex            = 06
                lock_failed          = 07
                others               = 99.
      if sy-subrc eq 0.
         MESSAGE i200(zz) with 'Done !!'.    "error processing
         stop.
      endif.

    Rob and I were pointing out that you have the transaction name in the SUBMIT statement in your code that you posted above, so if you are not currently using the program name in your program, make sure that you are.  Also, you may want to use the extension  "     to sap-spool without spool dynpro"  of the SUBMIT statement, the ouput will then go to the spool.  Here is an example program where I am creating a background job .
    report zrich_0004 .
    data:   sdate type sy-datum,
            stime type sy-uzeit,
            l_valid,
            ls_params like pri_params,
            l_jobcount like tbtcjob-jobcount,
            l_jobname  like tbtcjob-jobname.
    start-of-selection.
    * Get Print Parameters
      call function 'GET_PRINT_PARAMETERS'
           exporting
                no_dialog      = 'X'
           importing
                valid          = l_valid
                out_parameters = ls_params.
    * Open Job
      l_jobname = 'ZRICH_0005'.
      call function 'JOB_OPEN'
           exporting
                jobname  = l_jobname
           importing
                jobcount = l_jobcount.
    * Submit report to job
      submit zrich_0005
           via job     l_jobname
               number  l_jobcount
           to sap-spool without spool dynpro
               spool parameters ls_params
                  and return.
    * Kick job off 30 seconds from now.
      sdate = sy-datum.
      stime = sy-uzeit + 30.
    * Schedule and close job.
      call function 'JOB_CLOSE'
           exporting
                jobcount  = l_jobcount
                jobname   = l_jobname
                sdlstrtdt = sdate
                sdlstrttm = stime
    *            strtimmed = 'X'
    Regards,
    Rich Heilman         .

  • Need information about SUBMIT statement

    Hi,
        I am submitting program1 in program2 by using SUBMIT keyword.My  requirement  is want to pass selection screen.
      parameters of program2 to program1 without using variant bcz that parameter   
      values are not constant.
    Thanks for ur information in advance..
    hari...

    hI
    <b>SUBMIT - selscreen_parameters</b>
    USING-SELECTION-SET supplies all the selection screen components by means of a Variante variant. If you specify USING-SELECTION-SETS OF PROGRAM , you can use a variant from a different program; if you specify WITH SELECTION-TABLE, values for several selection screen components are transferred as the content of an internal table rspar; WITH sel value supplies individual selection screen components sel with values value. The addition WITH FREE SELECTIONS allows you to transfer dynamic selections to the selection screen for a logical database.
    <b>... USING SELECTION-SET variant</b>
    If you specify this edition, the parameters and selection criteria for the selection screen are supplied with values from a variant. For variant, you must specify a character-like data object that contains the name of a variant for the program accessed when the statement is executed. If the variant does not exist, the system sends an error message. If the variant belongs to a different selection screen, it is ignored.
    You can create and manage variants for every program in which selection screens are defined, either in the ABAP Workbench or during execution of the program by choosing Goto - Variants on a selection screen.
    <b>... USING SELECTION-SETS OF PROGRAM prog</b>
    If you specify this addition, the variants of the program prog are used in the program accessed. For prog, you must specify a character-like data object that contains the name of a program when the statement is executed. The addition has the following effect:
    If a variant variant is specified with USING SELECTION-SET, the system searches for this variant in the program prog.
    If the selection screen is displayed with VIA SELECTION-SCREEN, all the functions that can be accessed by means of the menu path Goto - Variants affect the variants of the program prog. However, these functions are only active if prog is an executable program.
    The program prog should contain a selection screen that has the same parameters and selection criteria as the selection screen used in the program accessed.
    <b>... WITH SELECTION-TABLE rspar</b>
    If you specify this addition, parameters and selection criteria on the selection screen are supplied from an internal table rspar. You must specify an internal table with the row type RSPARAMS for rspar. The structured data type RSPARAMS is defined in the ABAP Dictionary and has the following components, all of which are data type CHAR:
    SELNAME (length 8),
    KIND (length 1),
    SIGN (length 1),
    OPTION (length 2),
    LOW (length 45),
    HIGH (length 45).
    To supply parameters and selection criteria for the selection screen with specific values, the lines in the internal table rspar must contain the following values:
    SELNAME must contain the name of a parameter or selection criterion for the selection screen in block capitals
    KIND must contain the type of selection screen component (P for parameters, S for selection criteria)
    SIGN, OPTION, LOW, and HIGH must contain the values specified for the selection table columns that have the same names as the selection criteria; in the case of parameters, the value must be specified in LOW and all other components are ignored.
    If the name of a selection criterion is repeated in rspar, this defines a selection table containing several lines and passes it on to the selection criterion. If parameter names occur several times, the last value is passed on to the parameter.
    The contents of the parameters or selection tables for the current program can be entered in the table by the function module RS_REFRESH_FROM_SELECTOPTIONS.
    In contrast to selection tables, the data types of the components LOW and HIGH in table rspar are always of type CHAR and are converted to the type of the parameter or selection criterion during transfer, if necessary.
    <b>... WITH sel1 value1 WITH sel2 value2 ...</b>
    This addition supplies values to individual parameters or selection criteria sel for the selection screen. For sel, you must specify the name of a parameter or selection criterion directly. Parameters are supplied with single values and selection criteria with selection tables that overwrite values already specified in the program accessed. The selection table to be transferred is compiled from all the WITH sel additions that address the same selection criterion sel. You can specify the following statements for value:
    {EQ|NE|CP|NP|GT|GE|LT|LE} dobj [SIGN sign]
    Transfer of a single value.
    The operators before dobj correspond to the values specified for column OPTION for selection tables. For dobj, you must specify a data object whose data type can be converted to the data type of the selection screen component sel. For sign, you can specify a character-like field that must contain 'I' or 'E'. The standard value is 'I'.
    If sel is a selection criterion, the system appends a line in the selection table to be transferred, placing the operator in column OPTION, the content of dobj in column LOW, and the content of sign in column SIGN.
    If sel is a parameter, it is set to the value of dobj in the program accessed. The operator and the value of sign are not taken into account.
    [NOT] BETWEEN dobj1 AND dobj2 [SIGN sign]
    Transfer of an interval.
    In this case, sel must be a selection criterion. For dobj, you must specify data objects whose data type can be converted to that of the columns LOW and HIGH for the selection criterion sel. For sign, you can specify a character-like field that must contain 'I' or 'E'. The standard value is 'I'.
    A line is appended in the selection table to be transferred. If NOT is specified, the value 'NB' is placed in column OPTION; otherwise, the value entered is 'BT'. The content of the data objects dobj and sign is placed in the columns LOW, HIGH, and SIGN.
    IN rtab
    Transfer of a ranges table.
    In this case, sel must be a selection criterion. For rtab, you must specify an internal table that has the same structure as the selection table for selection criterion sel. You can create a table like this using the addition RANGE OF to the statements TYPES and DATA.
    The lines in table rtab are appended to the selection table to be transferred.
    You can also use = or INCL instead of the operator EQ.
    You can specify the addition WITH sel value more than once, and you can also specify the same selection screen component more than once.
    <b>Example</b> The program report1 has a stand-alone selection screen with the screen number 1100. In the program report2, an internal table with row type RSPARAMS and a ranges table are filled for this selection screen. These are transferred at SUBMIT together with a single condition.
    <b>Program accessed</b>
    REPORT report1.
    DATA text(10) TYPE c.
    SELECTION-SCREEN BEGIN OF SCREEN 1100.
      SELECT-OPTIONS: selcrit1 FOR text,
                      selcrit2 FOR text.
    SELECTION-SCREEN END OF SCREEN 1100.
    <b>Calling program</b>
    REPORT report2.
    DATA: text(10)   TYPE c,
          rspar_tab  TYPE TABLE OF rsparams,
          rspar_line LIKE LINE OF rspar_tab,
          range_tab  LIKE RANGE OF text,
          range_line LIKE LINE OF range_tab.
    rspar_line-selname = 'SELCRIT1'.
    rspar_line-kind    = 'S'.
    rspar_line-sign    = 'I'.
    rspar_line-option  = 'EQ'.
    rspar_line-low     = 'ABAP'.
    APPEND rspar_line TO rspar_tab.
    range_line-sign   = 'E'.
    range_line-option = 'EQ'.
    range_line-low    = 'H'.
    APPEND range_line TO range_tab.
    range_line-sign   = 'E'.
    range_line-option = 'EQ'.
    range_line-low    = 'K'.
    APPEND range_line TO range_tab.
    SUBMIT report1 USING SELECTION-SCREEN '1100'
                   WITH SELECTION-TABLE rspar_tab
                   WITH selcrit2 BETWEEN 'H' AND 'K'
                   WITH selcrit2 IN range_tab
                   AND RETURN.
    <b>Result</b>
    After report1 has been accessed by report2, the selection tables for the selection criteria selcrit1 and selcrit2 in the program accessed contain the following entries:
      SIGN OPTION LOW HIGH
    selcrit1 I EQ ABAP 
    selcrit2 I BT H K
    selcrit2 E EQ H 
    selcrit2 E EQ K 
    <b>... WITH FREE SELECTIONS texpr</b>
    This addition supplies values to the dynamic selections for the selection screen for a logical database. The program accessed must be linked to a logical database that supports dynamic selections. texpr must be an internal table of the type RSDS_TEXPR from type group RSDS.
    In texpr, the selections for the dynamic selections are specified in an internal format (stack formula). You can use the function modules FREE_SELECTIONS_INIT, FREE_SELECTIONS_DIALOG, and FREE_SELECTIONS_RANGE_2_EX from the function group SSEL to fill texpr in the calling program. While the first two function modules execute a user dialog, you can transfer ranges tables to FREE_SELECTIONS_RANGE_2_EX for each node in the dynamic selection in an internal table of the type RSDS_TRANGE. These are then converted to a table of the row type RSDS_TEXPR. If the calling program contains a selection screen with the same dynamic selections, you can transfer its content beforehand to a table of the type RSDS_TRANGE using the function module RS_REFRESH_FROM_DYNAMICAL_SEL.
    The lines in the internal table type RSDS_TRANGE contain a flat component TABLENAME for each node and a table-like component FRANGE_T of the type RSDS_FRANGE_T for the fields in the node. The lines in RSDS_FRANGE_T contain a flat component FIELDNAME for each field and a table-like component SELOPT_T of the row type RSDSSELOPT from the ABAP Dictionary. RSDSSELOPT contains the four components SIGN, OPTION, LOW, and HIGH and can include the ranges table.
    <b>Example</b> Program report1 is linked to the logical database F1S, which supports dynamic selections for the node SPFLI. Program report2 enters conditions in a nested internal table of the type rsds_trange with selection conditions for field CONNID in node SPFLI; this is then converted to a table of the type rsds_texpr, which is transferred at SUBMIT.
    <b>Program accessed</b>
    REPORT report1.
    NODES: spfli, sflight, sbook.
    <b>Calling program</b>
    REPORT report2.
    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 = 'SPFLI'.
    trange_frange_t_line-fieldname = 'CONNID'.
    trange_frange_t_selopt_t_line-sign   = 'I'.
    trange_frange_t_selopt_t_line-option = 'BT'.
    trange_frange_t_selopt_t_line-low    = '0200'.
    trange_frange_t_selopt_t_line-high   = '0800'.
    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    = '0400'.
    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 report1 VIA SELECTION-SCREEN
                   WITH FREE SELECTIONS texpr.
    <b>SUBMIT - selscreen_options</b>
    ... [USING SELECTION-SCREEN dynnr]
        [VIA SELECTION-SCREEN]
        [selscreen_parameters] ... .
    1. ... USING SELECTION-SCREEN dynnr
    2. ... VIA SELECTION-SCREEN
    The addition USING SELECTION-SCREEN specifies the selection screen, VIA SELECTION-SCREEN specifies whether it is displayed. The additions selscreen_parameters provide values for the parameters, selection criteria, and the free selection of the called selection screen.
    The values are transferred to the selection screen between the events INITIALIZATION and AT SELECTION-SCREEN OUTPUT The following hierarchy applies for transferring values:
    First, the variant of the addition USING SELECTION-SET is transferred, which sets all parameters and selection criteria to the values of the variant. The values previously set in the called program are overwritten.
    The values are then transferred to the table of the addition WITH SELECTION-TABLE. All parameters and selection criteria specified there are overwritten accordingly.
    Finally, the values of the additions WITH sel value are transferred. All parameters and selection criteria are overwritten accordingly. If the addition WITH sel value is used more than once for the same parameter, this is overwritten with the last specified value. If the addition WITH sel value is used more than once for the same selection criterion, a selection table with the corresponding number of lines is transferred.
    Providing values for free selections is independent of this hierarchy.
    The options for parameter transfer enable a selection screen to be viewed as a parameter interface of an executable program. This applies particularly for background selection screen processing and for parameters and selection criteria that are defined without screen elements using the addition NO-DISPLAY.
    The additions selscreen_parameters only work the first time the called program is executed. If a selection screen is displayed in the called program, the runtime environment calls the program again after it is finished, thereby replacing the values specified in selscreen_parameters with the previous input values.
    <b>... USING SELECTION-SCREEN dynnr</b>
    This addition specifies which selection screen is called. dynnr is a data object that must contain the screen number of a selection screen defined in the called program when the SUBMIT statement is called.
    If the addition USING SELECTION-SCREEN is omitted or the screen number 1000 is entered, the standard selection screen is called. If no standard selection screen is defined in the called program, no selection screen is called.
    If a screen number that is not 1000 is entered in the addition USING SELECTION-SCREEN, the corresponding independent selection screen is called. If no selection screen with this screen number is defined in the called program, this leads to an untreatable exception.
    <b>... VIA SELECTION-SCREEN</b>
    If this addition is specified, the selection screen is displayed on the screen. Otherwise, background selection screen processing takes place. In background selection screen processing, the selection screen events are triggered without the selection screen being displayed.
    <b>Reward if usefull</b>

Maybe you are looking for