¿Qué diferencia hay entre los valores After Insert, After Update, After Delete con la opción Aftern Trn?
Estas opciones no tienen relación entre sí.
Por un lado están las opciones After Insert, After Update y After Delete tanto de las preferencias del pattenr en la sección Default como las mismas opciones en la raíz de cada instancia.
Por otro lado está la opción After Trn que se define a nivel de la transacción.
Conceptos importantes a considerar
En un PXWorkWith podemos tener:
Por un lado una Transacción como nodo principal de la instancia.
Por otro lado un conjunto de Nodos Level. Cada nodo Level podrá contener subnodos Selection, View y Prompts.
En cada nodo Level hay una relación de flujo de interfaz entre el Selection, la Transacción y el View.
Los nodos Selection y View se vinculan solo entre sí dentro de su Level. No hay relación entre un Selection de un Level y un View de otro Level.
La transacción es el único objeto que participa de la inter-relación del flujo de interfaz con todos los otros nodos.
Es por esto que para realizar la relación de flujo de interfaz entre la Transacción y cada grupo de Selection y View existirá un Controlador de flujo asociado para cada Level.
El comportamiento por defecto es que la Transacción, en el After Trn, invocará al controlador de flujo correspondiente según la pantalla por la que se invicó a la transacción.
Existe la posibilidad de Customizar el comportamiento de cada Controlador de Cada Level pudiendo agregar un nodo Controller dentro de cada nodo level. En ese nodo se podrá definir a través de un concepto de Conditional Call la invocación de distintas interfaces dependiendo de una condición.
Existe también la posibilidad de Customizar el comportamiento de un Controller general a nivel de la instancia. Este Contrller por lo general se puede definir cuando se define una instancia que no tenga ningún nodo Level y aún así se quiera definir distintas invoaciones de interfaces según condiciones de evaluación.
Propiedades After Insert, After Update y After Delete
Estas propiedades (que pueden estar tanto en la preferencia del pattern como en la raíz de la instancia) definen el comportamiento del flujo de invocación para cada uno de los controladores de flujo de cada Level.
Si en la raíz de la instancia los valores dicen "<default>" se considerará el valor definido a nivel de la preferencia del pattern.
Propiedad After Trn en la Transacción
Esta propiedad define que tipo de invocación se realizará a nivel del Evento AfterTrn.
Los valores disonibles son:
Call Levels Controlers: Este es el valor por defecto e indica como que la Transacción se encargará de la invoación del controlador del Level correspondiente dependiendo de dónde se realizó la llamada a la Transacción.
Call Only Instance Controller: En este caso la transacción invocará al Controlador principal definido subordinado a la raíz de la instancia.
Return to Caller: En este caso la transacción en el After Trn invocará a Return de las APIs del Recent Link para volver a la pantalla que invocó inicialmente a la Transacción.
Do nothing: En ese caso simplemente en la Transacción no se invoca a ninguna interfaz a nivel del Evento After Trn. Este caso puede usarse tanto cuando no se desea invocar a ninguna interfaz para que luego de la confirmación la página se mantenga en la transacción o cuando desea hacerse una invocación "a mano" en el Evento After Trn fuera de la sección generada por el pattern.