0% found this document useful (0 votes)
32 views10 pages

Upload 46

upload 46

Uploaded by

rachmat99
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views10 pages

Upload 46

upload 46

Uploaded by

rachmat99
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

*===================================================== * PROGRAM - XXXXXX * PURPOSE - List members in a file * * PROGRAM DESCRIPTION * * * * * INPUT PARAMETERS * * * * * * INDICATOR USAGE * * *===================================================== * * Program

Info * d PgmInfo d @PgmName d @Parms d @MsgID d @JobName d @UserId d @JobNumber * SDS 1 37 40 244 254 264 10 39 0 46 253 263 269 0 n/a Description ----------ApiLibrary ApiFile Type Size ---- ---Char 10 Char 10 How Used -------input input This program will list all members in a file

* constants * d Q d Up d Low * * Field Definitions. * d AllMembers d ApiFile d ApiLibrary d ApiMember d bOvr d FileLib d Format d MemberName d nBufLen d ObjectLib d OutData d ReceiverLen d SpaceVal d SpaceAuth d SpaceText d SpaceRepl d SpaceAttr d UseScreen d UserSpaceOut * * QUSRMBRD API return Struture * ============================ s s s s s s s s s s s s s s s s s s s 20 10a 10 10 10 1a 20a 8a 10 10i 0 10 30 10i 0 inz(100) 1 10 50 10 10 n inz(*BLANKS) inz('*CHANGE') inz(*BLANKS) inz('*YES') inz(*BLANKS) inz('0') inz('*ALL') c c c const('''') const('ABCDEFGHIJKLMNOPQRSTUVWXYZ') const('abcdefghijklmnopqrstuvwxyz')

d Mbrd0100 d nBytesRtn d nBytesAval d DBXLIB d DBXFIL d MbrName d FileAttr d SrcType d dtCrtDate d dtLstChg d MbrText d bIsSource d RmtFile d LglPhyFile d ODPSharing d filler2 d RecCount d DltRecCnt d DataSpaceSz d AccpthSz d NbrBasedOnMbr *

ds 10i 0 10i 0 10a 10a 10a 10a 10a 13a 13a 50a 1a 1a 1a 1a 2a 10i 0 10i 0 10i 0 10i 0 10i 0

inz

* Create userspace datastructure * d stuff d StartPosit d StartLen d SpaceLen d ReceiveLen d MessageKey DS 10i 0 10i 0 10i 0 10i 0 10i 0

d MsgDtaLen d MsgQueNbr *

10i 0 10i 0

* Date structure for retriving userspace info * d InputDs d UserSpace d SpaceName d SpaceLib d InpFileLib d InpFFilNam d InpFFilLib d InpRcdFmt * * Data structure for the retrieve user space command * d GENDS d Filler3 d OffsetHdr d SizeHeader d OffsetList d Filler4 d NbrInList d SizeEntry * * Datastructure for retrieving elements from userspace * d HeaderDs d OutFileNam d OutLibName DS 1 11 10 20 DS 116 10i 0 10i 0 10i 0 4 10i 0 10i 0 DS 1 1 11 29 29 39 49 20 10 20 48 38 48 58

d OutType d OutFormat d RecordLen * * List the members * d ListDs d LmMember d LmType d LmCreationDt d LmCreationTm d LmLastChgDt d LmLastChgTm d LmDescription * DS

21 31 41

25 40 44i 0

10 10 7 6 7 6 50

* Retrive object description * d RtvObjInfo d RoBytRtn d RoBytAvl d RoObjNam d RoObjLib d RoObjTypRt d RoObjLibRt d RoObjASP d RoObjOwn d RoObjDmn d RoObjCrtDts d RoObjCrtTim d RoObjChgDts DS 10i 0 10i 0 10a 10a 10a 10a 10i 0 10a 2a 07a 06a 07a

d RoObjChgTim d RoExtAtr d RoTxtDsc d RoSrcF d RoSrcLib d RoSrcMbr * * API Error Data Structure * d Errords d BytesPrv d BytesAvl d MessageId d ERR### d MessageDta * ds 1 5 9 16 17

06a 10a 50a 10a 10a 10a

4I 0 inz(%size(errords)) 8I 0 inz(0) 15 16 256

*===================================================== * MAIN LINE *===================================================== * * Now List the members of this source file to a userspace * c * c c c * * Read back the members * eval eval exsr MemberName = '*ALL' Format = 'MBRL0200' $QUSLMBR exsr $QUSCRTUS

c c *

eval eval

StartPosit = 1 StartLen = 140

* First call to get data offsets(start) * c c c c c c * * Then call to get number of entries * c c * c c c c c c * c c * * Do for number of members * c do NbrInList eval eval StartPosit = OffsetList + 1 StartLen = SizeEntry call(e) parm parm parm parm parm 'QUSRTVUS' UserSpaceOut StartPosit StartLen HeaderDs ErrorDs eval eval StartPosit = OffsetHdr + 1 StartLen = SizeHeader call(e) parm parm parm parm parm 'QUSRTVUS' UserSpaceOut StartPosit StartLen GENDS ErrorDs

c c c c c c * c c c c c c * c c * c OutData

call(e) parm parm parm parm parm

'QUSRTVUS' UserSpaceOut StartPosit StartLen ListDs ErrorDs

eval exsr eval

ApiMember = LmMember $QUSRMBRD OutData = %trim(LmMember) + '-' + %char(RecCount) +' Deleted: '+ %char(DltRecCnt)

dsply

reply

eval enddo

StartPosit = StartPosit + SizeEntry

eval

*inlr = *on

*===================================================== * $QUSRMBRD - API Retreive Member Description *===================================================== c * c c * c c c c call(e) parm parm parm 'QUSRMBRD' MbrD0100 nBufLen Format eval eval nBufLen = %size(MbrD0100) Format = 'MBRD0200' $QUSRMBRD begsr

c c c * c

parm parm parm

FileLib ApiMember bOvr

endsr *======================================================================== * $QUSCRTUS - API to create user space *========================================================================

c *

$QUSCRTUS

begsr

* Create a user space named ListMember in QTEMP. * c c c * * Create the user space * c c c c c c c c c * c endsr *======================================================================== call(e) parm parm parm parm parm parm parm parm 4096 'QUSCRTUS' UserSpace UserSpaceOut SpaceAttr SpaceLen SpaceVal SpaceAuth SpaceText SpaceRepl ErrorDs Eval BytesPrv = 116 SpaceName SpaceLib

movel(p) 'MEMBERS' movel(p) 'QTEMP'

* $QUSLMBR - API List all members in a file *======================================================================== c * c * c c c c c c c * c endsr *===================================================== * Initialization *===================================================== c * c c c * c * c endsr eval FileLib = ApiFile + ApiLibrary *entry plist parm parm ApiFile ApiLibrary *inzsr begsr call(e) parm parm parm parm parm parm 'QUSLMBR' UserSpaceOut Format FileLib AllMembers bOvr ErrorDs eval nBufLen = %size(MbrD0100) $QUSLMBR begsr

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy