prt_api_load_item

Name

prt_api_load_item

Purpose

Load serialized item tracking data.

Description

This PRT_API routine is used to load the answer for a PRT request for Serialized Item Tracking Data into a response buffer. The calling routine receives back a status indicating the success or failure of the request. This function can be called multiple times to load multiple responses into the response buffer. If the buffer becomes full the return status will be unsuccessful and additional error information will be found in the COR_STATUS structure. The PRT_API routine prt_api_send_resp must be called to send the response buffer to the appropriate PRT process.

Syntax

int prt_api_load_item (data_valid_flag, item_id,

                       reference_id, item_type_id, item_status,

                       ext_hold_active, group_id,

                       int_hold_active, int_hold_reason,

                       num_atts_valid, item_att_list, retstat)

COR_BOOLEAN   data_valid_flag;

char          item_id[PRT_ITEM_ID_LEN + 1];

char          reference_id[PRT_ITEM_ID_LEN + 1];

char          item_type_id[PRT_ITEM_TYPE_ID_LEN + 1];

COR_U4        item_status;

COR_BOOLEAN   ext_hold_active;

char          group_id[PRT_REGION_ID_LEN + 1];

COR_BOOLEAN   int_hold_active;

char          int_hold_reason[SC_DESCRIPTION_LEN + 1];

COR_I1        num_atts_valid;

PRT_ITEM_ATT  item_att_list[PRT_NUM_ATTRIBUTES];

COR_STATUS    *retstat;

Data Structures

typedef struct

{

  char att_name[PRT_ATTRIBUTE_LEN + 1] - item attribute name

  char att_value[PRT_ATTRIBUTE_LEN + 1] - item attribute value

} PRT_ITEM_ATT

Arguments

Argument

Description

Input

 

data_valid_flag

If TRUE, data requested is being returned (is valid). FALSE indicates the request could not be satisfied. (required)

item_id

Unique identifier of a Serialized Item. (optional if reference_id is specified)

reference_id

Secondary identifier of a Serialized Item. (optional if item_id is specified)

item_type_id

Item type identifier. (required)

item_status

Item status. (required)

ext_hold_active

If TRUE, Serialized item held due to external hold. (optional)

group_id

Identifier of the Tracking Group placing the external hold on the item. (required if ext_hold_active = TRUE)

int_hold_active

If TRUE, item held due to internal hold. (optional)

int_hold_reason

Comment specifying reason for internal hold. (optional)

num_atts_valid

Number of item attributes valid; this specifies the number of array elements in the item attribute list that contain valid data. If item_att_list is a NULL pointer, the function sends a zero to the Data Collector for this argument, regardless of what was actually passed.

item_att_list

Item Attributes pertain to Serialized Items. (required)

Output

 

*retstat

Pointer to COR_STATUS structure

Return Value

Either COR_SUCCESS, COR_FAILURE, or COR_WARNING.

If the function returns COR_WARNING or COR_FAILURE, additional error information can be found in the COR_STATUS structure. If no more item information will fit in the datagram buffer, the function returns COR_WARNING with the COR_STATUS err_code set to PRTI_DG_BUF_FULL.

Error Codes

PRTI_API_CANT_RCV

PRT Application not initialized to receive asynch messages (Warning)

PRTI_NON_SER_ID

Non-serialized item has item id or reference id (Warning)

PRTI_SER_NO_ID

Serialized item missing both item id and reference id (Warning)

PRTI_ITEM_TYPE_NULL

Item type identifier NULL (Warning)

PRTI_ITEM_TYPE_NDEF

Item type identifier not valid (Warning)

PRTI_GRP_ID_NULL

Group identifier NULL (Warning)

PRTI_GRP_ID_NDEF

Group identifier not valid (Warning)

PRTI_EXT_HOLD_NO_GRP

External hold specified without Group ID (Warning)

PRTI_INT_HOLD_NO_REASON

Internal hold specified without reason (Warning)

PRTI_NUM_ATTS_INVALID

Invalid number of item attributes specified (Warning)

PRTI_DG_BUF_FULL

Datagram buffer full (Warning)

PRTI_CRESEG_ERR

Error creating segment (Failure)

More information

Application subroutines.