Las subscreens son útiles para mostrar diferente información dependiendo criterios. Para trabajar con varios con subscreens en dynpros se realizan los siguientes pasos (ejemplo DEMO_DYNPRO_SUBSCREENS):
1) Crear dynpro Inicial 0100 (tipo normal).
2) Añadir dos subscreens al dynpro 0100 (Área subscreen con id 'AREA1' y subscreen con 'AREA2') y varios botones que permitirán mostrar un dynpro u otro. A cada botón se le asignará un código para posteriomente capturarlo en el Module USER_COMMAND (punto 6).
3) Crear varios dynpros (tipo subscreen): 0110, 0120, 0130, 0140.
4) En el PBO realizar la llamada por cada subscreen :
CALL SUBSCREEN AREA1 INCLUDING nombre_programa nombre_subscreen.
CALL SUBSCREEN AREA2 INCLUDING nombre_programa nombre_subscreen.
Tanto en el nombre_programa como nombre_subscreen se pueden utilizar variable :
data: call_prog TYPE sycprog.
data: call_subscr TYPE sydynnr.
Normalmente siempre es el mismo programa por lo que se utiliza sy-repid mientras que el subscreen cambia.
5) En el PAI realizar la llamada por cada subscreen:
CALL SUBSCREEN AREA1.
CALL SUBSCREEN AREA2.
6) En el PAI realizar llamada al un MODULE USER_COMMAND. En este module se informa la variable nombre_subscreen que será que posteriormente se cargará en el PBO.