Example of using LANSA-provided LANSAINS and LANSAUPD commands

Using LANSAINS to install LANSA and your application, your program may be structured to look something like this:

           PGM     (&DEVICE)

 

 /*=================================================================*/

 /* Your library name                                               */

 /*=================================================================*/

 

             DCL        VAR(&PGMLIB) TYPE(*CHAR) LEN(10) +

                          VALUE('Library_NAME_Eg:DCXPGMLIB')

 

 /*=================================================================*/

 /* Your DVD Drive where your application and LANSA libraries       */

 /*          DCL        VAR(&DEVICE) TYPE(*CHAR) LEN(10) +          */

 /*                       VALUE('Your_OPT_device')                  */

 /*=================================================================*/

             DCL        VAR(&DEVICE) TYPE(*CHAR) LEN(10)

 

 /*=================================================================*/

 /* To save QTEMP if required                                       */

 /* Otherwise you can remove this code                              */

 /==================================================================*/

             DCL        VAR(&NBR) TYPE(*CHAR) LEN(6) 

             DCL        VAR(&QTEMPSAVF) TYPE(*CHAR) LEN(10) 

 

 /*=================================================================*/

 /* To create a new partition for your application                  */

 /* For this  DEX                                                   */

 /*=================================================================*/

             DCL        VAR(&DEX) TYPE(*CHAR) LEN(3) VALUE(DEX)

 

             DCL        VAR(&OK) TYPE(*CHAR) LEN(1)

 

 /*=================================================================*/

 /* Check for the device                                            */

 /* Some validation                                                 */

/*==================================================================*/

 

 CHKOPT:

 

 /*=================================================================*/ 

 /* Any customer processing before LANSA is installed               */

 /*=================================================================*/ 

 CUSPROC:

 

 /*=================================================================*/ 

 /* If you have any QTEMP objects consider saving them               */

 /* Save the QTEMP objects to a Save file                           */

 /* Below is the code to save the QTEMP library                            */

 /*=================================================================*/ 

 SAVQTEMP:        

 

            RTVJOBA    NBR(&NBR)

            CHGVAR     VAR(&QTEMPSAVF) VALUE('J' *TCAT &NBR)

            CHKOBJ     OBJ(QGPL/&QTEMPSAVF) OBJTYPE(*FILE) 

            MONMSG     MSGID(CPF0000) EXEC(CHGVAR VAR(&OK) VALUE('N'))

            IF         COND(&OK *EQ 'N') THEN(DO) 

             CRTSAVF    FILE(QGPL/&QTEMPSAVF)      

             ENDDO

            ELSE       CMD(DO)  

             CLRSAVF    FILE(QGPL/&QTEMPSAVF)      

           ENDDO

           SAVOBJ     OBJ(*ALL) LIB(QTEMP) DEV(*SAVF) + 

                          SAVF(QGPL/&QTEMPSAVF)

           MONMSG     MSGID(CPF0000)

 ENDQTEMP:

 

 /*===================================================================*/ 

 /* New Command LANSAINS will do the following:                       */   

 /* Will Install LANSA for i                                          */

 /*      LANSA for WEB  Default is *YES                               */

 /*      LANSA Integrator  Default is *YES                            */ 

 /*===================================================================*/ 

 CLRQTEPM: 

 

           CLRLIB     LIB(QTEMP) 

           MONMSG     MSGID(CPF0000)

 

 INS_LANSA:

 

 /*===================================================================*/ 

 /* If you are using IASP following is an example                     */ 

 /* If you are submiting this program                                 */ 

 /*                                                                   */   

 /*        SBMJOB    CMD(LANSAINS DEVICE(&DEVICE) PGMLIB(&PGMLIB) +  */ 

 /*                   ASP(*ASPDEV) ASPDEV(IASPNAME) ASPGRP(IASPNAME) +*/ 

 /*                    CRTPART(*YES) PARTITION(&DEX)) JOB(JOB_NAME) + */ 

 /*                    INLASPGRP(YOUR_IASP)                           */ 

 /*                                                                   */ 

 /* If you are using the following this way you have to set the IASP  */ 

 /* by using the command SETASPGRP before the job is started          */ 

 /* If using the sumbit command you can use the following in the      */ 

 /* SBMJOB command  INLASPGRP(*CURRENT)                               */ 

 /*                                                                   */ 

 /*          LANSAINS   DEVICE(OPT01) PGMLIB(&PGMLIB) ASP(*ASPDEV) +  */ 

 /*                       ASPDEV(IASPNAME) ASPGRP(IASPNAME) +         */ 

 /*                       CRTPART(*YES) PARTITION(&DEX)               */ 

 /*                                                                   */ 

 /*===================================================================*/ 

 /* Not using IASP                                                    */ 

 /*===================================================================*/ 

 

             LANSAINS   DEVICE(&DEVICE) PGMLIB(&PGMLIB) +    

                           ASP(1) ASPDEV(*ASP) +

                          CRTPART(*YES) PARTITION(&DEX) +    

                          WEBINS(*YES) WEBPORT(00080) INTINS(*YES) +

                          JSMTCP(04560) JSMTCPA(04561)       

 END_LANSA:

YOUR_CODE:

 

/*===================================================================*/   

/* Put back any saved QTEMP objects                                  */  

/* Do any customer imports                                           */  

/* Do any customer processing                                        */ 

/*===================================================================*/  

 

 END_CODE: 

 

             RETURN