martes, abril 26, 2011

Dynpro - Tabstrip

Para trabajar con Tabstrip se debe realizar las siguientes paso (ejemplo DEMO_DYNPRO_TABSTRIP_SERVER):


1) Crear dynpro de control 0100 y los otros dynpros para subscreen 0110, 0120 y 0130.

2) Dentro del dynpro de control crear:
     - Control de Fichas (MYTABSTRIP). También definir variable globlal: CONTROLS mytabstrip TYPE TABSTRIP.
     - Tantos pulsadores como pestañas, a cada pulsador se le asigna un nombre (PUSH1) y un código (PUSH1).
     - Un Área Subscreen con un nombre (SUB).

3) En el PBO se hace la llamada para mostrar el tabstrip CALL SUBSCREEN SUB INCLUDING SY-REPID NUMBER. Antes de llamar al dynpro de control se informa que pestaña está activa:
mytabstrip-activetab = 'PUSH2'.
number = '0120'.

4) En el PAI se hace llamada CALL SUBSCREEN SUB y después dentro de Module USER_COMMAND capturar evento e informar la pestaña y el subscreen:
mytabstrip-activetab = save_ok.
CASE save_ok.
  WHEN 'PUSH1'.
    number = '0110'.
  WHEN 'PUSH2'.
    number = '0120'.
  WHEN 'PUSH3'.
    number = '0130'.
ENDCASE.

Dynpro - Subscreens

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.

Creación textos SAP

Utilizar transacción SE75. Primero crear objeto y luego crear id_texto. Se genera orden de customizing. Posteriormente READ_TEXT y SAVE_TEXT.