40 Reference Guide to BRM Error Codes

Learn how to use the Oracle Communications Billing and Revenue Management (BRM) error locations, classes, and codes to help troubleshoot problems in your system.

Topics in this document:

For information about troubleshooting BRM, including examples of error messages that use these error codes, see "Resolving Problems in Your BRM System".

Interpreting BRM Error Codes

When a BRM process has a problem, its log file displays an error message that often includes:

  • Error location; for example:

    location=<PIN_ERRLOC_FM:5>
  • Error class; for example:

    class=<PIN_ERRCLASS_APPLICATION:4>
  • Error code; for example:

    errno=<PIN_ERR_BAD_VALUE:46>

The tables below list the error locations, classes, and codes and give the meaning of each. Use this information to help find what caused the problem and what you can do to solve it.

BRM Error Locations

Table 40-1 lists the BRM error locations.

Table 40-1 BRM Error Locations

Error Location No. Source of the Error

PIN_ERRLOC_PCM

1

General problem connecting to BRM. Common causes include illegal parameters.

PIN_ERRLOC_PCP

2

Internal error. The Portal Communications Protocol (PCP) library provides communication support between the modules of BRM. Common causes include network connection failures. This value indicates a system problem that requires immediate attention.

PIN_ERRLOC_CM

3

Connection Manager. Common causes include an unknown opcode or an input flist missing the required Portal object ID (POID) field.

PIN_ERRLOC_DM

4

Data Manager. Common causes include an input flist that does not meet the required specification or a problem communicating with the underlying data storage system.

PIN_ERRLOC_FM

5

Facilities Module. Common causes include an input flist that does not conform to the required specification.

PIN_ERRLOC_FLIST

6

An flist manipulation routine local to the application. Common causes include an illegal parameter and low system memory.

PIN_ERRLOC_POID

7

POID manipulation routine local to the application. Common causes include an illegal parameter and low system memory.

PIN_ERRLOC_APP

8

An error occurred within an application.

PIN_ERRLOC_QM

9

An error occurred within the Queue Manager (qmflist).

PIN_ERRLOC_PCMCPP

10

An error occurred within the PCM C++ wrapper.

PIN_ERRLOC_LDAP

11

An error occurred within the LDAP library.

PIN_ERRLOC_UTILS

14

An error occurred within a BRM utility.

PIN_ERRLOC_JS

15

An error occurred within the Java Server Framework.

PIN_ERRLOC_JSAPP

16

An error occurred within the Java Server Application or opcode handler.

PIN_ERRLOC_PDO

17

An error occurred within the BRM data objects.

BRM Error Classes

Table 40-2 lists the BRM error classes.

Table 40-2 BRM Error Classes

Error Class No. Meaning

PIN_ERRCLASS_SYSTEM_DETERMINATE

1

The error was caused by a system failure during the operation. Retrying the operation is unlikely to succeed, and the system failure should be investigated immediately. The error was detected before any data was committed to the database; no data has changed. After the error is fixed, retry the operation.

PIN_ERRCLASS_SYSTEM_INDETERMINATE

2

The error was caused by a system failure during the “commit" phase of an operation. The error might not be repeatable, and the system might not save specific information about the error. There is a small window during the commit where a network failure can leave the system unsure of whether the commit occurred. This means it is up to the application to determine whether system data has been changed. This class of error is extremely rare, but you must deal with it carefully to avoid corrupting the data in the database. The transactional model of BRM guarantees that either all the changes within the indeterminate transaction are committed, or none of them are committed and the system data is left unchanged. If you find that no changes were made, resolve the system failure and retry the operation.

PIN_ERRCLASS_SYSTEM_RETRYABLE

3

The error was probably caused by a transient condition. Try the operation again. Common causes include a temporary shortage of system resources (perhaps caused by too many connections to the CM) or a failure of a network connection that you can route around. The error was detected before any data was committed to the database; no data has changed.

PIN_ERRCLASS_APPLICATION

4

The error was caused by a custom application passing invalid data to BRM or by a system failure within the client application. The error was detected before the requested operation was performed, so no data in the database has been changed. After you fix the error, retry the operation.

BRM Error Codes

Table 40-3 lists the BRM error codes.

Table 40-3 BRM Error Codes

Error Code No. Description

PIN_ERR_NONE

0

No error.

This error code indicates a general condition, not a specific error. Some BRM routines use this error code to indicate that the routine was successful.

PIN_ERR_NO_MEM

1

There was insufficient memory to complete the attempted operation.

Check system memory. Also check the shmsize and bigsize values in the Data Manager configuration file (pin.conf). If you see this error code with a custom application, check for memory leaks.

Solaris: Check that the shared memory for the system is at least as great as the shared memory set for BRM.

PIN_ERR_NO_MATCH

2

BRM couldn't find the value it was looking for.

From the Data Manager, this error indicates a bad search template from the qm_flist.

From the SDK FM, this error means that the FM cannot find the object it was told to modify.

PIN_ERR_NOT_FOUND

3

BRM couldn't find a value.

This error code doesn't always indicate an error. For example, some opcodes look for a value in the configuration file, but if the value is not there, a default value can be used.

PIN_ERR_BAD_ARG

4

A required field in an flist is incorrect.

This is always a serious error because the system will not work until the argument is fixed. The problem is usually a programming or data entry error.

PIN_ERR_BAD_XDR

5

The application unexpectedly lost the connection to the BRM database.

Usually, this error means that the connection to the network was lost. If the network is working correctly, the BRM server might have stopped working. Look for errors in the CM log file. Also check for CM or DM core files.

PIN_ERR_BAD_FIRST_READ

6

No longer used.

PIN_ERR_BAD_READ

7

BRM couldn't read from the network or some other IO device, probably because the connection was cut off unexpectedly.

PIN_ERR_NO_SOCKET

8

BRM couldn't create a socket.

The machine or process might be overloaded and have reached a limit on socket/file descriptors. The networking part of the operating system might have failed.

Try restarting the machine. If that doesn't work, report the problem to the OS vendor.

PIN_ERR_BAD_TYPE

9

BRM encountered an erroneous field or object type.

This error usually results from programming errors in custom applications and FMs, but the error might also result from a mismatch between a field and its corresponding field type.

If seen when pcpxdr_fld_list is called, it means a down-level version of the libraries saw incompatible wire protocols or a new field type.

PIN_ERR_DUPLICATE

10

BRM could not create an object because the requested ID is already used by another object.

PIN_COMPARE_EQUAL

11

This code doesn't indicate an error. The billing FM uses this code for internal operations.

PIN_COMPARE_NOT_EQUAL

12

This code doesn't indicate an error. The billing FM uses this code for internal operations.

PIN_ERR_MISSING_ARG

13

A required argument is missing.

If the log file doesn't indicate the field, see the specification for the opcode.

PIN_ERR_BAD_POID_TYPE

14

BRM encountered an erroneous object type.

This is similar to error 9, but is more specific to object type. For example, BRM was expecting an account object but encountered an event object.

PIN_ERR_BAD_CRYPT

15

Packet header failed encryption/decryption. Possible corruption of data.

PIN_ERR_BAD_WRITE

16

Error while attempting to send data on the IP socket.

PIN_ERR_DUP_SUBSTRUCT

17

Information not available.

PIN_ERR_BAD_SEARCH_ARG

18

A required field in a search template or flist is incorrect.

This is always a serious error because the system will not work until the argument is fixed. The problem is usually a programming or data entry error.

PIN_ERR_BAD_SEARCH_ARG_RECID

19

Invalid automatic number identification (ANI) in the search operation.

PIN_ERR_DUP_SEARCH_ARG

20

There are duplicate entries in the search argument list.

PIN_ERR_NONEXISTANT_POID

21

BRM cannot find the object in the database.

PIN_ERR_POID_DB_IS_ZERO

22

The database number is specified as zero.

Make sure the routine is passing a valid database number that matches the number in the configuration file.

PIN_ERR_UNKNOWN_POID

23

The POID does not contain valid information, or the format is incorrect.

PIN_ERR_NO_SOCKETS

24

BRM couldn't create a socket.

The machine or process might be overloaded and have reached a limit on socket/file descriptors. The networking part of the operating system might have failed.

Try restarting the machine. If that doesn't work, report the problem to the OS vendor.

PIN_ERR_DM_ADDRESS_LOOKUP

_FAILED

25

The Connection Manager couldn't find the Data Manager.

The Bind (or DNS) service is pointing to the wrong TCP/IP address, or the network is having problems.

Try pinging the DM to verify the network connection. Check the DM pointer specified in the configuration file for the CM.

PIN_ERR_DM_CONNECT_FAILED

26

BRM couldn't connect to the Data Manager.

The configuration file for the CM might be pointing to the wrong DM, or the DM might not be running.

PIN_ERR_NAP_CONNECT_FAILED

27

An application couldn't connect to the Connection Manager.

The configuration file for the application might be pointing to the wrong CM. The CM might not be running, or there might not be any more available connections. Also check for network errors between the application and the CM. For example, no more TCP sockets might be available on the client or CM machine.

PIN_ERR_INVALID_RECORD_ID

28

The ID of the specified element in the array is not valid.

The specified ID might be greater than the maximum record ID.

PIN_ERR_STALE_CONF

29

BRM found outdated values in pin.conf entries.

PIN_ERR_INVALID_CONF

30

Configuration data is missing or in an invalid format in the pin.conf files.

PIN_ERR_WRONG_DATABASE

31

The database number in the POID is not valid.

PIN_ERR_DUP_ARG

32

The flist has duplicate fields or elements.

PIN_ERR_BAD_SET

33

BRM couldn't assign an object ID.

PIN_ERR_BAD_CREATE

34

A routine couldn't create an object.

PIN_ERR_BAD_FIELD_NAME

35

Mapping error from field home to type.

PIN_ERR_BAD_OPCODE

36

Undefined opcode used.

PIN_ERR_TRANS_ALREADY_OPEN

37

An application attempted to open a transaction when one was already open on the same object.

This error usually results from a programming error in a custom application or FM. The error sometimes appears in a series of cascading errors; look for a predecessor error.

PIN_ERR_TRANS_NOT_OPEN

38

An application attempted to commit or cancel a transaction, but none had been opened.

This error usually results from a programming error in a custom application or FM. The error sometimes shows up in a series of cascading errors; look for a predecessor error.

PIN_ERR_NULL_PTR

39

A routine couldn't get a value because it was set to “null".

This error usually results from a programming error in a custom application or FM.

PIN_ERR_BAD_FREE

40

A routine tried, but failed, to free memory that was no longer needed.

This error usually results from a programming error in a custom application or FM. This problem might cause memory leaks.

PIN_ERR_FILE_IO

41

Error while attempting to do an IO operation on a file.

PIN_ERR_NONEXISTANT_ELEMENT

42

The array in the specified object doesn't have the specified element.

PIN_ERR_STORAGE

43

The database returned an error.

Check the Data Manager log file for database-specific error messages. Also check the database server error logs.

PIN_ERR_TRANS_TOO_MANY_POIDS

44

BRM attempted transactions to too many Data Managers.

PIN_ERR_TRANS_LOST

45

The transaction was lost. The Data Manager failed during a transaction.

PIN_ERR_BAD_VALUE

46

BRM couldn't interpret data from the database.

The data isn't valid in the current context, and BRM cannot resolve the conflict.

PIN_ERR_PARTIAL

47

When sending a batch of transactions to the credit card Data Managers, some of the credit cards were processed, but others were not.

PIN_ERR_NOT_YET_DONE

48

BRM has not yet completed an operation (such as an opcode or transaction).

This is typically an internal debugging error code that isn't displayed.

PIN_ERR_STREAM_IO

49

The application encountered an error while sending data to or from the BRM database.

Usually, this error means that the connection to the network was lost. If the network is working correctly, the server might have stopped working. Look for errors in the CM log file. Also check for CM or DM core files.

PIN_ERR_STREAM_EOF

50

The application unexpectedly lost the connection to the BRM database.

Usually, this error means that the connection to the network was lost. If the network is working correctly, the server might have stopped working. Look for errors in the CM log file. Also check for CM or DM core files.

PIN_ERR_OP_NOT_OUTSTANDING

51

No operation is in progress under this context.

PIN_ERR_OP_ALREADY_BUSY

52

There is an operation already in progress within this context.

PIN_ERR_OP_ALREADY_DONE

53

Certain operations can be done only once. This error indicates that an operation of this type is being attempted a second time.

PIN_ERR_NO_DATA_FIELDS

54

The Data Manager received an flist with no data fields.

Check the input flist.

PIN_ERR_PROHIBITED_ARG

55

BRM couldn't create an object because one or more values were invalid or fields do not allow updating.

PIN_ERR_BAD_LOGIN_RESULT

56

The application couldn't connect to the CM.

Check the login name and password.

PIN_ERR_CM_ADDRESS_LOOKUP

_FAILED

57

The application couldn't find the computer running the CM. The Bind (or DNS) service is pointing to the wrong TCP/IP address, or the network is having problems.

Try pinging the CM to verify the network connection. Check the CM host name specified in the configuration file for the application.

PIN_ERR_BAD_LOGIN_REDIRECT_INFO

58

The re direction information received from the CMMP is incorrect.

PIN_ERR_TOO_MANY_LOGIN

_REDIRECTS

59

Too many connect login redirects from the CMMP.

This error might have resulted from a loop in the configuration. Check the configuration files for the application, CM, and DM.

PIN_ERR_STEP_SEARCH

60

The step search operation didn't find an expected STEP_NEXT/STEP_END.

PIN_ERR_STORAGE_DISCONNECT

61

BRM lost the connection with the database during the middle of a transaction and couldn't re-establish the connection.

See "Configuring Oracle Databases" in BRM Installation Guide.

PIN_ERR_NOT_GROUP_ROOT

62

Not the root of a group.

PIN_ERR_BAD_LOCKING

63

Error while attempting to lock/unlock a heap storage.

PIN_ERR_AUTHORIZATION_FAIL

64

No information available.

PIN_ERR_NOT_WRITABLE

65

Tried to write a field that cannot be modified.

PIN_ERR_UNKNOWN_EXCEPTION

66

Unknown C++ exception.

PIN_ERR_START_FAILED

67

BRM couldn't start the process.

PIN_ERR_STOP_FAILED

68

BRM couldn't stop the process.

PIN_ERR_INVALID_QUEUE

69

No information available.

PIN_ERR_TOO_BIG

70

No information available.

PIN_ERR_BAD_LOCALE

71

BRM doesn't understand the locale. Check the locale of the computer running the client application.

PIN_ERR_CONV_MULTIBYTE

72

A client application had a problem converting data from UTF8 format, as it is stored in the BRM database, to multibyte format. Either the client has the wrong locale or the data is corrupted.

PIN_ERR_CONV_UNICODE

73

A client application had a problem converting data from UTF8 format, as it is stored in the BRM database, into Unicode format. Either the client has the wrong locale or the data are corrupted.

PIN_ERR_BAD_MBCS

74

The input flist includes a string that is not in valid multibyte format.

PIN_ERR_BAD_UTF8

75

The input flist includes a string that is not in valid Unicode format.

PIN_ERR_CANON_CONV

76

No information available.

PIN_ERR_UNSUPPORTED_LOCALE

77

BRM doesn't support canonicalization for the locale of the client application.

PIN_ERR_CURRENCY_MISMATCH

78

A nonpaying bill unit (/billinfo object) or account has a different account currency than the parent account.

PIN_ERR_DEADLOCK

79

Two or more database sessions attempted to access the same database resource. Each session waits for another session to release locks on the resource. The database detects the deadlock and cancels one of the session's operations. If you receive this error, retry the transaction or operation.

PIN_ERR_BACKDATE_NOT_ALLOWED

80

BRM cannot backdate the adjustment, write-off, or other transaction because the G/L report has already been posted.

PIN_ERR_CREDIT_LIMIT_EXCEEDED

81

No information available.

PIN_ERR_IS_NULL

82

The value is Null (not set).

PIN_ERR_DETAILED_ERR

83

A detailed error message uses an enhanced buffer (errbuf).

PIN_ERR_PERMISSION_DENIED

84

The attempted operation is not allowed; data is not viewable.

PIN_ERR_PDO_INTERNAL

85

An internal error occurred in the BRM data objects.

PIN_ERR_IPT_DNIS

86

The Dialed Number Identification Service (DNIS) is not authorized.

PIN_ERR_DB_MISMATCH

87

The database numbers do not match.

PIN_ERR_NO_CREDIT_BALANCE

88

No credit balance is available.

PIN_ERR_NOTHING_TO_BILL

89

There are no new items to bill.

PIN_ERR_MASTER_DOWN

90

The main BRM system is down.

PIN_ERR_OPCODE_HNDLR_INIT_FAI

91

The opcode handler initialization at JS failed.

PIN_ERR_STMT_CACHE

92

There is a problem with the statement cache.

PIN_ERR_CACHE_SIZE_ZERO

93

Tried to init cm_cache with zero size.

PIN_ERR_INVALID_OBJECT

94

The POID is invalid.

This error occurs when an object is accessed whose database_number field of the POID is NULL.

PIN_ERR_VALIDATE_ADJUSTMENT

95

The validate adjustment policy opcode fails.

PIN_ERR_SYSTEM_ERROR

96

A generic system error during running application.

PIN_ERR_BILLING_ERROR

97

An error occurred during the billing run.

PIN_ERR_AUDIT_COMMIT_FAILED

98

Commit for the audit tables failed.

PIN_ERR_NOT_SUPPORTED

99

The operation is not supported.

PIN_ERR_INVALID_SER_FORMAT

100

The serialized format received from the database is incorrect.

PIN_ERR_READ_ONLY_TXN

101

Cannot insert or update in a read-only transaction.

PIN_ERR_VALIDATION_FAILED

102

Bundle or package validation failed.

PIN_ERR_PROC_BIND

103

The binding for the Procedure arguments failed.

PIN_ERR_PROC_EXEC

104

The procedure returned an Application Specific error.

PIN_ERR_STORAGE_FAILOVER

105

A RAC failover message.

PIN_ERR_RETRYABLE

106

A failover error occurred and is retryable if needed.

PIN_ERR_NOT_PRIMARY

107

Not the primary instance.

PIN_ERR_TIMEOUT

108

Request timeout.

PIN_ERR_CONNECTION_LOST

109

The connection has been lost.

PIN_ERR_BAD_ENC_SCHEME

116

The MD5 encryption scheme is configured; however, the AES encryption library is being used.

PIN_ERR_MAX_BILL_WHEN

117

The value in the bill_when field exceeds the maximum number of months allowed in billing cycles.

PIN_ERR_PERF_LIMIT_REACHED

118

The performance limit has been reached.

PIN_ERR_ACTIVE_NOT_READY

119

The TIMOS passive instance is switching over to active, but it is not active yet.

PIN_ERR_POID_ALREADY_LOCKED

120

The POID is already locked.

PIN_ERR_SERVICE_LOCKED

121

This error code is used by SOX.

PIN_ERR_XAER_RMFAIL

122

The extended architecture (XA) transaction resource manager (JCA Resource Adapter) is unavailable.

PIN_ERR_XAER_RMERR

123

An XA transaction resource manager (JCA Resource Adapter) error occurred in the transaction branch.

PIN_ERR_XAER_PROTO

124

An XA transaction protocol error has occurred; a routine was started in an improper context.

PIN_ERR_XAER_OUTSIDE

125

The resource manager (JCA Resource Adapter) is doing work outside the XA transaction.

PIN_ERR_XAER_NOTA

126

The global transaction ID (XID) for the XA transaction is invalid.

PIN_ERR_XAER_INVAL

127

An invalid argument was passed during the XA transaction.

PIN_ERR_XAER_DUPID

128

The global transaction ID (XID) for the XA transaction already exists.

PIN_ERR_XAER_ASYNC

129

An asynchronous operation is outstanding.

PIN_ERR_XA_RDONLY

130

The XA transaction branch was read-only and has been committed.

PIN_ERR_XA_RETRY

131

The routine returned without having any effect. It can be reissued.

PIN_ERR_XA_HEURHAZ

132

The XA transaction branch might have been manually committed to the BRM database. Some parts of the transaction are known to have been manually committed or rolled back, but the outcome of the entire transaction is unknown.

PIN_ERR_XA_HEURCOM

133

The XA transaction branch has been manually committed to the BRM database.

BRM returns this error code to JCA Resource Adapter during the recovery process of a failed two-phase commit transaction.

PIN_ERR_XA_HEURRB

134

The XA transaction branch has been manually rolled back.

BRM returns this error code to JCA Resource Adapter during the recovery process of a failed two-phase commit transaction.

PIN_ERR_XA_HEURMIX

135

Part of the XA transaction branch has been manually committed to the BRM database, and part has been manually rolled back.

BRM returns this error code to JCA Resource Adapter during the recovery process of a failed two-phase commit transaction.

PIN_ERR_XA_RBCOMMFAIL

136

The XA transaction was rolled back because of a communications failure.

PIN_ERR_XA_RBDEADLOCK

137

The XA transaction was rolled back because a deadlock was detected.

PIN_ERR_XA_RBINTEGRITY

138

The XA transaction was rolled back because a condition that violates the integrity of the resource was detected.

PIN_ERR_XA_RBOTHER

139

The XA transaction was rolled back for a reason not specified by an error code in this table.

PIN_ERR_XA_RBPROTO

140

The XA transaction was rolled back because of a protocol error in the resource manager.

PIN_ERR_XA_RBROLLBACK

141

The XA transaction was rolled back for an unspecified reason.

PIN_ERR_XA_RBTIMEOUT

142

The XA transaction was rolled back because it timed out.

PIN_ERR_XA_RBTRANSIENT

143

The XA transaction was rolled back because of a brief malfunction. The transaction branch can be retried.