LIBRM POINT (Point to Noted Member Record) Macro

This macro repositions a member to the record identified by a previous NOTE macro.

POINT is not possible for OPEN(OUTPUT). For OPEN(INOUT), POINT refers to the old version of the member.

If you want to control the NOTE information yourself (NOTECTL=YES), you must provide the new position in an area that is specified by NOTEINF. In this case, the new position must be in the currently opened member. The NOTE information that is given with POINT must be obtained by a previous NOTE request and must not have been modified by the caller.

If you specify NOTECTL=NO, the Librarian takes the information of the most recent NOTE operation for member positioning. In this case, the number of POINT operations at any time must be less than or equal to the number of performed NOTE operations. If a member was opened by a LIB/SUBLIB specification, POINT is only possible for a member within the same sublibrary, otherwise a sublibrary chain specification must be used.

After POINT, the number of requested units (UNITS operand of GET/PUT) is set to its default.

See also Library Macro Notation for details on register notation and possible operand specifications.

Format

Read syntax diagramSkip visual syntax diagramlabelLIBRM POINT,LDCB= areaname,NOTEINF= noteinf,NOTECTL=NO,NOTECTL=YES,EROPT=RET,EROPT=CANCEL,ERRAD= label

Requirements for the caller

AMODE:
24 or 31
RMODE:
ANY
ASC Mode:
Primary

Parameters

LDCB=areaname
Specifies the address of the LDCB (Librarian Data Control Block) for the request.
NOTEINF=noteinf
Specifies the address of a 32-byte area in which the NOTE information is to be returned. This operand is required if NOTECTL=YES has been specified.
NOTECTL=NO | YES
Specifies who is to maintain the NOTE information:
NO
The Librarian keeps track of the NOTE information (LIFO mechanism).
YES
The caller maintains the information himself. In this case, the NOTEINF operand is required.
EROPT=RET | CANCEL
Defines an error handling option, which is taken, if the function cannot be performed (return code > 12).
RET
Processing is continued, either by a normal return or by branching to the ERRAD exit.
CANCEL
Processing is canceled. A librarian error message is issued to SYSLOG.
ERRAD=label
Specifies a label to which the Librarian branches, if the above function cannot be performed because of an error (return code > 12).

Return Codes

Return  Reason   Meaning
 Code    Code
  0       0      Position has been reset according to NOTE information.
 12      28      POINT failed because of invalid NOTE information
                 (old position kept).
 16      xx      External system error with feedback code and message.
 20      xx      Internal system error with feedback code and message.
The external system error feedback codes are described in Librarian Feedback Codes. All other (internal) feedback codes are described in http://publibfp.dhe.ibm.com/epubs/pdf/ieslde10.pdf.
Note:
  1. If a stack underflow occurs (that is, if the number of NOTE requests is smaller than the number of POINT requests), return code 16 is passed back with a feedback code.
  2. The NOTE information is only valid between OPEN and CLOSE.
  3. A member is automatically closed, if the return code is higher than 12.