Example 3: Executing an Agent in a Database
********** Beginning of RDML commands **********
FUNCTION OPTIONS(*DIRECT)
********** Field definitions
DEFINE FIELD(#DATABASE) TYPE(*CHAR) LENGTH(50)
INPUT_ATR(LC) DEFAULT('''BIFTEST''')
DEFINE FIELD(#RETCODE) TYPE(*CHAR) LENGTH(2)
DEFINE FIELD(#DBHANDLE) TYPE(*CHAR) LENGTH(4)
DEFINE FIELD(#AGENTNAME) TYPE(*CHAR) LENGTH(50)
INPUT_ATR(LC)
********** Open the database
USE BUILTIN(DOM_OPEN_DATABASE) WITH_ARGS(#DATABASE)
TO_GET(#RETCODE #DBHANDLE)
********** Execute nominated agent in database
BEGIN_LOOP
REQUEST FIELDS((#AGENTNAME *L3 *P2)(#RETCODE *L6 *P2))
DESIGN(*DOWN) IDENTIFY(*LABEL) DOWN_SEP(001)
ACROSS_SEP(001) EXIT_KEY(*YES L1) MENU_KEY(*YES L1)
TEXT((*TMAP001 1 1)
)
USE BUILTIN(DOM_EXECUTE_AGENT)
WITH_ARGS(#DBHANDLE #AGENTNAME) TO_GET(#RETCODE)
IF COND('#RETCODE *NE ''OK''')
GOTO LABEL(L1)
ELSE
MESSAGE MSGTXT('Agent executed successfully')
ENDIF
END_LOOP
********** Close the database upon exit or an error
L1 USE BUILTIN(DOM_CLOSE_DATABASE) WITH_ARGS(#DBHANDLE)
TO_GET(#RETCODE)
********** End of RDML commands **********