Statement SUBMIT is not allowed in this form

Statement SUBMIT is not allowed in this form. It is a common ABAP error. Find the workaround solutions and alternative to avoid and correct ABAP program.
Find following an overview about how to use ABAP Submit Statement, the different exceptions triggered by this statement and some solutions for the famous ‘Statement “SUBMIT” is not allowed in this form‘.

Statement “SUBMIT” ABAP sample

SUBMIT Statement allows to call an ABAP Report within an other.

Submit Statement Synthax

SUBMIT {rep|(name)} [selscreen_options]
????????????????????[list_options]
????????????????????[job_options]
????????????????????[AND RETURN].
Use F1 in any ABAP Report with SUBMIT to get more detail.

Use?Submit Statement in ABAP report

Statement SUBMIT Statement

List of exceptions for SUBMIT ABAP

in order to check which exception generated by the SUBMIT use and avoid a dump in ABAP Report, Try.. Catch should be implemented to catch the Runtime Execption

The list of exception the ABAP SUBMIT can generate are

 

  • Cause: The specified program was not found.
    Runtime Error: LOAD_PROGRAM_NOT_FOUND
  • Cause: You tried to pass an invalid value to a selection using the addition SIGN.
    Runtime Error: SUBMIT_WRONG_SIGN
  • Cause: The specified program is not a report.
    Runtime Error: SUBMIT_WRONG_TYPE
  • Cause: You tried to pass more than one value to a report parameter.
    Runtime Error: SUBMIT_IMPORT_ONLY_PARAMETER
  • Cause: You tried to use WITH sel IN itab to pass a table that does not have the appropriate structure to a selection.
    Runtime Error: SUBMIT_IN_ITAB_ILL_STRUCTURE
  • Cause: You tried to pass a parameter that cannot be converted to the target field to the selection screen.
    Runtime Error: SUBMIT_PARAM_NOT_CONVERTIBLE
  • Cause: The called program contains a syntax error.
    Runtime Error: SYNTAX_ERROR

Statement “SUBMIT” is not allowed in this form

Solution 1 : TRY … CATCH

Use Try… Catch in order to avoid the Dumb.

 

Solution 2 : STARTING NEW TASK

Create a Function Module to Wrap the ABAP?Statement SUBMIT. Call the function module with option STARTING NEW TASK.

You can create a function module which will wrap you call and call this wrapper with option STARTING NEW TASK

For example, Call the function with these options?IN BACKGROUND TASK AS SEPARATE UNIT DESTINATION ‘NONE’

Here a sample ABAP function call :

Solution 3: Check if REPORT EXIST

A common error using SUBMIT can the report using doesn’t exist.
Here a simple way to check if it exists before the call.
check if the Report has an entry in SAP Table?TRDIR :?System Table TRDIR.

More information about?ABAP Workbench Tables

 

Read more about the use of ABAP SUBMIT Statement.