Skip to Content
avatar image
Former Member

Dynpro call during processing --> Without PBO, Dynpro remains visible

Hello!

My problem is as follows:

During the build of a tree hierarchy, i check how long the work is going on since starting the process. If work lasts longer than an amount of time, i interrupt processing and call a function that calls a Dynpro. After leaving to screen 0, I continue processing but as no pbo is called, the before called Dynpro remains visible on screen until procession finished and a pbo is executed by system.

Is there any possibility to tell the Dynpro to disappear before PBO?

Many Thanks in advance,

Thomas

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Jul 15, 2009 at 11:40 AM

    Hi,

    From what I got, You will need to modify the Flow Logic,ie go to SE51 enter details & modify the PBO part.You can use LEAVE SCREEN (Leaves the current screen and processes the next screen).

    Rgds,

    Arnab Sinha

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 15, 2009 at 12:11 PM

    Hi Arnab!

    Thanks for the fast reply!

    But that's not the problem.

    I'll try to show you what I've got:

    In ABAP-Objects I've got a manager class that runs a method M.

    In this Method M I'm extending a CL_GUI_ALV_TREE-Object by adding nodes recursively. In the recursive method I check if some conditions are false, and if so, call an ABAP-Function that calls a Dynpro. After leaving this Dynpro (by using leave to screen 0), the PBO of the parent Dynpro is not processed because process is still inside the recursive method. The update is done not before Method M and the recursive Method have been fully processed.

    Method M.

    loop at nodes.

    call method build_nodes_recursively.

    endloop.

    endmethod M.

    Method build_nodes_recursively.

    if condition is false.

    call function D. //Function call that calls Dynpro

    if function_call_d is true.

    return.

    endif.

    endif.

    call method build_nodes_recursively. //recursive call.

    endmethod build_nodes_recursively.

    Maybe you understand my problem now?

    Because there's no PBO of the parent Dynpro, recursive progress goes on after closing the child Dynpro but the child Dynpro is still visible until Method M is finished and PBO of the parent Dynpro is processed.

    Thank you for helping,

    Thomas

    Edited by: Thomas Hostnik on Jul 15, 2009 2:14 PM

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Thomas,

      first of all I'd recomend to replace your recusive algorithm by a loop.

      If this does not help, I've another small idea.

      Try to extend your CL_GUI_ALV_TREE object with all the checks and dynpros to be shown in PAI of your parent dynpro.

      When extending is finished, note this in a modulepool-global flag, and LEAVE TO SCREEN <parent>.

      In PBO now all required data should be available.

      Extending of your CL_GUI_ALV_TREE object has to be done in respect of the flag.

      Regards,

      Hubert