PDA

Ver la Versión Completa : Consulta: PBO y PAI


Abaunus
20/02/09, 13:45:21
Hola a todos: necesito sacarme una duda respecto a los PBOs y PAIs. Yo tenía entendido "en teoría", que al correr un report (pongamos de ejemplo un ALV sencillo), la secuencia de procesos era la siguiente:
PBO / Pantalla de selección / PAI / Listado ALV

Ahora bien: al correr el programa en debug (/h), veo que hace lo siguiente:
PAI / Pantalla de selección / PBO / Listado ALV / (volviendo)--> PAI / Pantalla de selección / PBO / Fin...

Jaja, no entiendo nada. ¿Alguien me podría aclarar cómo es el asunto?

Desde ya, gracias a todos.
Muy linda comunidad.
Saludos

DavidXD_XD
20/02/09, 14:16:00
Hola, aver aclarando estas dudas ... para comenzar cada pantalla maneja su propia logica de pantalla (PBO y PAI), si te fijas bien la pantalla de seleccion es el dynpro 1000, y supongamos q tu ALV lo creaste dentro del dynpro 100, entonces cuando llenas los parametros dentro de la pantalla y presionas F8 se ejecutara el PAI de la pantalla 1000.

Eso direccionara al START-OF-SELECTION (Si lo hubiera), y supongo que despues a una sentencia de CALL SCREEN 100 o SET SCREEN 100, cuando realiza esa tarea pasara al PBO de la nueva pantalla (100) y ahi creara e instanciara la grilla creada y mostrara el ALV, si realizas cualquier accion se ejecutara el PAI de la pantalla 100, espero te pueda servir :D

Mauricio Hidalgo
20/02/09, 14:21:16
Básicamente él tema se debe entender de la siguiente manera.

Siempre que tu ves en SAP una pantalla, cualquiera sea el tipo, se habla de Dynpros.

Cada dynpro se compone principalmente de dos eventos, estos son PBO y PAI en su lógica de proceso.

PBO (Process Before Output) : En este evento se programa todo lo necesario justo antes de mostrar la pantalla o dynpro.

PAI (Process After input): En este evento se programa todas las acciones que un usuario haga sobre la pantalla. Pulsar un botón, invocar un menú, etc.

Siempre después de un PAI, a menos que se diga lo contrario, se vuelve a rescribir la pantalla, pasando nuevamente por PBO.

el caso de la dynpro 1000 (que es la que se genera por el uso de pantallas de selección Parameter, select-options) es una dynpro particular que no es creada por nosotros sino por sap. Pero tambien tiene su PBO y PAI que se usan en el programa usando las instrucciones SELECTION-SCREEN OUTPUT y SEÑECTION-SCREEN INPUT. Pero lo fundamental creo yo es entender lo qu anteriormente indique hacerca de PBO y PAI

Ojalá haya ordenado un poco tu idea.

Saludos

Abaunus
20/02/09, 14:23:10
Claro David, eso es lo que yo creía, la cosa es que al correr el programa en debugg, lo primero que hace es entrar a la PAI, no pasa por la PBO, sino hasta que pulso ejecutar (F8) en la pantalla de selección. Esta dynpro sí es la 1000, pero en ningún momento ejecuto la sentencia set o call screen, el ALV aparece automáticamente al correr la función correspondiente...
No logro entender esto, ya que veo una incorrespondencia entre lo que leo cómo es, y los pasos que hace el debug...

cramr
22/07/09, 08:44:04
Y si me sale el PBO, y me pinta una dynpro y yo marco un checkbox en la dynpro, es posible que sin dar al INTRO ni nada, solo con haber marcado o desmarcado un checkbox se vaya al PAI y luego al PBO, con la intención de hacer que otros campos de la dynpro pasen a ser modificables o no, invisibles, etc.?

Es posible hacer eso sin hacer INTRO ni nada?

Gracias

pirri
23/07/09, 07:38:49
Recuerdo que leí algo que se parecía a lo que preguntas. Te lo he buscado http://saping.informe.com/viewtopic.php?t=11

Consiste en simular la pulsación del ENTER, rompe un poco la lógica de SAP para el uso de las pantallas. Si funciona, no lo he probado, me inclino a no usarla para lo que quieres, sobre todo al estar ejecutando el PBO y el PAI continuamente contra el servidor, pero es una posibilidad para hacer lo que quieres.

Un saludo.