2007 Oct 03 6:47 PM
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
2007 Oct 04 1:16 PM
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