How can I retrieve, in a trigger program, the name of the program (RPG,CLP,DFU...) that is trying to make a change on a database file?
There's no data on the invoking program that's passed to a trigger program. Thus, it requires additional programming on your behalf. Many customers have done this by using the OS/400 message-handling APIs: QMHSNDPM (Send Program Message) and QMHRCVPM (Receive Program Message). First, the trigger program uses API QMHSNDPM to send a message to the message queue of the changing program's call-stack entry. API QMHRCVPM then retrieves the message from the message queue, obtaining the name of the program associated with that entry in the process.
MORE INFORMATION ON THIS TOPIC
Search400.com's targeted search engine: Get relevant information on DB2/400.
The Best Web Links: tips, tutorials and more.
Check out this online event, Getting the Most out of SQL & DB2 UDB for the iSeries.
Dig Deeper on DB2 UDB (universal databases)
Related Q&A from Kent Milligan
Create a host variable of the where in statement on the fly with dynamic SQL. Continue Reading
To solve the SQL error -321 on IBM i6.1, use the new values statement to overcome the error. If you are using an older release, declare a cursor ... Continue Reading
When working with DB2 files with columns that have both short and long names, there is no option choose which column names are returned via ODBC ... Continue Reading