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: 

Program works when executed form se80, but doesn't work when executed from transaction via se93

0 Kudos

So i developed a standard dynpro sap program that works just fine, executed normally. When i try to execute via se93 or with the transaction code directly i get to the selection screen. After inputting data and hitting the execute button it just jumps back and leaves the transaction. After attempted debugging i see it fails somewhere during the start-of-selection event. I'm using the standard screen - 1000, got no other screens. All pai and pbo modules are default. I'm not sure what else information i need to provide. Any help will be greatly appreciated.

Thanks.

7 REPLIES 7

DominikTylczyn
Active Contributor

Hello underfree22

Make sure that the transaction type e.g. dialog or report matches the program type.

If you are unsure, please share the screen shots of the transaction details from SE93 and of the program attributes.

Best regards

Dominik Tylczynski

0 Kudos

Thanks for the reply. Yes, i'm positive i'm using the correct transaction type. Upon hitting f8 initially i reach my selection screen. Upon entering data there and hitting execute a second time, it closes and doesn't let me proceed.

0 Kudos

Just to include - i am using the program and selection screen(report transaction) option. Upon doing the check, it says my transaction is consistent.

DominikTylczyn
Active Contributor
0 Kudos

Hello underfree22

There is something strange here. If you can execute your report from SE80, it means it's of type 1 "Executable program". You shouldn't be concerned about any PBO/PAI modules as they are automatically generated. Type 1 programs are event driven. If the executable program works fine, it has to work the same way if called from a "program and selection screen" type transaction.

I still suspect there is something wrong with the transaction definition. Would you share the screen shots that I've mentioned previousely?

Best regards

Dominik Tylczynski

0 Kudos

Hiding some irrelevant details because of my company's policy. Those are the current settings that i have.

DominikTylczyn
Active Contributor

Hello underfree22

First you need to understand a difference in the program execution when it's called from SE80 and when it's called from a transaction. If you call the program from SE80, the execution starts from the beginning of the program. I assume that somewhere in the program you call 1001 screen. Whereas when you call it from a transaction, screen 1001 is called and its processing starts with PBO modules. So whatever your program does between its beginning and calling screen 1001 is not executed when the program is called from a transaction. That might be one of the reasons of your problem. You can check that by debugging.

I don't know the details of your program and how you've implemented screen 1001 or if 1001 is a selection or dialog screen. If 1001 is a selection screen you should use "program and selection screen (report transaction)" type of transaction. Your transaction is of "program and dynpro (dialog transaction)".

Most probably 1001 is a selection screen. If so, change the transaction type to "program and selection screen (report transaction)" and it'll be fine.

Best regards

Dominik Tylczynski

mladjz
Explorer
0 Kudos

With transaction you call SCREEN (e.g. screen 1000), so your code starts from that screen.
Any code before your screen will not work on tcode(initialization of variables and etc).