On receiving the OK code AWSY, the Web transaction calls the function module ITS_GET_SYNC_INFO to retrieve the requested screen.
Since a single-frame transaction does not contain any subscreens, the returned table SYNC_INFO contains only one record.
SYNC_INFO-SUBSC contains "MAIN"
SYNC_INFO-REPID contains the screen's module pool name
SYNC_INFO-DYNNR contains the requested screen number
All the transaction must do is to SET SCREEN to the requested screen number.
The following code fragment illustrates this:
DATA: FCODE LIKE SY-UCOMM. PROCESS BEFORE OUTPUT. PROCESS AFTER INPUT. MODULE PROCESS_FCODE MODULE PROCESS_FCODE. PERFORM PROCESS_FCODE. ENDMODULE. FORM PERFORM_FCODE. data: fcode4(4). fcode4 = fcode. "TRUNCATE IF FCODE4 = 'AWSY'. PERFORM SYNCHRONIZE_SINGLE_FRAME. ElsE. CASE FCODE. WHEN 'XXXX'. "Your OK Code ... WHEN 'YYYY'. "Your OK Code ... ENDCASE. ENDIF. endform. "PERFORM_FCODE FORM SYNCHRONIZE_SINGLE_FRAME. DATA: BEGIN OF SYNC_INFO LIKE SITSSYNC OCCURS 10 WITH HEADER LINE. call function 'ITS_GET_SYNC_INFO' tables sync_info = sync_info exceptions ITS_NOT_AVAILABLE = 1. IF SY-SUBRC = 0. READ TABLE SYNC_INFO WITH KEY SUBSC = "MAIN". IF SY-SUBRC = 0. SET SCREEN SYNC_INFO-DYNNR. ENDIF. ENDIF. ENDFORM.