Use the FETCH_CURRENT_RECORD function to get the record from the target table with the same key as the current source record without locking the record. This makes the record buffer available to be read into the user exit by completing a call to GET_RECORD for the target image.
FETCH_CURRENT_RECORD is supported only for key-sequenced and entry-sequenced Enscribe files. The implementation for entry-sequenced files requires the use of a specified ALTKEY for proper positioning.
Fetching from the target table is only supported by Replicat, and only if a mapped target buffer is available. Replicat fetches the current record by key.
Syntax
For C:
#include "usrdecs"
short result;
typedef struct {
long error_num;
char error_msg [600];
long max_length;
long actual_length;
short msg_truncated;
} error_info_def;
error_info_def error_info_ptr;
result = FETCH_CURRENT_RECORD (&error_info_ptr);
For TAL:
?source usrdect int result; int .ext error_info_ptr(error_info_def); result := FETCH_CURRENT_RECORD(error_info_ptr);
For COBOL:
?CONSULT =REPLICAT 01 result PIC S9(4) COMP. 01 error-info. 02 error-num PIC S9(4) COMP. 02 error-msg PIC X(600). 02 max-length PIC S9(4) COMP. 02 actual-length PIC S9(4) COMP. 02 msg-truncated PIC S9(4) COMP. ENTER C "FETCH_CURRENT_RECORD" using error-info giving result.
actual-lengthThe actual length of the error message that is included.
error-msgThe message explaining the error. The size is set when the function is used. PIC X(600) and char [600] are only examples of a possible value.
error-numA code indicating whether the call was successful or not.
max-lengthThe maximum length allowed for an error message.
msg-truncatedIndicates whether the error message has been truncated.
resultA code indicating whether the call was successful or not.