Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Regarding SUBMIT statement

Former Member
0 Kudos

Hi All,

I have one transaction to be submitted from my program & execute that transaction in turn.

Actual Program is:

Actually i need to submit transaction <b>ZZ20N</b>[<b>Dialog Screen Transaction</b>] from my program <b>ZSDEXT_LI</b>.

<b>To that transaction i need to pass licence number <b>screen field for that is EMBK-EXGEN</b> and screen number 300 & Program name - SAPMZASDC01_EXP_LIC.</b>

<b>Can anybody tell me the code i can use to SUBMIT that transaction[Dialog].</b>

<b>Actually when i execute that transaction it in turn will call another screen that i want to show in my output.</b>

And then come back to my orginal called screen.

Can anybody help me in this regard.

Thanks in advance.

Thanks & Regards,

Rayeez.

And also there is one Execute button placed in that transaction[Dialog Transaction].

Attributes of that are

Program Name- SAPMZASDC01_EXP_LIC

FUNCTION-EXE_CHG

9 REPLIES 9

Former Member
0 Kudos

Hi,

You can use CALL TRANSACTION ZZ20N.

Also, you can use SUBMIT repname/progname VIA SELECTION SCREEN.

Hope it helps.

Regards,

Shashank

Former Member
0 Kudos

submit ZZ20N

using EMBK-EXGEN = <license Number>

and return.

0 Kudos

Hi Rayeez,

Instead of the submit program why dont you use the "CALL TRANSACTION" keyword. To pass the data you can use the parameter ID. Submit is for reports with standard selection screen 1000 and you can pass the parameters or select options. You can also call the report with a specific screen variant.

My suggestion would be for you to use the call transaction method.

Sudhi

abdul_hakim
Active Contributor
0 Kudos

hi

use CALL TRANSACTION for calling the transaction.

If you want to pass any values to the fields on the called transaction then use SET PARAMETER and GET PARAMETER to achive this.

Cheers,

Abdul Hakim

Former Member
0 Kudos

Hi Shaikh,

I think you can send the required field values to memory by using the statement EXPORT .. TO MEMORY ID..Then call the transaction and perform the IMPORT FROM MEMORY ID to obtain the required values.

Regards,

Sylendra.

0 Kudos

since its a Dialog transaction you cannot use submit. (submit is for type 1 (executable) programs.

if your case do like below.

<b>SET PARAMETER ID 'EGN' FIELD EMBK-EXGEN .

call transaction <tcode> AND SKIP FIRST SCREEN .</b>

Regards

Raja

0 Kudos

Hi,

I will just call that Transaction <b>ZV20N</b> then in background it should pass Licence NUmber [EMBK-EXGEN] & press execute button there all this for screen 300.

Then when Execute Button is pressed in inDialog screen it will automatically take me to next screen.

The code i written as below

PERFORM bdc_dynpro USING 'SAPMZASDCFT001_EXPORT_LICENSE' '0300'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=EXE_CHG'.

PERFORM bdc_field USING 'BDC_CURSOR'

'EMBK-EXGEN'.

PERFORM bdc_field USING 'EMBK-EXGEN'

i_data-line.

PERFORM bdc_dynpro USING 'SAPMZASDCFT001_EXPORT_LICENSE' '0100'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/EBACK'.

CALL TRANSACTION 'ZV20N' USING i_bdcdata

MODE c_n

UPDATE c_s

MESSAGES INTO i_messtab.

Now first i need to go & stay in screen 100 through 300[ZV20N] and from there i have to come back my original dialog screen from where i am calling those Transactions.

Can anybody tell me what changes i can make to above code.

Thanks & Regards,

Rayeez.

0 Kudos

hi shaik,

u can use SKIP SCREEN addtion to the CALL TRANSACTION statement..

Check the belowl link as well..

http://help.sap.com/saphelp_47x200/helpdata/en/9f/db9da935c111d1829f0000e829fbfe/frameset.htm

Cheers,

Abdul Hakim

0 Kudos

Hi All,

I had written following code & it now works fine.

Code is below:

<b> PERFORM bdc_dynpro USING 'SAPMZASDCFT001_EXPORT_LICENSE' '0300'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=EXE_CHG'.

PERFORM bdc_field USING 'BDC_CURSOR'

'EMBK-EXGEN'.

PERFORM bdc_field USING 'EMBK-EXGEN'

i_data-line.

PERFORM bdc_dynpro USING 'SAPMZASDCFT001_EXPORT_LICENSE' '0100'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/EBCK'.

PERFORM bdc_field USING 'BDC_CURSOR'

'EMBK-GANDA'.

CALL TRANSACTION 'ZV20N' USING i_bdcdata

MODE c_e

UPDATE c_s

MESSAGES INTO i_messtab

AND SKIP FIRST SCREEN.</b>

Now it goes to screen 100 through screen 300 of <b>'SAPMZASDCFT001_EXPORT_LICENSE'</b>, Now i need to come back to my original called screen that is <b>Screen 900 of Z_LIC_ASMT_TO_ORD</b>.

How can i achieve this without changeing anything in calling Prog/Transaction. I need to manage it from called program <b>Z_LIC_ASMT_TO_ORD[900 Screen]</b>.

Can anybody help me in this regard.

Thanks,

Rayeez.