miércoles, 19 de noviembre de 2014

Orden de reglas en GX

Muchas veces tenemos que poner reglas en Transacciones genexus que son un poco complicadas y tenesmos que pensar cual regla se ejecuta antes de otra, con el tiempo uno lo hace ya casi por instinto, pero siempre nos queda la duda de esta bien lo que estamos haciendo.
Como encontré en la wiki de Gx algo que está bien claro, sobre todo para las versiones nuevas lo pego acá para que todo el mundo lo tenga un poco más claro.


Rule Triggering Order

When a Transaction has been confirmed, the events will be triggered in the following order:
  • BeforeValidate
  • Check Extended Table (Internal GeneXus triggering event; Refcall rules are triggered here).
  • Confirm data
  • Check Optimistic Concurrency (Internal GeneXus triggering event; Record modification and locking are checked in this event).
  • AfterValidate (first level)
  • BeforeInsert/Update/Delete
  • DB is updated
  • AfterInsert/Update/Delete
    • BeforeValidate Level
    • Confirm data
    • AfterValidate Level
    • BeforeInsert/Update/Delete Level
    • AfterInsert/Update/Delete Level
  • AfterLevel Level
  • DB is updated; the success message is displated ('Data has been successfully added')
  • BeforeComplete
  • Commitment of the LUW
  • AfterComplete

No hay comentarios: