Cᑍ This subroutine processes each entry returned by QSYLOBJP
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, check
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 Header
Cᑍ
C EVAL LSTPTR = %ADDR(ARR(QUSOIP + 1))
Cᑍ
Cᑍ If the continuation handle in the Input Parameter Header 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 Languages B-109