FAQ
Home
Products
Support
FAQ
Contact
                            
  APX Return Codes
                         

Common APX Return Codes

Return Code
Description
blank
Successful call. A rendezvous with a complementary call was completed. The sender's data has been placed in the receiver's buffer. Both sender and receiver are posted with success.
AG1
Parameter input error. Generally means that a specified process id was invalid. It might also mean that one of the parms specified had an address below X'2000'.

Recommended Action: This is generally an application programming error. Verify that all four parameters address valid storage locations and that the process ids used are in the broker directory.

AG2
Length Error on Send. Indicates an attempt to send more data than the length specified as the send buffer length.

Recommended Action: Check the buffer length and message length parameters.

AA3
Temporary CQE shortage. Similar to ACC, but less likely. If CQE allocation passes the test of the CQE availability by inspection of a counter (ACC test), but fails the actual dequeing of the next available CQE, then AA3 is returned. This can occur under very high volumes.

Recommended Action: Retry the call. To avoid excessive CPU usage during a retry loop, a short delay before each retry is recommended. If problem persists, ensure that the largest TH value in the broker directory is large enough for your throughput requirements.

BGB
Partial transmission. This return code appears after a RECV when the receive buffer is too small for the arriving data. The sender remains unposted until timeout or eventual success (see recommendation below).

Recommended Action: Issue further Receive calls until a blank return code is received. Each subsequent Receive call will return the next segment of the sent message. When the final segment is received, the sender will be posted with a blank.

ACC
Temporary CQE shortage. Each address space is initialized with a fixed sized pool of Conversation Queue Elements which are used to represent Send and Recv requests. If the pool is temporarily exhausted, a "C" return code is returned to the caller.

Recommended Action: Retry the call. To avoid excessive CPU usage during a retry loop, a short delay before each retry is recommended. If problem persists, ensure that the largest TH value in the broker directory is large enough for your throughput requirements.

BGD
Timeout. A Send or Receive call timed out. This means that the expected complementary call was not issued or was issued with immediate error status. In order for complementary calls to rendezvous, the chronologically second of the two calls must be issued within the timeout period of the first.

Recommended Action: Retry the call. While retry of the call is often appropriate, application logic might dictate otherwise. For example, the first Receive in a spawned transaction should always succeed (and not time out). If a spawned Receive does time out, it usually means that the wrong pid is being used.

EB4
Broker not available. Specified broker has not been up during the current IPL.

Recommended Action: Make sure an //APXCHGID DD statement is in the JCL. If it is, make sure that the xchange id is valid.

EC4
Broker currently down. The broker was up previously during this IPL.

Recommended Action: Make sure the broker you need is running. Check your xchange-id value pointed to by the //APXCHGID DD statement. You can also check whether the required broker is running by using the monitor. See the SSID command in the Monitor User's Guide.

IFS
Security Error. Returned when APXPCHEX fails to queue the call because of security validation failure.

Recommended Action: Ensure that the 'NONE' security tag is being used. Alternatively, ensure that the process ids in the call are defined in the External Security Manager database (eg. RACF, TOP/Secret or ACF/2).

AC7
No ASCQE available. Returned on first call in an address space if all ASCQEs are currently in use. This can occur if a large number of address spaces are all using the same process id, and there are a very small number of discrete process ids in the broker directory.

Recommended Action: Add several dummy PIDs to the broker directory. The additional PIDs do not need to be used. They must simply be unique. Their presence will change the result of the calculation of the number of ASCQEs to create when the broker is started.


Copyright © Cardinal Software