code

Name
Astradyne (UK) Ltd
Scriptlanguage
Plain Text
Tabwidth
4
Date
Sun, 12 May 2013 12:32:35 +0000
IP
192.168.0.1

Example of using this API to change the user attribute for an object. We use this attribute internally to store a version/build reference that is updated every time an object is promoted from the development environment.

  1.             PGM        PARM(&OBJ &LIB &TYP &DTA)                                             
  2.                                                                      
  3.             DCL        VAR(&OBJ) TYPE(*CHAR) LEN(10)                 
  4.             DCL        VAR(&LIB) TYPE(*CHAR) LEN(10)                 
  5.             DCL        VAR(&TYP) TYPE(*CHAR) LEN(10)                 
  6.             DCL        VAR(&DTA) TYPE(*CHAR) LEN(50)                 
  7.                                                                      
  8.             DCL        VAR(&RTNLIB) TYPE(*CHAR) LEN(10)             
  9.             DCL        VAR(&OBJECT) TYPE(*CHAR) LEN(20)             
  10.             DCL        VAR(&REQUEST) TYPE(*CHAR) LEN(64)             
  11.             DCL        VAR(&EC) TYPE(*CHAR) LEN(4) VALUE(X'00000000')
  12.                                                                      
  13.             CHGVAR    VAR(&OBJECT) VALUE(&OBJ *CAT &LIB)           
  14.                                                                      
  15. /* set number of variable records */                                 
  16.             CHGVAR    VAR(%SST(&REQUEST 1 4)) VALUE(X'00000001')   
  17.                                                                      
  18. /* set key for user attribute */                                     
  19.             CHGVAR    VAR(%SST(&REQUEST 5 4)) VALUE(X'00000009')   
  20.                                                                  
  21. /* set data length to 10 */                                       
  22.             CHGVAR    VAR(%SST(&REQUEST 9 4)) VALUE(X'0000000A')
  23.                                                                  
  24. /* set User Attribute */                                         
  25.             CHGVAR    VAR(%SST(&REQUEST 13 50)) VALUE(&DTA)     
  26.             CALL      PGM(QLICOBJD) PARM(&RTNLIB &OBJECT &TYP + 
  27.                           &REQUEST &EC)                           
  28.                                                                  
  29.             ENDPGM                                             
  30.