37 Modifying Applications to Work with AMM

This chapter provides information on modifying custom client applications and custom reports to work with the Oracle Communications Billing and Revenue Management (BRM) Account Migration Manager (AMM) software. It also provides the list of AMM return codes that are used for automating AMM.

This chapter is for system administrators, database administrators, and programmers. Modifying applications for AMM requires knowledge of the following:

  • BRM error handling

  • BRM database schema

  • BRM opcodes

  • BRM Reports

Modifying Custom Client Applications for AMM

Custom client applications that connect to a specific database schema and try to access an object based on a POID may receive a PIN_ERR_INVALID_OBJ error if the object was migrated to another database schema. You must modify any custom client applications to handle that error and then perform a global search to find the object's correct location.

To obtain the correct POID of a storable object, modify your application to call the PCM_OP_GLOBAL_SEARCH opcode from its exception handling routine.

This example shows a call to the PCM_OP_GLOBAL_SEARCH opcode when the PIN_ERR_INVALID_OBJ error is returned from the Oracle DM:

/* Error? */
  
if (PIN_ERR_IS_ERR(ebufp)) {
PIN_ERR_LOG_EBUF(PIN_ERR_LEVEL_ERROR,
"sample_read_obj_search error", ebufp);
}
/* Call the DM to do a global search.*/
  
PCM_OP(ctxp, PCM_OP_GLOBAL_SEARCH, 0, flistp, &r_flistp, ebufp);
  
return;
  

The following opcodes return the PIN_ERR_INVALID_OBJ error when a POID specified in an input flist is invalid:

  • PCM_OP_READ_OBJ

  • PCM_OP_READ_FLDS

  • PCM_OP_WRITE_FLDS

  • PCM_OP_INC_FLDS

  • PCM_OP_DELETE_OBJ

  • PCM_OP_DELETE_FLDS

  • PCM_OP_TRANS_OPEN

Modifying Custom BRM Reports for AMM

After account migration, any custom BRM reports created before Infranet Release 6.2 ServicePak1 might retrieve and process duplicate data from your source and destination database schemas. For example, if an account object is migrated from database schema 0.0.0.1 to database schema 0.0.0.2, your report might retrieve the account object from both database schemas.

To prevent this, use the Oracle Business Intelligence Publisher to add the following line to the WHERE clause of each custom report's query:

TABLE_T.POID_DB  >  0
  

where TABLE_T satisfies these conditions:

  • It is a database table used by the report.

  • It is one of the tables moved from the source database schema to the destination database schema when account data is migrated.

  • It is associated with every record the report must retrieve.

    Note:

    If a single table does not satisfy the last condition, add the same line for several tables that together satisfy the last condition.

AMM Return Codes and Messages

AMM uses the return codes and messages shown in Table 37-1. To automate account migration, you can modify your external application to check for the following return codes and respond appropriately.

Table 37-1 AMM Return Codes and Messages

Return Code Number Return Code Return Message

100

CONTROLLER_STARTED_SUCC

controller is started

101

CONTROLLER_STOPPED_SUCC

controller is stopped

102

CONTROLLER_PAUSED_SUCC

paused controller

103

CONTROLLER_CONTINUED_SUCC

continued controller

104

CONTROLLER_UP_SUCC

controller status is up

105

CONTROLLER_DOWN_SUCC

controller status is down

106

SUBMIT_JOB_SUCC

submitted job

107

DELETE_JOB_SUCC

deleted job

108

PURGE_DATABASE_SUCC

purged database

109

ENABLE_JOB_SUCC

enabled job

110

REPORT_SUCC

generated report

111

ENABLE_BATCH_SUCC

enabled batch

200

CONTROLLER_RUNNING_ERROR

ERROR: controller is already running

201

CONTROLLER_PAUSED_ERROR

ERROR: controller is already paused

202

CONTROLLER_SPEC_ACCESS_ERROR

ERROR: controller specification does not exist

203

CONTROLLER_COMM_ERROR

ERROR: controller cannot be reached

204

SEARCH_SPEC_IO_ERROR

ERROR: account search specification could not be accessed

205

OPERATION_ROLLBACK_ERROR

ERROR: operation rollback

206

SEARCH_SPEC_PARSE_ERROR

ERROR: account search specification cannot be parsed

207

OPERATION_PERM_ERROR

ERROR: operation not permitted for current user OR job_id/batch_id does not exist

208

CONTROLLER_UNKNOWN_HOST_ERROR

ERROR: controller host not found

209

CONTROLLER_PROCESS_ERROR

ERROR: controller process could not be created

210

REPORT_PROCESS_ERROR

ERROR: external process interruption

211

REPORT_SCRIPT_ACCESS_ERROR

ERROR: reporting tool not found or report type does not exist

212

OPT_PARAM_REQ_ERROR

ERROR: one optional parameter is required

213

CONFIG_FILE_ACCESS_ERROR

ERROR: configuration file cannot be accessed

214

INIT_ERROR

ERROR: could not create new object

215

EMPTY_RESULTSET_ERROR

ERROR: account search resulted in 0 accounts, job submission failed

216

CONVERSION_CLASS_LOAD_ERROR

ERROR: dynamic loading of custom Conversion class failed