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: 

Dynamic Tab Pages

Former Member
0 Kudos

Dear All,

SAPLMIGO : Standard program of MIGO

SAPLJ1IEXGM : Standard program of Excise Calculation.

if we are on Excise tab page we will get Status as following:

Transaction MIGO

<b> Program (screen) SAPLMIGO

Screen number 1

Program (subscreen) SAPLJ1IEXGM

Screen number 220 </b>

Program (GUI) SAPLMIGO

GUI status MIGO_STATUS

Is it possible to call subscreen 220 of SAPLJ1IEXGM in customise program? if yes, How?

Regards

Agrim Darji

1 ACCEPTED SOLUTION

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

It doesn't look like you can. You can however create a dialog module for SAPLMIGO screen 1 and call it from the program, but that is just like calling MIGO anyway.

Regards,

Rich Heilman

9 REPLIES 9

Former Member
0 Kudos

Hi Agrim,

Subscreens are indeed re-usable. In the main screen of your custom program, the flow logic will have the statement (in the PBO)

CALL SUBSCREEN <<i>name of the subscreen area</i>> 
     INCLUDING <<i>name of the program</i>> 
               <<i>subscreen number</i>>.

So, in your case, you can have the name of the program to be <b>SAPLJ1IEXGM</b> and the subscreen number will be <b>0220</b>.

Please let me know if this helped and/or you need further information.

Regards,

Anand Mandalika.

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

It doesn't look like you can. You can however create a dialog module for SAPLMIGO screen 1 and call it from the program, but that is just like calling MIGO anyway.

Regards,

Rich Heilman

0 Kudos

Hi Rich,

To my knowledge, Dialog Modules have now become obsolete. they were used extensively till 4.0B. We still do have the SE35 transaction only for compatibility reasons.

Regards,

Anand Mandalika.

0 Kudos

Oh, didn't know. Thanks for the info.

Regards,

Rich Heilman

0 Kudos

Also, I just tested Anand's suggestion. For this particular transaction, I'm not sure that its going to work. I am getting an ABAP dump in my test program.

<i>Access not possible using 'NULL' object reference. </i>

Regards,

Rich Heilman

0 Kudos

I was able to include a subscreen from VA03 into my custom dynpro.

Here is the flow logic.



process before output.

  module status_0100.

  call subscreen test including 'SAPMV45A' '4480'.

process after input.


  call subscreen test.

  module user_command_0100.

Regards,

Rich Heilman

0 Kudos

Hi Rich,

My intent was to give a general way to do re-use a subscreen. I have not tried it for this particular program and subscreen.

But what you say must indeed be true. The MIGO transaction, as you may have observed uses a lot of custom controls. The program logic is also reasonably obect-oriented. Now some of the objects that the subscreen attempts to use may have been created in other screens (in the flow logic, for example). And since those screens are not going to be triggerred, the objects would not be created either. And hence the short-dump.

Another note, though in principle the subscreen concept gives a hint of modularization, in most cases, the subscreens simply become unsuitable for use in other programs (unless the programs are all created for similar functionalities).

Subscreen reuse can be likened to subroutine re-use. Though your subroutine can be called from other programs, it is generally not very useful, because the subroutine may be manipulating some global data in the program, which in turn might be expected to be processed by other subroutines (before and after calling this subroutine).

I ought to have written this explanation in my first answer

Regards,

Anand Mandalika.

0 Kudos

Yep, I figured you were generalizing in your previous post. I didn't think that you could do this across programs, so thanks for the info. I agree with your previous post in saying, although re-using subscreens is possible, it usually will not work out good for you. Unless you are building a big application from the ground up and can code accordingly.

Regards,

Rich Heilman

0 Kudos

hi,

here is my code.

call subscreen :

...........

...........

...........

SUB_EXCISE including 'SAPLJ1IEXGM' '210'.

210 has subsceen 211.

I get the message

"Runtime errors DYNPRO_NOT_FOUND"

Can i relate this dump with your post # 1527?

Regards

Agrim D