====== List Members ====== H dftactgrp(*no) actgrp(*caller) bnddir('MYBNDDIR') /if not defined(QUSEC) /define QUSEC /copy QSYSINC/QRPGLESRC,QUSEC /endif /include '/usr/local/include/libc_h.rpgle' /include '/usr/local/include/userspace_h.rpgle' D listFileMembers... D PR extpgm('QUSLMBR') D userspace 20A const D format 8A const D filename 20A const D member 10A const D ovrProcessing 1A const D error likeds(QUSEC) options(*nopass) main(); *inlr = *on; P main B D abnormallyEnded... D S N D library S 10A D filename S 10A D usPtr S * D usHeader DS likeds(tmpl_userspace_header) D based(usPtr) D userspace_attr DS likeds(tmpl_userspace_attributes) D usName S 10A D usLib S 10A inz('QTEMP') D dataPtr S * D usData DS qualified based(dataPtr) D member 10A D sourceType 10A D creationDate 13A D lastChanged 13A D description 50A D ccsid 10I 0 D i S 10I 0 D lastChanged S D usName = 'LISTMEMBER'; library = 'MYLIB '; filename = 'MYFILE '; clear QUSEC; userspace_create(usName + usLib : *blank : 4096 : X'00' : '*ALL' : 'List Members' : '*YES' : QUSEC ); // change user space attributes to autoextend clear QUSEC; userspace_attr.size = 1; // 1=attribute will be changed userspace_attr.key = 3; // 3=extensibility attribute userspace_attr.dataLength = 1; userspace_attr.data = '1'; // user space is extensible userspace_changeAttributes(usLib : usName+usLib : userspace_attr:QUSEC); clear QUSEC; userspace_retrievePointer(usName + usLib : usPtr : QUSEC); listFileMembers( usName + usLib : 'MBRL0200' : filename + library : '*ALL' : '1' : QUSEC); // iterate through retrieved members for i = 0 to usHeader.nmbrEntries - 1; dataPtr = usPtr + usHeader.offsetList + (i * usHeader.entrySize); monitor; // lastchanged Format : EJJMMDDHHMMSS // E = Epoche : 0 = 19xx , 1 = 2xxx (Jahr) lastChanged = %date(%subst(usData.lastChanged : 2 : 6) : *YMD0); on-error *all; dsply usData.member; dsply %trimr('Invalid date: ' + usData.lastChanged); endmon; if (i > 10); leave; endif; endfor; on-exit abnormallyEnded; userspace_delete(usName + usLib : QUSEC); P E {{tag>devel ibm rpg}}