• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
SAP ABAP

Guía de ABAP: cómo llamar a un subscreen en SAP

By s4pcademy 

Antes de leer este tutorial, asegúrese de saber qué es un programa de diálogo …

LLAMADA A SUBPANTALLA

  • Una subscreen es una pantalla independiente que se muestra en un área de otra pantalla («principal»).
  • Las subpantallas le permiten incrustar una pantalla dentro de otra en tiempo de ejecución. Puede incluir varias subpantallas en la pantalla principal.
  • El término subscreen se aplica tanto a la pantalla que incrusta como al área en la pantalla principal en la que la coloca. Este tutorial trata sobre las áreas de subscreen. Las pantallas reales creadas a través de la transacción SE51 se llaman pantallas de subscreen si se definen en los atributos de la pantalla.
  • Cuando utiliza una subscreen, la lógica de flujo de la pantalla incrustada también se incrusta en la lógica de flujo de la pantalla principal. Por lo tanto, usar subscreens en las pantallas es similar a usar includes en programas ABAP.

Para usar una subscreen, debes seguir tres simples pasos

  1. Definir la(s) área(s) de subscreen en una pantalla
  2. Definir pantallas de subscreen adecuadas
  3. Incluir la pantalla de subscreen en el área de subscreen.

También es necesario ajustar el marco de la subpantalla y la pantalla principal. Debe nombrarlo en el campo de nombre del campo.

Además, también debe ajustar los campos dentro de la subpantalla para que aparezcan en la pantalla principal. En caso de que la subpantalla esté definida para ser más grande que el área disponible en la pantalla principal, solo se verá la parte de la subpantalla que encaja en el área disponible. El área siempre se mide desde la esquina superior izquierda de la pantalla. Por lo tanto, debe tener cuidado al definir áreas de subpantalla y crear subpantallas.

EJEMPLO

Por ejemplo, aquí hemos definido dos áreas de subpantalla en la pantalla principal y hemos adjuntado dos Sub-pantallas diferentes a las áreas correspondientes. Cada vez que se llama la pantalla principal, se llama al PBO de la pantalla principal. Pero antes de la pantalla, también se llaman las PBO de cada pantalla adjunta con áreas de subpantalla en la pantalla principal.

Call Subscreen in SAP

Puede incluir una pantalla de subpantalla utilizando la instrucción CALL SUBSCREEN en la lógica de flujo de la pantalla principal.

Para incluir una pantalla de subpantalla en el área de subpantalla de la pantalla principal y llamar a su lógica de flujo PBO, use la siguiente instrucción en el evento PBO de la pantalla principal:

PROCESS BEFORE OUTPUT.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.

Esta instrucción asigna la pantalla de subpantalla con el número <dynp> al área de subpantalla llamada <area>. También puede especificar el programa en el que se define la pantalla de subpantalla (opcional). Si no especifica el programa explícitamente, el sistema buscará la pantalla de subpantalla en el mismo programa ABAP que el programa principal. Si no encuentra una pantalla de subpantalla correspondiente, se produce un error en tiempo de ejecución. La lógica de flujo PBO de la pantalla de subpantalla también se incluye en el mismo punto. Esto puede llamar a módulos PBO del programa ABAP en el que se define la pantalla de subpantalla. Al final del PBO de la subscreen, los campos globales del programa se pasan a cualquier campo de pantalla de nombre idéntico en la pantalla de subscreen. La lógica de flujo PBO de la pantalla de subpantalla también puede incluir más subscreens.

El nombre <area> del área de subpantalla debe ingresarse directamente sin comillas invertidas. También puede especificar los nombres <prog> y <dynp> ya sea como literales o variables. Si usa variables, debe declarar y llenar variables de nombre idéntico en el programa ABAP. El número de pantalla <dynp> debe tener 4 caracteres de longitud. Si no asigna una pantalla de subpantalla a un área, quedará vacía.

Para llamar a la lógica de flujo PAI de la pantalla de subpantalla, use la siguiente instrucción en la lógica de flujo PAI de la pantalla principal:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

Esta instrucción incluye la lógica de flujo PAI de la pantalla de subpantalla incluida en el área de subpantalla <area> en el evento PBO. Esto puede llamar a módulos PAI del programa ABAP en el que se define la pantalla de subpantalla. Los datos se transportan entre campos de nombre idéntico en la pantalla de subpantalla y el programa ABAP ya sea cuando se activa el evento PAI, o en las declaraciones FIELD correspondientes en la lógica de flujo PAI de la pantalla de subpantalla.

Puntos a recordar

  • Los nombres de los elementos de las subpantallas dentro de una pantalla deben ser únicos
  • No debe tener OK_CODE o FCODE adjunto a la subpantalla. El OK_CODE de la pantalla principal en sí es el OK_CODE de la subpantalla
  • Las subpantallas no pueden tener módulos de diálogo que contengan SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN o LEAVE TO SCREEN. Esto causará un error en tiempo de ejecución.
  • Debe llamarlo en la lógica de flujo (tanto PBO como PAI) de la pantalla principal.
  • LLAMADA SUBSCREEN no está permitido en declaraciones CHAIN..ENDCHAIN y LOOP ENDLOOP
  • No puede tener un módulo AT EXIT-COMMAND
  • Los campos que usa son campos globales. Deben declararse en el include superior
  • Si utiliza subscreens de otro programa de diálogo, la transferencia de datos no ocurrirá a menos que agregue un código específico.


Cómo Crear una Empresa en SAP - Guía Paso a Paso
Previo
El flujo del proceso de gestión de materiales: todo lo que debes saber
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.