Example 3 Executing an Agent in a Database

Visual LANSA

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 **********