C\ This subroutine processes each entry returned by QSYLO￿BJP

C\

 

 

 

 

 

C\

 

 

 

 

 

C\ Do until the list is complete

 

 

C\

 

 

 

 

 

C

 

MOVE

QUSIS

LST_STATUS

1

C\

 

 

 

 

 

C

LST_STATUS

DOUEQ

'C'

 

 

C\

 

 

 

 

 

C\ If valid information was returned

 

 

C\

 

 

 

 

 

C

QUSIS

IFEQ

'C'

 

 

C

QUSIS

OREQ

'P'

 

 

C\

 

 

 

 

 

C\ and list entries

were found

 

 

 

C\

 

 

 

 

 

C

QUSNBRLE

IFGT

ð

 

 

C\

 

 

 

 

 

C\ set LSTPTR to the first byte of the User Space

 

C\

 

 

 

 

 

C

 

EVAL

LSTPTR = SPCPTR

 

C\

 

 

 

 

 

C\ increment LSTPTR

to the first List entry

 

 

C\

 

 

 

 

 

C

 

EVAL

LSTPTR = %ADDR(ARR(QUSOLD + 1)) .5/

C\

 

 

 

 

 

C\ and process all of the entries

 

 

C\

 

 

 

 

 

C

 

DO

QUSNBRLE

 

.6/

C

 

EXCEPT

OBJ_ENTRY

 

 

C\

 

 

 

 

 

C\ after each entry, increment LSTPTR to the next entry

C\

 

 

 

 

 

C

 

EVAL

LSTPTR = %ADDR(ARR(QUSSEE + 1)) .7/

C

 

END

 

 

 

C

 

END

 

 

 

C\

 

 

 

 

 

C\ If all entries in this User Space have been processed, ch￿eck

C\ if more entries exist

than

can fit in one User Space

C\

 

 

 

 

 

C

QUSIS

IFEQ

 

'P'

 

C\

 

 

 

 

 

C\ by resetting LSTPTR to the

start of the User Space

C\

 

 

 

 

 

C

 

EVAL

 

LSTPTR = SPCPTR

C\

 

 

 

 

 

C\ and then incrementing

LSTPTR to the Input Parameter Hea￿der

C\

 

 

 

 

 

C

 

EVAL

 

LSTPTR = %ADDR(ARR(QUSOIP + 1))

C\

 

 

 

 

 

C\ If the continuation handle

in the Input Parameter Heade￿r is

C\ blank, then set the List status to Complete

C\

 

 

 

 

 

C

QSYCVðð

IFEQ

 

\BLANKS

 

C

 

MOVE

 

'C'

LST_STATUS

C

 

ELSE

 

 

 

C\

 

 

 

 

 

C\ Else, call QSYLOBJP reusing the User Space to get more

Appendix B. Original Examples in Additional BLanguages-109

Page 387
Image 387
IBM Version 4 manual Qusnbrle Except Objentry, Eval Lstptr = %ADDRARRQUSSEE + 1 END, Lststatus