Code: Alles auswählen.
report.
parameters: p_func(132) type c visible length 40.
parameters: p_type(01) type c.
selection-screen begin of tabbed block tabs for 10 lines.
selection-screen tab (30) tab_901 user-command 901
default screen 901.
selection-screen tab (30) tab_902 user-command 902
default screen 902.
selection-screen end of block tabs.
" tab 1
selection-screen begin of screen 901 as subscreen.
parameters: p_tab1 type c.
selection-screen end of screen 901.
" tab 2
selection-screen begin of screen 902 as subscreen.
parameters: p_tab2 type c.
selection-screen end of screen 902.
at selection-screen output.
check sy-dynnr eq 1000.
set cursor field 'P_FUNC'.Code: Alles auswählen.
MODULE %_INIT_PBO.
MODULE %_PBO_REPORT.
MODULE %_PF_STATUS.
CALL SUBSCREEN %_SUBSCREEN_TABS
INCLUDING TABS-PROG TABS-DYNNR.
MODULE %_END_OF_PBO.Code: Alles auswählen.
MODULE %_INIT_PBO_J.
MODULE %_PBO_REPORT.
MODULE %_PF_STATUS.
MODULE %_END_OF_PBO.Code: Alles auswählen.
* Wird als letzte Routine aus Modul %_INIT_PBO gerufen
* Jedesmal bei PBO
FORM %_PBO_MODIFY_SCREEN. "#EC *
....
....
....
IF CURSOR-FIELD ne SPACE and
cursor-prog = current_screen-program and
cursor-dynnr = current_screen-dynnr.
SET CURSOR FIELD CURSOR-FIELD.
ENDIF.Code: Alles auswählen.
report.
field-symbols: <titletype> type c.
parameters: p_type(01) type c.
parameters: p_func(132) type c visible length 40.
selection-screen begin of tabbed block tabs for 10 lines.
selection-screen tab (30) tab_901 user-command 901
default screen 901.
selection-screen tab (30) tab_902 user-command 902
default screen 902.
selection-screen end of block tabs.
" tab 1
selection-screen begin of screen 901 as subscreen.
parameters: p_tab1 type c.
selection-screen end of screen 901.
" tab 2
selection-screen begin of screen 902 as subscreen.
parameters: p_tab2 type c.
selection-screen end of screen 902.
************************************************************************
at selection-screen output.
************************************************************************
" set screen-title-type of rsdbrunt to 'F'
" This is a trick, to force rsdbrunt to call the routine
" %_SELSCREEN_TITLE_% after pbo processing of subscreens
if sy-dynnr eq '1000'.
assign ('(RSDBRUNT)CURRENT_SCREEN-TITLETYPE')
to <titletype>.
if sy-subrc eq 0.
move 'F' to <titletype>.
endif.
endif.
************************************************************************
* set cursor
************************************************************************
form set_cursor using f_field.
set cursor field f_field.
endform.
************************************************************************
* Trick to set cursor after subscreen processing
************************************************************************
form %_SELSCREEN_TITLE_% using f_dynnr type sy-dynnr
changing f_title type csequence.
perform set_cursor using 'P_FUNC'.
endform.Folgende Benutzer bedankten sich beim Autor Dele für den Beitrag:
black_adept