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: 

Report Groups - Selection screen on receiver report

Former Member
0 Kudos
125

Hi there,

When dealing with sender / receiver reports, do you know if it's possible to force a selection screen prompt when calling a receiver report during execution?

A report was written in the Report Painter, and belongs to a report group called 1OAB. This report group has three receiver reports defined, so when users double click on a value, it will forward navigate to another report (receiver report, selected after double click) using the same selection criteria of the current report (sender).

My <b>problem</b>, is that the selection criteria that is passed by the sender isn't sufficient for the receiver report, and the report ends up running with a much larger selection than required.

My <b>question</b>, is whether or not we can either:

<b>a)</b> Interrupt during the report call and prompt with the report selection screen for the receiver report. This would allow the user to input any missing selections.

<b>b)</b> Add in any missing selections via a user exit. I have not had much luck in finding such an exit. The closest I got was form 'USEREXIT1' from include LRSTIF90. This exit appears to be called before and after the report call. I'm not sure if it's a true exit though, as it's just a piece of code in an include and is referred to as an exit? To implement would I just register the object and add in my code?

Any suggestions would be appreciated!

Thanks,

L

1 REPLY 1

Former Member
0 Kudos
61

FYI the only solution I see is to put in a modification to prompt a selection screen during execution. Modification would go in include 'LRSTIF02' as follows:


....

PERFORM report_check_obligatory TABLES it_fieldr
                                  USING flg_obl.

** MODIFICATION **
if ld_tcode = 'FBL3N'.
    flg_obl = 'X'.
endif.
** END MODIFICATION **

  IF flg_obl IS INITIAL.
    CALL TRANSACTION ld_tcode AND SKIP FIRST SCREEN.
  ELSE.
    CALL TRANSACTION ld_tcode.
  ENDIF.

* clear parameter ids
* perform clear_pid_fieldr tables it_fieldr it_dfies.
  PERFORM reset_pid_fieldr TABLES it_fieldr it_selpid.

* if flg_return = 'X'.
*   call transaction ld_tcode and skip first screen.
* else.
*   leave to transaction ld_tcode.
* endif.

ENDFORM.

If anybody has a better idea on how to accomplish this I'd love to hear it!

Thanks,

L