Hola,
En PAI, si deseas validar un grupo de campos, colócalos en una declaración de cadena y de fin de cadena.
Puedes declarar campos en la cadena enlazada.
CADENA.
CAMPO chk_ABC.
CAMPO chk_DEF.
CAMPO chk_GHI.
CAMPO CHK-JKL.
MÓDULO CHK_screenfields.
FINCADENA.
A continuación, se muestra un ejemplo:
CADENA.
CAMPO: <f1>, <f 2>,...
MÓDULO <mod1>.
CAMPO: <g1>, <g 2>,...
MÓDULO <mod2>.
...
FINCADENA.
Todos los campos en la pantalla que pertenecen a la cadena de procesamiento (todos los campos enumerados en las declaraciones de campo) se preparan nuevamente para la entrada. Otros campos no están listos para la entrada. Si la declaración de MÓDULO aparece dentro de una cadena de procesamiento, incluso si solo hay un CAMPO adjunto a ella, todos los campos en la cadena (no solo el campo afectado) se preparan nuevamente para la entrada, lo que permite al usuario ingresar nuevos valores. Si los campos en la cadena de procesamiento se verifican solo una vez, el procesamiento de PAI continúa directamente después de la declaración de CAMPO, y los módulos anteriores no se llaman nuevamente.
Además,
Consulta el siguiente enlace
[http://help.sap.com/saphelp_46c/helpdata/EN/9f/dbaa4735c111d1829f0000e829fbfe/content.htm]
Las declaraciones CADENA y FINCADENA de la lógica de flujo de dynpro definen cadenas de procesamiento. Entre CADENA y FINCADENA, se pueden ejecutar las declaraciones CAMPO y MÓDULO. Las declaraciones entre CADENA y FINCADENA forman una cadena de procesamiento. Las cadenas de procesamiento no pueden ser anidadas. La declaración CADENA puede especificarse en los bloques de eventos en PAI y PBO, sin embargo, en el bloque de eventos en PBO no tiene efecto.
Una cadena de procesamiento permite el procesamiento conjunto de todos los campos de pantalla indicados entre CADENA y FINCADENA después de las declaraciones de CAMPO:
Los contenidos de todos los campos de pantalla combinados en una cadena de procesamiento por las declaraciones de CAMPO pueden verificarse en las condiciones compartidas ON CHAIN-INPUT y ON CHAIN-REQUEST de la declaración de MÓDULO.
Un mensaje de advertencia o error en un módulo llamado dentro de una cadena de procesamiento restablece todos los campos de entrada cuyos campos de pantalla se combinan en esta cadena de procesamiento usando declaraciones de CAMPO a listos para la entrada. Después de una entrada del usuario, el procesamiento de PAI se reanuda en la declaración de CADENA como máximo.
Ejemplo
Llama a módulos de diálogo para verificar los valores de entrada. Los campos de pantalla input1 e input2 se verifican en módulos de diálogo individuales check_1 y check_2. Los campos de pantalla input3 a input5 se verifican en una cadena de procesamiento en un módulo de diálogo compartido check_chain. Los mensajes de advertencia o error en los módulos de diálogo hacen que solo un campo de entrada input1 o input2 esté nuevamente listo para la entrada o todos los tres campos de entrada input3 a input5.
PROCESAR DESPUÉS DE LA ENTRADA.
MÓDULO leave_dynpro EN EXIT-COMMAND.
CAMPO input1 MÓDULO check_1 ON REQUEST.
CAMPO input2 MÓDULO check_2 ON REQUEST.
CADENA.
CAMPO input3.
CAMPO input4.
CAMPO input5.
MÓDULO check_chain ON CHAIN-REQUEST.
FINCADENA.
MÓDULO handle_user_command.
Saludos,
Dhruv Shah