Asynchronous triggers

I would like to create asynchronous trigger on adabas.

If I understand, with this technology, I don’t depend of the transaction execution that update the record.

But, how are managed rollback ? errors ?

The asynchronous trigger starts only if transaction is terminated ?

If an error occured during the treatment of the asynchronous trigger, do I have a log error ?

Thanks for your help.

Best regards


Hi Myriam,

an aynchroneous trigger cannot be participating, that means that the trigger program is fired when the defined command (with a specific field in the format buffer if wished) is executed, but the command does not wait for the trigger execution nor is the trigger program associated with the transaction logic of the caller. The trigger has to have it´s own transaction logic (and error logic).

When running a participating trigger (only synchroneous triggers are possible) then the transaction logic of the calling program is taken, that means if there is BT later in the calling program the commands from the trigger will also be BTed. If the trigger is executing an ET/BT this applies then also for the calling program.

When running a synchroneous trigger the calling program gets an rsp-155/156 if the trigger did not run. Asynchroneous trigger cannot pass data to the calling program back. You can define either CMPRTxx or CMWKFxx for information from the trigger program or the trigger program can protocol the error anywhere else.

I hope that helps,