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: 

how to overcome 50 nested screen limitation???

Former Member
0 Kudos

Hello Frnds,

For those who are aware of SAP limitaion of 50 nested screen calls, is there any way we can overcome that...I have a module pool which has about 20 screens and even if user visit each one twice, program gives a dump....how can I make it not dump even if nested screen calls are more than 50???

Anyone???

Regards,

Arpit

10 REPLIES 10

Former Member
0 Kudos

Well, I don't think you can overcome it, but you may be able to get around it. The system variable SY-LSIND is incremented each time the user drills down. If it is 50, don't allow drill downs.

A better solution would be to reset it if possible. For example, if the report can be sorted, SY-LSIND will be incremented each time the user presses the 'SORT' button. But you don't need this and can set it back to the old value. (You would have to keep track of it.)

Rob

0 Kudos

Hi Rob,

I just checked variable SY-LSIND and it doesnt increment when i call or leave to screen.

so it is not the one which can reset my screen count.

Is there anyother variable which is needed to be reset???

Thanks for ur answer though.

Regards,

Arpit

0 Kudos

Arpit,

Review the usage of the screens... you must locate a position to issue a SET SCREEN 0 and LEAVE SCREEN.

Or perhaps you can break the single UI app into multiple UI apps that link together.

Former Member
0 Kudos

which is the variable where screen count are stored..it is giving dump on 51st call so surely it is getting stored somewhere....BUT WHERE???

Regards,

Arpit

0 Kudos

SY-LSIND is only used when dealing with report lists. Your problem is related to calling too many dynpros on top of one another. Are you doing a lot of CALL SCREEN statements? Like the previous poster, I would suggest redesigning you screen flow.

Regards,

Rich Heilman

0 Kudos

Ya there are a lot of call screen and leave to screen...basically i have one major screen with 10-12 tab where subscreens are called. Is there any other efficient way to call those subscreens in tab area other then call screen?? Also there is change <-> display toggle which alst have call screen statement in them.

Regards,

Arpit

0 Kudos

I won't worry about the call screens to subscreen in the flow logic of the screen. There is no way to get around those calls. Concentrate on the CALL SCREENs in your ABAP code(not the flow logic of screens). I would first attack....

<i>Also there is change <-> display toggle which alst have call screen statement in them.</i>

This sounds interesting to me, to toggle display/change in a screen, there is not need to call the screen again. You should just have a switch somewhere and in your PBO of the screen, you should have a LOOP AT SCREEN where you are turning fields on or off.

Regards,

Rich Heilman

0 Kudos

Hi Arpit,

It is not a good design if you are having so many call screens. Basically what you need to do is to use SET SCREEN and LEAVE SCREEN. You can do call screen only once to get into your initial screen. After that every screen should be with SET SCREEN and LEAVE SCREEN.

Also, for toggling between display<-->change, you don't need to do a call screen or even the method I suggested. You just have to make the fields display only or ready for input, in your PBO using LOOP AT SCREEN.

Srinivas

0 Kudos

Thats very helpful...atleast where i can work with leave to screen,,

can anyone tell me exactly whats the difference between

  1. leave to scree

  2. call screen

  3. set screen

Regards,

Arpit

0 Kudos

LEAVE SCREEN and SET SCREEN work the same way as LEAVE TO SCREEN. They basically do what setting SY-LSIND to 0 always does to list processing. They keep the current screen nesting to 1.

CALL SCREEN always opens a new screen without closing the previous one. So you will hit that limit of 50 somewhere in those calls.

Please close the post if answered.

Thanks,

Srinivas