This chapter provides reference information for Oracle Communications Billing and Revenue Management (BRM) opcodes.
For information about using opcodes, see the following discussions in BRM Developer's Guide:
About customizing BRM
Writing a custom Facilities Module (FM)
Understanding the Portal Communications Module (PCM) application programming interface (API) and the Portal Information Network (PIN) library
Understanding API error handling and logging
For more information about opcode input and output flist specifications, see BRM Opcode Flist Reference.
Caution:
Always use the BRM API to manipulate data. Changing data in the database without using the API can corrupt the data.
Do not use SQL commands to change data in the database. Always use the API.
The opcodes in Table 1-1 synchronize customer and service data with pipeline rating data.
Include the ops/ifw_sync.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-1 Account Synchronization FM Opcodes
Opcode | Description | Use |
---|---|---|
Passes events associated with this opcode in your system's event notification list to the policy opcode. See the discussion on processing BRM events that make up account synchronization business events in BRM Installation Guide. |
Limited |
|
Policy for modifying the events passed to the standard opcode. See the discussion on modifying BRM events that make up account synchronization business events in BRM Installation Guide. |
Recommended |
Passes events associated with this opcode in your system's event notification list to the PCM_OP_IFW_SYNC_POL_PUBLISH_EVENT policy opcode for processing.
By default, PCM_OP_IFW_SYNC_PUBLISH_EVENT passes events without modifying them.
See the following discussions in BRM Installation Guide:
Configuring event notification for account synchronization
Processing BRM events that make up account synchronization business events
Modifies events included in account synchronization business events.
Events that trigger event notification for account synchronization make up the business events that the Account Synchronization Data Manager (DM) sends to Pipeline Manager. This opcode modifies specified triggering events before they are published to Pipeline Manager.
This opcode can also be used to filter out certain events that are not included in account synchronization (for example, an event that has only balance impacts for currency resources), thereby reducing the traffic in the listener queue.
If you pass an event that does not need any modification to this opcode, the opcode passes that event to the EAI framework for publishing.
See the discussion on modifying BRM events that make up account synchronization business events in BRM Installation Guide.
The opcodes in Table 1-2 manage event creation, event recording, and event notification. Only the activity opcodes call the rating opcodes.
Include the ops/act.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-2 Activity FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Selects the bill to charge for events that occur between the end of a billing cycle and when billing applications are run. See the discussion on customizing how to bill events that occur between billing cycles. in BRM Configuring and Running Billing. |
Recommended |
|
Inactivates an account or account hierarchy, and sends a notification that a limit has been reached. See the discussion on inactivating accounts that exceed a specified limit in BRM Managing Customers. |
Recommended |
|
By default, processes events for LDAP integration and email notification when invoked by event notification. Can be used to implement custom event notification operations. See the discussion on using event notification in BRM Developer's Guide. |
Recommended |
|
Locks the service account after a specified number of invalid login attempts. See the discussion on changing the password in BRM System Administrator's Guide. |
Recommended |
|
Adds additional details for the events that need to be logged. See the discussion on logging customer service representative activities in BRM System Administrator's Guide. |
Recommended |
|
Enables you to customize the final output flist for PCM_OP_ACT_AUTHORIZE. See the discussion on how BRM authorizes users to access prepaid services in BRM Telco Integration. |
Recommended |
|
Enables you to customize the final output flist for PCM_OP_ACT_REAUTHORIZE. See the discussion on how BRM reauthorizes prepaid services in BRM Telco Integration. |
Recommended |
|
Enables you to customize the final input flist for PCM_OP_ACT_AUTHORIZE. See the discussion on how BRM authorizes users to access prepaid services in BRM Telco Integration. |
Recommended |
|
Enables you to customize the final input flist for PCM_OP_ACT_REAUTHORIZE. See the discussion on how BRM reauthorizes prepaid services in BRM Telco Integration. |
Recommended |
|
Processes the events for which News Feed is enabled and updates the database with the corresponding News Feed entries. See the discussion on News Feed in BRM Managing Customers. |
Recommended |
|
Scales multi-RUM quantities during prepaid authorization. See the discussion on scaling quantities for prepaid authorization requests in BRM Telco Integration. |
Recommended |
|
Sets the resource availability status, the scaled delay time, and the balance amount to be reserved during a quick authorization. See the discussion on overriding the traffic-light status, reservation amount, and scaled delay time in BRM Telco Integration. |
Recommended |
|
Produces rating information for an event. See the discussion on customizing how to calculate RUMs in BRM Setting Up Pricing and Rating. |
Recommended |
|
Defines what fields are to be cached. See the discussion on specifying event fields to cache for invoicing in BRM Configuring and Running Billing. |
Recommended |
|
Assigns a G/L ID to a partially rated or prerated event. See the discussion on assigning G/L IDs to pre-rated events in BRM Configuring and Running Billing. |
Recommended |
|
Defines a rate name for administrative events to be rated. See the discussion on assigning rate plans and impact categories to events in BRM Setting Up Pricing and Rating. |
Recommended |
|
Specifies authorization checks for an action. See the discussion on customizing authentication checks in BRM Managing Customers. |
Recommended |
|
Provides a way for adding a policy check before creating a /schedule object for a deferred action. See the discussion on performing policy checks before scheduling deferred actions in BRM Managing Customers. |
Recommended |
Selects the bill to charge for events that occur between the end of a billing cycle and when billing applications are run.
By default, this policy opcode selects the current month's bill, but you can customize this opcode to select the previous month's bill.
This opcode is called by the PCM_OP_ACT_USAGE standard opcode.
See the discussion on how to customize the billing events that occur between billing cycles in BRM Configuring and Running Billing.
Inactivates an account or account hierarchy, and sends a notification that a limit has been reached.
This opcode is not called by any opcode.
See the discussion on inactivating accounts that exceed a specified limit in BRM Managing Customers.
Used by event notification operations.
By default, processes events for LDAP integration and email notification when invoked by event notification.
This opcode is called by various event notification processes and by the PCM_OP_ACT_POL_EVENT_LIMIT policy opcode.
See the discussion on using event notification and triggering custom operations in BRM Developer's Guide.
Locks the service account after a specified number of invalid login attempts.
By default, this opcode locks the service account by calling PCM_OP_WRITE_FLDS. This is applicable only for /service/pcm_client and /service/admin_client.
See the discussion on changing the password in BRM System Administrator's Guide.
Adds additional details for the events that need to be logged. To customize the /user_activity storable class, you can find additional event information under PIN_FLD_INHERITED_INFO in the input flist.
This opcode is called by the PCM_OP_ACT_LOG_USER_ACTIVITY opcode.
See the discussion on logging customer service representative activities in BRM System Administrator's Guide.
Enables you to customize the final output flist for PCM_OP_ACT_AUTHORIZE.
By default, does the following:
Receives an input flist from PCM_OP_ACT_AUTHORIZE.
Drops the PIN_FLD_RESULTS field added to the flist by PCM_OP_ACT_USAGE.
Copies the input flist to its output flist.
Returns its output flist to PCM_OP_ACT_AUTHORIZE.
This opcode is called by the PCM_OP_ACT_AUTHORIZE standard opcode.
See the discussion on how BRM authorizes users to access prepaid services in BRM Telco Integration.
Enables you to customize the final output flist for PCM_OP_ACT_REAUTHORIZE.
By default, does the following:
Receives an input flist from PCM_OP_ACT_REAUTHORIZE.
Drops the PIN_FLD_RESULTS field added to the flist by PCM_OP_ACT_USAGE.
Copies the input flist to its output flist.
Returns its output flist to PCM_OP_ACT_REAUTHORIZE.
This opcode is called by the PCM_OP_ACT_REAUTHORIZE standard opcode.
See the discussion on how BRM reauthorizes prepaid services in BRM Telco Integration.
Allows customization of the prepaid authorization process.
This opcode is called by the PCM_OP_ACT_AUTHORIZE standard opcode.
See the discussion on how BRM authorizes users to access prepaid services in BRM Telco Integration.
Allows customization of the prepaid reauthorization process.
This opcode is called by the PCM_OP_ACT_REAUTHORIZE standard opcode.
See the discussion on how BRM authorizes users to access prepaid services in BRM Telco Integration.
Processes the events for which News Feed is enabled and updates the database with the corresponding News Feed entries.
This opcode is called by the PCM_OP_ACT_PROCESS_EVENTS standard opcode.
See the discussion on News Feed in BRM Managing Customers.
Scales multi-RUM quantities during prepaid authorization.
This opcode is called by the PCM_OP_TCF_AAA_AUTHORIZE and PCM_OP_TCF_AAA_REAUTHORIZE standard opcodes.
See the discussion on scaling quantities for prepaid authorization requests in BRM Telco Integration.
Sets the resource availability status, the scaled delay time, and the balance amount to be reserved during a quick authorization.
This opcode is called from the PCM_OP_ACT_CHECK_RESOURCE_THRESHOLD opcode.
See the discussions on overriding the traffic-light status, reservation amount, and scaled delay time in BRM Telco Integration.
Defines the customized policy to specify the ratable usage metric (RUM) candidate.
This opcode is called by the PCM_OP_ACT_GET_CANDIDATE_RUMS standard opcode.
See the discussion on customizing how to calculate RUMs in BRM Setting Up Pricing and Rating.
Defines which balance impact fields are cached for invoicing.
Important:
You can improve performance by limiting the amount of information cached. However, if you need the information, it is quicker to cache a field than have it read from the event table.This opcode is called by the PCM_OP_ACT_USAGE standard opcode.
See the discussion on specifying event fields to cache for invoicing in BRM Configuring and Running Billing.
Assigns a G/L ID to a prerated or partially rated event.
Based on the event type, this policy opcode retrieves a G/L ID from the /config/map_glid object.
All customization is done using pin_glid and CoA files.
This opcode is called by the PCM_OP_ACT_USAGE standard opcode.
See the discussion on assigning G/L IDs to pre-rated events in BRM Configuring and Running Billing.
Specifies the rate plan and impact category for custom event attributes.
The opcode that calls PCM_OP_ACT_POL_SPEC_RATES passes in the inherited information for an event.
This opcode is not called by any opcode.
See the discussion on assigning rate plans and impact categories to events in BRM Setting Up Pricing and Rating.
Specifies authentication checks. This policy opcode is called by other opcodes to specify a list of checks used to authenticate user actions. The specified checks are then performed by standard opcodes.
This opcode is called by the PCM_OP_ACT_FIND_VERIFY standard opcode.
See the discussion on customizing authentication checks in BRM Managing Customers.
Performs policy checks before creating /schedule objects. For example, you might write and include code to verify that an account balance is zero before scheduling it for closure.
By default, this opcode is an empty hook.
This opcode is called by the PCM_OP_ACT_SCHEDULE_CREATE standard opcode.
See the discussion on performing policy checks before scheduling deferred actions in BRM Managing Customers.
The opcodes in Table 1-3 manage event creation, event recording, and event notification. Only the activity opcodes call the rating opcodes.
Include the ops/act.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-3 Activity FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Logs an activity event and assesses any charges. See the discussion on rating and recording activity events in BRM Setting Up Pricing and Rating. |
Recommended |
|
Authorizes prepaid services. See the discussion on how BRM authorizes users to access prepaid services in BRM Telco Integration. |
Recommended |
|
Calculates maximum available usage. See the discussion on about calculating the maximum available usage in BRM Setting Up Pricing and Rating. |
Recommended |
|
Cancels prepaid service authorizations and deletes their session and resource reservation information. See the discussion on how BRM cancels prepaid service authorization in BRM Telco Integration. |
Recommended |
|
Reads prepaid service authorization and reauthorization threshold information from the /config/auth_reauth_info object. See the discussion on how BRM reduces authorization latencies and How BRM uses a scaled delay time to reduce network spikes during a tariff change in BRM Telco Integration. |
Recommended |
|
For prepaid sessions, closes active sessions, releases their resources, gathers their information to store in the BRM database, deletes them from IMDB Cache, and ensures that they are rated and that their account balances are updated. For postpaid sessions, logs the end of a session event and assesses any charges. See the discussion on rating and recording session events in BRM Setting Up Pricing and Rating. |
Recommended |
|
Finds a customer's account. See the discussion on finding a customer's account information in BRM Managing Customers. |
Recommended |
|
Authorizes a user to perform a specific action. See the discussion on authenticating customers by using your custom application in BRM Managing Customers and configuring the maximum number of invalid login attempts in BRM System Administrator's Guide. |
Recommended |
|
Produces rating information for an event. See the discussion on generating ratable usage metrics (RUMs) in BRM Setting Up Pricing and Rating. |
Recommended |
|
Creates a rerate job. See the discussion on how BRM rerates out-of-order events in BRM Configuring and Running Billing. |
Recommended |
|
Creates, rates, and records a session event. See the discussion on creating opcodes for loading event data in BRM Setting Up Pricing and Rating. |
Recommended |
|
Logs user activities in the /user_activity storable class. See the discussion about logging CSR activities in BRM System Administrator's Guide. |
Recommended |
|
Authorizes a user to start a session. See the discussion on starting sessions in BRM Setting Up Pricing and Rating. |
Recommended |
|
Records the end of a login session. See the discussion on recording the end of a session in BRM Setting Up Pricing and Rating. |
Recommended |
|
Authorizes or rates multiple prepaid services with a single call. See the discussion on authorizing multiple services for a user with a single call in BRM Telco Integration. |
Recommended |
|
Reauthorizes prepaid services. See the discussion on how BRM reauthorizes prepaid services in BRM Telco Integration. |
Recommended |
|
Creates a /schedule object. See the discussion on scheduling deferred actions in BRM Managing Customers. |
Recommended |
|
Deletes a /schedule object. See the discussion on deleting deferred actions in BRM Managing Customers. |
Recommended |
|
Executes deferred actions. See the discussion on executing deferred actions in BRM Managing Customers. |
Recommended |
|
Modifies a /schedule object. See the discussion on modifying deferred action descriptions in BRM Managing Customers. |
Recommended |
|
Creates prepaid and postpaid session events and records their start times. See the discussion on recording the start of a session in BRM Setting Up Pricing and Rating. |
Recommended |
|
Updates session event information during prepaid and postpaid sessions. See the following discussions:
|
Recommended |
|
Rates and records an event. See the discussion on how BRM rates and records usage events in BRM Setting Up Pricing and Rating. |
Recommended |
Records and rates activity events.
See the discussion on rating and recording activity events in BRM Setting Up Pricing and Rating.
Authorizes prepaid services.
If unsuccessful, this opcode returns a numerical code in the PIN_FLD_REASON field of the output flist. For a list of the reasons that correspond to these numeric codes, see the pin_reserve.h file.
If PIN_FLD_PIGGYBACK_FLAG is enabled in the input flist, this opcode returns the credit thresholds breached in the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of the output flist.
See the following discussions:
How BRM authorizes users to access prepaid services in BRM Telco Integration
Providing credit threshold breach information in in-session notifications for network connectivity applications in BRM Telco Integration
Calculates the maximum available usage based on one of the following:
The account's credit limit and current balance.
The amount reserved for the session.
See the discussion on about calculating the maximum available usage in BRM Setting Up Pricing and Rating.
Cancels prepaid service authorizations. Depending on the value in the input PIN_FLD_DELETED_FLAG field, calls the appropriate opcodes to delete associated session and resource information:
1 = Delete only the /reservation_active object.
2 = Delete only the /active_session object (or a subclass thereof).
3 = Delete both objects.
See the discussion on how BRM cancels prepaid service authorization in BRM Telco Integration.
Reads prepaid service authorization and reauthorization threshold information from the /config/auth_reauth_info object.
See the discussion son how BRM reduces authorization latencies and how BRM uses a scaled delay time to reduce network spikes during a tariff change in BRM Telco Integration.
Note:
This opcode is used for light-weight authorization. See the discussion on using light-weight authorization in BRM Telco Integration.For prepaid sessions, closes active sessions, releases their resources, gathers their information to store in the BRM database, deletes them from IMDB Cache, and ensures that they are rated and that their account balances are updated.
For postpaid sessions, logs the end of a session event and assesses any charges.
See the following discussions:
How BRM ends prepaid sessions in BRM Telco Integration
Rating and recording session events in BRM Setting Up Pricing and Rating
Locates a customer's account by using the login name.
See the discussion on finding a customer's account information in BRM Managing Customers.
Important:
In multischema environments, the calling opcode must not open a transaction before calling PCM_OP_ACT_FIND. Instead, the calling opcode must first call PCM_OP_ACT_FIND to find the schema in which the account resides and then open a transaction on the correct schema.Authenticates a user action.
This opcode also checks whether the account specified during login is locked and whether the password entered is valid. If the password entered is not valid, it does the following:
Increments PIN_FLD_LOGIN_ATTEMPTS.
Locks the account if PIN_FLD_LOGIN_ATTEMPTS equals the value specified in the MaxLoginAttempts entry in the bus_params_act.xml file.
Note:
These checks are applicable only to /service/pcm_client and /service/admin_client.See the discussions on authenticating customers by using your custom application in BRM Managing Customers and configuring the maximum number of invalid login attempts in BRM System Administrator's Guide.
Creates a candidate ratable usage metric (RUM) by combining data from the input flist and the /config/rum object.
See the discussion on generating ratable usage metrics (RUMs) in BRM Setting Up Pricing and Rating.
Calls PCM_OP_RERATE_INSERT_RERATE_REQUEST to create a rerate job.
This opcode is called by event notification when the /event/notification/activity/out_of_order event occurs.
See the discussion on how BRM rerates out-of-order events in BRM Configuring and Running Billing.
Creates, rates, and records a session event as a single operation. This opcode is valuable as a tool to load sessions in real time.
See the discussion on creating opcodes for loading event data in BRM Setting Up Pricing and Rating.
Logs user activities in the /user_activity storable class.
See the discussion about logging CSR activities in BRM System Administrator's Guide.
Authorizes users to start login sessions.
This opcode also stores the PIN_FLD_NAP_IP_ADDRESS in the /event/session object on successful login. This information is used for logging CSR activities.
See the discussions on starting sessions in BRM Setting Up Pricing and Rating and logging customer service representative activities in BRM System Administrator's Guide.
Records the end of a login session.
See the discussion on recording the end of a session in BRM Setting Up Pricing and Rating.
Authorizes or rates multiple prepaid services with a single call.
This opcode takes an array of services and a mode as input. Depending on the mode, it does the following:
Authorizes and rates each service by making a call to PCM_OP_ACT_AUTHORIZE for each service.
Performs calc-only rating by making a call to PCM_OP_ACT_USAGE for each service.
These actions are all performed in a single opcode call. All services passed in are authorized or rated individually in that call. In all instances, this opcode returns a results array containing the result of each individual transaction:
If the transaction was successful, the results array element contains a balance array with the balance impact for each resource affected and a quantity authorized for each service.
If the transaction failed, the results array element contains the reasons for that failure.
The actions of this opcode are controlled by the mode. These are the options:
Mode0: Performs authorization and resource reservation and then rates each service passed in. Use this mode if your BRM implementation maintains balances in the BRM database. This opcode makes a call to PCM_OP_ACT_AUTHORIZE for each of the services passed in. PCM_OP_ACT_AUTHORIZE then calls PCM_OP_ACT_USAGE to reserve the resources and impact both monetary and nonmonetary balances in the BRM database.
Mode1: Performs calc-only rating for requested balances for each service passed in. Using available balances in the BRM database, this opcode calculates whether the account has sufficient resources for the requested service and returns the result. Use this mode if you maintain balances in the BRM database but do not want to reserve those balances. This opcode calls PCM_OP_ACT_USAGE to perform the rating. This mode does not reserve resources.
Mode2: Performs calc-only rating for requested balances. This opcode calculates whether the account has sufficient resources for the requested service and returns the result. It uses different available balances for the monetary and nonmonetary resource calculations:
For nonmonetary resources, this opcode makes the calculation using the available balances in the BRM database.
For monetary resources, this opcode makes the calculation using the available balances passed in.
Important:
The monetary resources passed in using Mode2 take priority over those in the BRM database. If a monetary resource is passed in, and a corresponding resource exists in the BRM database, the resource passed in is used.Use this mode if you maintain monetary balances in a non-BRM database and nonmonetary balances in the BRM database. This opcode calls PCM_OP_ACT_USAGE to perform the rating. This mode does not reserve resources.
Example 1-1 Mode0 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_MODE ENUM [0] 0 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 4 1 PIN_FLD_LOGIN STR [0] "login" 1 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 1 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 2 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "0044191009855-11126216443" 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 2 3 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 3 PIN_FLD_DIRECTION ENUM [0] 0 1 PIN_FLD_EVENT SUBSTRUCT [0] allocated 20, used 10 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 70215 0 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 72071 0 2 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 2 PIN_FLD_ACTIVE_SESSION_ID STR [0] "0044191009855-11126216443" 2 PIN_FLD_USAGE_TYPE STR [0] "NAT" 2 PIN_FLD_START_T TSTAMP [0] (1116918240) Tue May 24 00:04:00 2005 2 PIN_FLD_END_T TSTAMP [0] (1116918840) Tue May 24 00:14:00 2005 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "0044191009855-1112621644" 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 4 3 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 3 PIN_FLD_DIRECTION ENUM [0] 0 3 PIN_FLD_BYTES_IN INT [0] 0 3 PIN_FLD_BYTES_OUT INT [0] 0 1 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active -1 0
Example 1-2 Mode0 Sample Output Flist (Successful)
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 10 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 72071 0 1 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm 212136 0 1 PIN_FLD_AUTHORIZATION_ID STR [0] "0044191009855-11126216443" 1 PIN_FLD_RESULT ENUM [0] 1 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 70215 0 1 PIN_FLD_QUANTITY DECIMAL [0] 600 1 PIN_FLD_RATING_STATUS ENUM [0] 0 1 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation 209576 0 1 PIN_FLD_EXPIRATION_T TSTAMP [0] (1117159330) Thu May 26 19:02:10 2005 1 PIN_FLD_BALANCES ARRAY [978] allocated 20, used 2? 2 PIN_FLD_AMOUNT DECIMAL [0] -100.000 2 PIN_FLD_AVAILABLE_RESOURCE_LIMIT DECIMAL [0] 800.000
Example 1-3 Mode0 Sample Output Flist (Unsuccessful)
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 2 1 PIN_FLD_RESULT ENUM [0] 0 1 PIN_FLD_REASON ENUM [0] 8
Example 1-4 Mode1 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_MODE ENUM [0] 1 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 4 1 PIN_FLD_LOGIN STR [0] "login" 1 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 2 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "0044191009855-1112621644" 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 2 3 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 3 PIN_FLD_DIRECTION ENUM [0] 0 1 PIN_FLD_EVENT SUBSTRUCT [0] allocated 20, used 10 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 70215 0 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 72071 0 2 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 2 PIN_FLD_ACTIVE_SESSION_ID STR [0] "0044191009855-1112621644" 2 PIN_FLD_USAGE_TYPE STR [0] "NAT" 2 PIN_FLD_START_T TSTAMP [0] (1116918240) Tue May 24 00:04:00 2005 2 PIN_FLD_END_T TSTAMP [0] (1116918840) Tue May 24 00:14:00 2005 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "0044191009855-1112621644" 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 4 3 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 3 PIN_FLD_DIRECTION ENUM [0] 0 3 PIN_FLD_BYTES_IN INT [0] 0 3 PIN_FLD_BYTES_OUT INT [0] 0
Example 1-5 Mode1 Sample Output Flist (Successful)
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 10 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 72071 0 1 PIN_FLD_RESULT ENUM [0] 1 1 PIN_FLD_RATING_STATUS ENUM [0] 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 70215 0 1 PIN_FLD_NET_QUANTITY DECIMAL [0] 600 1 PIN_FLD_UNRATED_QUANTITY DECIMAL [0] 0 1 PIN_FLD_RUM_NAME STR [0] "Duration" 1 PIN_FLD_UNIT ENUM [0] 1 1 PIN_FLD_BALANCES ARRAY [978] allocated 20, used 1 2 PIN_FLD_AMOUNT DECIMAL [0] -121.200
Example 1-6 Mode2 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_MODE ENUM [0] 2 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 5 1 PIN_FLD_LOGIN STR [0] "login" 1 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 1 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 2 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "0044191009855-1112621644" 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 2 3 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 3 PIN_FLD_DIRECTION ENUM [0] 0 1 PIN_FLD_EVENT SUBSTRUCT [0] allocated 20, used 10 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 70215 0 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 72071 0 2 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 2 PIN_FLD_ACTIVE_SESSION_ID STR [0] "0044191009855-1112621644" 2 PIN_FLD_USAGE_TYPE STR [0] "NAT" 2 PIN_FLD_START_T TSTAMP [0] (1116918240) Tue May 24 00:04:00 2005 2 PIN_FLD_END_T TSTAMP [0] (1116918840) Tue May 24 00:14:00 2005 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "0044191009855-1112621644" 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 4 3 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 3 PIN_FLD_DIRECTION ENUM [0] 0 3 PIN_FLD_BYTES_IN INT [0] 0 3 PIN_FLD_BYTES_OUT INT [0] 0 1 PIN_FLD_BALANCES ARRAY [978] allocated 20, used 6 2 PIN_FLD_RESERVED_AMOUNT DECIMAL [0] -400 2 PIN_FLD_NEXT_BAL DECIMAL [0] 0 2 PIN_FLD_CURRENT_BAL DECIMAL [0] 39.95 2 PIN_FLD_CREDIT_LIMIT DECIMAL [0] 0 2 PIN_FLD_CREDIT_FLOOR DECIMAL [0] NULL 2 PIN_FLD_CREDIT_THRESHOLDS INT [0] 0
Example 1-7 Mode2 Sample Output Flist (successful)
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 10 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 72071 0 1 PIN_FLD_RESULT ENUM [0] 1 1 PIN_FLD_RATING_STATUS ENUM [0] 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 70215 0 1 PIN_FLD_NET_QUANTITY DECIMAL [0] 600 1 PIN_FLD_UNRATED_QUANTITY DECIMAL [0] 0 1 PIN_FLD_RUM_NAME STR [0] "Duration" 1 PIN_FLD_UNIT ENUM [0] 1 1 PIN_FLD_BALANCES ARRAY [978] allocated 20, used 1 2 PIN_FLD_AMOUNT DECIMAL [0] -121.200
See the discussion on authorizing multiple services for a user with a single call in BRM Telco Integration.
This opcode always returns the PIN_FLD_RESULTS array on the output flist. If the opcode call was unsuccessful, this opcode also returns a numeric value in the PIN_FLD_REASON field to provide as much useful information as possible.
Because this opcode calls PCM_OP_ACT_AUTHORIZE, the numerical codes returned in PIN_FLD_REASON may come from either PCM_OP_ACT_AUTHORIZE or PCM_OP_ACT_MULTI_AUTHORIZE:
Error codes 1 through 100 come from PCM_OP_ACT_AUTHORIZE and are defined in the pin_reserve.h file.
Error codes 101 and higher come from PCM_OP_ACT_MULTI_AUTHORIZE and are defined in the pin_act.h file.
Reauthorizes prepaid services.
If PIN_FLD_PIGGYBACK_FLAG is enabled in the input flist, this opcode returns information on the credit thresholds breached in the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of the output flist.
See the following discussions:
How BRM reauthorizes prepaid services in BRM Telco Integration
Providing credit threshold breach information in in-session notifications for network connectivity applications in BRM Telco Integration
Creates a /schedule object, which defers a single action to a predetermined date and time.
See the discussion on scheduling deferred actions in BRM Managing Customers.
Deletes /schedule objects.
See the discussion on deleting deferred actions in BRM Managing Customers.
Executes any deferred actions in specified /schedule objects.
This opcode is called directly by the pin_deferred_act billing utility.
See the discussion on executing deferred actions in BRM Managing Customers.
Modifies the text description of an existing /schedule object.
See the discussion on modifying deferred action descriptions in BRM Managing Customers.
Records the start of a prepaid or postpaid session event.
See the following discussions:
(Prepaid) How BRM starts prepaid sessions in BRM Telco Integration
(Postpaid) Recording the start of a session in BRM Setting Up Pricing and Rating
During prepaid and postpaid sessions, updates session event information.
At the end of prepaid and postpaid sessions, records the session end time.
See the following discussions:
(Prepaid) How BRM updates prepaid sessions in BRM Telco Integration
(Prepaid) How BRM updates and reauthorizes prepaid sessions in BRM Telco Integration
(Postpaid) Updating a session event in BRM Setting Up Pricing and Rating
Rates and records an event.
If balance monitoring is enabled, this opcode retrieves a list of balance monitors.
If event notification is enabled, checks whether the event is in your system's event notification list. If it is, calls the associated opcodes.
If PCM_OP_ACT_USAGE is called with PIN_FLD_PIGGGYBACK_FLAG set to 1 (enabled), the opcode calculates the credit threshold breaches and returns any breach information in its output flist.
See the following discussions:
How BRM rates and records usage events in BRM Setting Up Pricing and Rating
Balance monitoring in BRM Managing Accounts Receivable
Using event notification in BRM Developer's Guide
How BRM creates credit threshold breach notifications in BRM Telco Integration
Use the opcodes in Table 1-4 to customize Account Dump Utility (ADU) validation and output file format.
Include the ops/cust.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
This policy opcode is a hook and is called by the PCM_OP_ADU_VALIDATE opcode.
By default, PCM_OP_ADU_VALIDATE dumps account information in XML format. The PCM_OP_ADU_POL_DUMP policy opcode allows you to convert the account information in the input flist into a format other than XML; for example, CSV.
Example 1-8 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 86394 0 0 PIN_FLD_ACCOUNT SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_OBJ_ELEM ARRAY [0] allocated 20, used 2 2 PIN_FLD_POID POID [0] 0.0.0.1 /account 86394 10 2 PIN_FLD_NAMEINFO ARRAY [1] allocated 20, used 19 3 PIN_FLD_ADDRESS STR [0] "accnt_1" 3 PIN_FLD_CANON_COMPANY STR [0] "" 3 PIN_FLD_CANON_COUNTRY STR [0] "IN" 3 PIN_FLD_CITY STR [0] "accnt_1" 3 PIN_FLD_COMPANY STR [0] "" 3 PIN_FLD_CONTACT_TYPE STR [0] "Account holder" 3 PIN_FLD_COUNTRY STR [0] "IN" 3 PIN_FLD_EMAIL_ADDR STR [0] "accnt_1" 3 PIN_FLD_FIRST_CANON STR [0] "accnt_1" 3 PIN_FLD_FIRST_NAME STR [0] "accnt_1" 3 PIN_FLD_LAST_CANON STR [0] "accnt_1" 3 PIN_FLD_LAST_NAME STR [0] "accnt_1" 3 PIN_FLD_MIDDLE_CANON STR [0] "accnt_1" 3 PIN_FLD_MIDDLE_NAME STR [0] "accnt_1" 3 PIN_FLD_SALUTATION STR [0] "" 3 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0 3 PIN_FLD_STATE STR [0] "accnt_1" 3 PIN_FLD_TITLE STR [0] "" 3 PIN_FLD_ZIP STR [0] "11111" 0 PIN_FLD_SERVICES ARRAY [0] allocated 0, used 0 0 PIN_FLD_DEVICES ARRAY [0] allocated 0, used 0 0 PIN_FLD_BILLINFO ARRAY [0] allocated 0, used 0 0 PIN_FLD_BILLS ARRAY [0] allocated 0, used 0 0 PIN_FLD_ITEMS ARRAY [0] allocated 0, used 0 0 PIN_FLD_EVENTS ARRAY [0] allocated 0, used 0 0 PIN_FLD_PAYINFO ARRAY [0] allocated 0, used 0 0 PIN_FLD_PROFILES ARRAY [0] allocated 0, used 0 0 PIN_FLD_GROUPS ARRAY [0] allocated 0, used 0 0 PIN_FLD_BALANCE_GROUPS ARRAY [0] allocated 0, used 0 0 PIN_FLD_CUSTOM_INFO SUBSTRUCT [0] allocated 0, used 0
This policy opcode is a hook and is called by the PCM_OP_ADU_VALIDATE opcode.
By default, PCM_OP_ADU_VALIDATE performs the predefined validations enabled in the ADU pin.conf file. The PCM_OP_ADU_POL_VALIDATE policy opcode allows you to define custom validations for validating the account information provided in the input flist.
Note:
Any custom validation you define must be associated with a validation code. For PCM_OP_ADU_VALIDATE to perform the custom validations, they must be configured and enabled in the ADU pin.conf. See the discussion on account data validation in BRM Managing Customers.Example 1-10 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 86394 0 0 PIN_FLD_ACCOUNT SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_OBJ_ELEM ARRAY [0] allocated 20, used 2 2 PIN_FLD_POID POID [0] 0.0.0.1 /account 86394 10 2 PIN_FLD_NAMEINFO ARRAY [1] allocated 20, used 19 3 PIN_FLD_ADDRESS STR [0] "accnt_1" 3 PIN_FLD_CANON_COMPANY STR [0] "" 3 PIN_FLD_CANON_COUNTRY STR [0] "IN" 3 PIN_FLD_CITY STR [0] "accnt_1" 3 PIN_FLD_COMPANY STR [0] "" 3 PIN_FLD_CONTACT_TYPE STR [0] "Account holder" 3 PIN_FLD_COUNTRY STR [0] "IN" 3 PIN_FLD_EMAIL_ADDR STR [0] "accnt_1" 3 PIN_FLD_FIRST_CANON STR [0] "accnt_1" 3 PIN_FLD_FIRST_NAME STR [0] "accnt_1" 3 PIN_FLD_LAST_CANON STR [0] "accnt_1" 3 PIN_FLD_LAST_NAME STR [0] "accnt_1" 3 PIN_FLD_MIDDLE_CANON STR [0] "accnt_1" 3 PIN_FLD_MIDDLE_NAME STR [0] "accnt_1" 3 PIN_FLD_SALUTATION STR [0] "" 3 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0 3 PIN_FLD_STATE STR [0] "accnt_1" 3 PIN_FLD_TITLE STR [0] "" 3 PIN_FLD_ZIP STR [0] "11111" 0 PIN_FLD_SERVICES ARRAY [0] allocated 0, used 0 0 PIN_FLD_DEVICES ARRAY [0] allocated 0, used 0 0 PIN_FLD_BILLINFO ARRAY [0] allocated 0, used 0 0 PIN_FLD_BILLS ARRAY [0] allocated 0, used 0 0 PIN_FLD_ITEMS ARRAY [0] allocated 0, used 0 0 PIN_FLD_EVENTS ARRAY [0] allocated 0, used 0 0 PIN_FLD_PAYINFO ARRAY [0] allocated 0, used 0 0 PIN_FLD_PROFILES ARRAY [0] allocated 0, used 0 0 PIN_FLD_GROUPS ARRAY [0] allocated 0, used 0 0 PIN_FLD_BALANCE_GROUPS ARRAY [0] allocated 0, used 0 0 PIN_FLD_CUSTOM_INFO SUBSTRUCT [0] allocated 0, used 0
The opcode in Table 1-5 performs Account Dump Utility (ADU) functions, which are used to validate account information.
Include the ops/cust.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
This opcode performs two main functions:
When the -dump option is specified, this opcode searches the BRM database for the list of objects specified in the ADU configuration file (pin.conf) and dumps their contents into the ADU output file.
When the -validate option is specified, this opcode validates the object contents by performing the validations enabled in the ADU pin.conf and the custom validations defined in the PCM_OP_ADU_POL_VALIDATE policy opcode.
Example 1-12 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 4109485054 0 0 PIN_FLD_DIRECTORY STR [0] "/opt/portal/7.3.1/sys/diagnostics/pin_adu_validate/out" 0 PIN_FLD_OBJECTCLASS STR [0]"/account, /au_account, /service/email" 0 PIN_FLD_FIELD_NAME STR [0] "/account:PIN_FLD_POID, PIN_FLD_NAMEINFO; /service/email:PIN_FLD_POID, PIN_FLD_SERVICE_EMAIL.PIN_FLD_PATH;" 0 PIN_FLD_EXT_INFO_STR STR [0] ".xml" 0 PIN_FLD_START_T TSTAMP [0] (1175385600) 0 PIN_FLD_END_T TSTAMP [0] (1177977600) 0 PIN_FLD_PARAMS ARRAY [0] 1 PIN_FLD_PARAM_NAME STR [0] "-dump" 0 PIN_FLD_PARAMS ARRAY [1] 1 PIN_FLD_PARAM_NAME STR [0] "-validate" 0 PIN_FLD_VALIDATION_SPECIFICS ARRAY [0] 1 PIN_FLD_SCENARIO_NAME STR [0] "struct_valid_01" 0 PIN_FLD_VALIDATION_SPECIFICS ARRAY [1] 1 PIN_FLD_SCENARIO_NAME STR [0] "struct_valid_02" 0 PIN_FLD_VALIDATION_SPECIFICS ARRAY [2] 1 PIN_FLD_SCENARIO_NAME STR [0] "dynamic_valid_01"
The opcodes in Table 1-6 manage accounts receivable (A/R) functions such as adjustments, disputes, and write-offs.
Include the ops/ar.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-6 Accounts Receivable FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Allows you to customize the input flist by adding or deleting events. |
Recommended |
|
Retrieves the list of write-off items that need to be reversed from the /profile/writeoff object. See the discussion on customizing write-off reversals in BRM Managing Accounts Receivable. |
Recommended |
Allows you to customize the input flist by adding or deleting events. Customizing the input flist allows you to include amounts from events into the total amount available for adjustments.
Retrieves the write-off reversal items from the /profile/writeoff object. During the write-off reversal process, this policy opcode is called to supply a list of write-off items that require reversal if that list is not provided by any other means.
This opcode is called by the PCM_OP_AR_REVERSE_WRITEOFF standard opcode.
See the discussion on customizing write-off reversals in BRM Managing Accounts Receivable.
Example 1-14 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 11857 1 0 PIN_FLD_PROGRAM_NAME STR [0] "DSG-reversal"
Example 1-15 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 11857 1 0 PIN_FLD_PROGRAM_NAME STR [0] "DSG-reversal" 0 PIN_FLD_REVERSALS ARRAY [0] allocated 20, used 1 1 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/writeoff 9561 0 0 PIN_FLD_REVERSALS ARRAY [1] allocated 20, used 1 1 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/writeoff 9834 0
The accounts receivable opcodes in Table 1-7 take PIN_FLD_END_T as an optional field in the input flist to determine when an A/R operation needs to be done. If this field is not passed in the input flist, the A/R operation is carried out with the current time. If PIN_FLD_END_T is specified, the date must be earlier than or equal to the current date. BRM does not support future dating an A/R operation.
Include the ops/ar.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-7 Accounts Receivable FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Debits or credits an account balance for currency adjustments. See the discussions on adjusting accounts, subscription services, and member services in BRM Managing Accounts Receivable. |
Recommended |
|
Performs write-off adjustments for an account or account hierarchy with or without tax implication. See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable. |
Recommended |
|
Credits the currency balance of a bill. See the discussion on adjusting bills in BRM Managing Accounts Receivable. |
Recommended |
|
Transfers the amount from a bill that has a negative balance to one or more bills that have a positive balance |
Recommended |
|
Opens a dispute against a bill. See the discussion on disputing bills in BRM Managing Accounts Receivable. |
Recommended |
|
Settles a dispute opened against a bill. See the discussion on settling disputed bills in BRM Managing Accounts Receivable. |
Recommended |
|
Performs write-off adjustments against a specific bill. See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable. |
Recommended |
|
Performs write-off adjustments against a specific bill unit |
Recommended |
|
Adjusts balance impact of an event on an account's balance. See the discussion on adjusting events in BRM Managing Accounts Receivable. |
Recommended |
|
Opens a dispute against one or more events in an account. See the discussion on disputing events in BRM Managing Accounts Receivable. |
Recommended |
|
Settles one or more dispute events in a dispute item. See the discussion on settling disputed events in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves the list of A/R items applied to all bill units in an account or to a single bill unit. See the discussion on retrieving A/R items that apply to a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves the consolidated balances of the applied amount, unapplied amount, open bill due amount, pending bill due amount, and total dispute amount for all bill units in an account. See the discussion on retrieving a balance summary in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves the list of bills for all bill units in an account or for a single bill unit. The opcode performs the search based on start and end times. See the discussion on retrieving a list of bills for a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves the list of A/R items applied to a bill unit (/billinfo object). See the discussion on retrieving A/R items that apply to a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves the applied, unapplied, open bill due, pending bill due, and total dispute balances for a given bill unit (/billinfo object). See the discussion on retrieving a balance summary in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves the list of bill items for a bill unit (/billinfo object). See the discussion on retrieving a list of bill items for a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves a list of bills for a bill unit (/billinfo object). See the discussion on retrieving a list of bills for a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves all event-level and item-level disputes and the aggregated amount of each resource for the dispute events associated with an item dispute. See the discussion on retrieving dispute details for a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves details of all disputed bill items for a given bill unit (/billinfo object). See the discussion on retrieving dispute details for a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves details for a specified A/R action or bill item. These details are for currency resources. See the discussion on retrieving details about a specific A/R item or bill item in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves details for a specified A/R action or bill item. These details are for currency and noncurrency resources. See the discussion on retrieving details about a specific A/R item or bill item in BRM Managing Accounts Receivable. |
Recommended |
|
Makes adjustments against an item. See the discussion on adjusting items in BRM Managing Accounts Receivable. |
Recommended |
|
Files a dispute against an item. See the discussion on disputing items in BRM Managing Accounts Receivable. |
Recommended |
|
Settles an item that is in dispute. See the discussion on settling disputed items in BRM Managing Accounts Receivable. |
Recommended |
|
Makes write-off adjustments against an item. See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable. |
Recommended |
|
Calculates the aggregated amount of each resource for an event. See the discussion on retrieving details on available resources in BRM Managing Accounts Receivable. |
Limited |
|
Reverses a SEPA Credit Transfer refund that was previously recorded in BRM. See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments. |
Limited |
|
Reverses write-offs on written-off bills, written-off bill units, and written-off bill items when a payment is received. See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable. |
Limited |
Debits or credits an account balance for currency adjustments. This opcode is called by BRM client applications to adjust the balance impacts of an event.
See the discussion on adjusting accounts, subscription services, and member services in BRM Managing Accounts Receivable.
Example 1-16 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 26376 13 0 PIN_FLD_AMOUNT DECIMAL [0] -1 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_CURRENCY INT [0] 840 0 PIN_FLD_STR_VERSION INT [0] 8 0 PIN_FLD_STRING_ID INT [0] 3 0 PIN_FLD_DESCR STR [0] "Account debited by mistake" 0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 27272 0 0 PIN_FLD_ITEM_NO STR [0] "A1-58" 0 PIN_FLD_FLAGS INT [0] 2
Performs write-off of one or more A/R bill units for an account. This opcode performs a write-off when there are open items with due amounts and your company has determined that these items will never be paid by the customer.
See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable.
Credits the currency balance of an account's AR bill. This opcode is called by BRM client applications to adjust the balance impacts of items associated with the specified bill.
See the discussion on adjusting bills in BRM Managing Accounts Receivable.
Example 1-20 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 27012 0 0 PIN_FLD_AMOUNT DECIMAL [0] -2 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_REASON_DOMAIN_ID INT [0] 16 0 PIN_FLD_REASON_ID INT [0] 2 0 PIN_FLD_DESCR STR [0] "Customer unaware of charges" 0 PIN_FLD_FLAGS INT [0] 2
Example 1-21 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 27012 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 2, used 2 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/misc 26628 15 1 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/adjustment/item 220025470857537860 0 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_DESCR STR [0] "Successful"
Transfers the amount from a bill that has a negative balance to one or more bills that have a positive balance.
This opcode is called by Customer Center when a CSR allocates credit amounts to bills that have a positive balance. The opcode takes as input the /bill object and corresponding /billinfo object of both the source bill and destination bill or bills.
See the discussion on adjusting bills in BRM Managing Accounts Receivable.
Opens a dispute against the account's A/R bill. This opcode is called by BRM client applications to dispute the items associated with the specified bill.
See the discussion on disputing bills in BRM Managing Accounts Receivable.
Example 1-22 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 20529 2 0 PIN_FLD_AMOUNT DECIMAL [0] -11.23 0 PIN_FLD_CURRENCY INT [0] 840 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_DESCR STR [0] "Customer unhappy with charges"
Example 1-23 Sample Output Flist
0 PIN_FLD_POI POID [0] 0.0.0.1 /bill 20529 2 0 PIN_FLD_RESULTS ARRAY [0] allocated 2, used 2 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 23063 1 1 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/dispute/item 220025470857537060 0 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_DESCR STR [0] "Successful"
Settles an A/R bill that is in dispute. This opcode is called by BRM client applications to settle the disputed items associated with the specified bill.
See the discussion on settling disputed bills in BRM Managing Accounts Receivable.
Example 1-24 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 15436 0 0 PIN_FLD_AMOUNT DECIMAL [0] -3 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_DESCR STR [0] "Bill settled for full amount"
Example 1-25 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 15436 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 2 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/misc 13836 7 1 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/settlement/item 219743995880815580 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 2 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/misc 14220 5 1 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/settlement/item 219743995880812604 0 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_DESCR STR [0] "Successful"
Performs write-off adjustments against a specified bill when there are open items with due amounts and it has been determined that these items will never be paid by a customer. The write-off decreases the account balances associated with the specified bill, and the transfer event moves the credit from the write-off item to the item being written off.
See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable.
Performs write-off adjustments for a specific bill unit when there are open items with due amounts and it has been determined that these items will never be paid by a customer.
See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable.
To write-off all bill units of an account, see "PCM_OP_AR_ACCOUNT_WRITEOFF".
Adjusts the balance impact of an event on an account's balance. This opcode receives a list of events to be adjusted as a batch on the input flist, and returns the adjusted data on the output flist.
See the discussion on adjusting events in BRM Managing Accounts Receivable.
Example 1-30 Sample Input Flist
0 PIN_FLD_EVENTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/session 220025470857535512 0 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 26216 13 0 PIN_FLD_ADJUSTMENT_INFO ARRAY [0] allocated 2, used 2 1 PIN_FLD_PERCENT DECIMAL [0] 25 1 PIN_FLD_RESOURCE_ID INT [0] 840 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_DESCR STR [0] "Service down" 0 PIN_FLD_REASON_DOMAIN_ID INT [0] 14 0 PIN_FLD_REASON_ID INT [0] 1
Example 1-31 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 26216 13 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_DESCR STR [0] "Successful" 0 PIN_FLD_ADJUSTMENT_INFO ARRAY [0] allocated 20, used 5 1 PIN_FLD_RESOURCE_ID INT [0] 840 1 PIN_FLD_AMOUNT DECIMAL [0] 1 1 PIN_FLD_AMOUNT_ADJUSTED DECIMAL [0] 0.25 1 PIN_FLD_AMOUNT_TAX_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_AMOUNT_TAXED DECIMAL [0] 0 0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 27496 3 0 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/adjustment 28568 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 3 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/session 220025470857535512 0 1 PIN_FLD_RESULT ENUM [0] 1 1 PIN_FLD_EVENTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/adjustment/event 220025470857535576 0 0 PIN_FLD_ITEMS ARRAY [0] allocated 20, used 1 1 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/adjustment 28568 0
Opens a dispute against one or more events associated with an account. This opcode receives a batch of events on the input flist, and returns the disputed data on the output flist.
See the discussion on disputing events in BRM Managing Accounts Receivable.
Example 1-32 Sample Input Flist
0 PIN_FLD_EVENTS ARRAY [0] allocated 20, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/session 219673627136631863 1 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 9627 0 0 PIN_FLD_END_T TSTAMP [0] (1076998844) Mon Feb 16 22:20:44 2004 0 PIN_FLD_DISPUTES ARRAY [0] allocated 20, used 2 1 PIN_FLD_PERCENT DECIMAL [0] 10 1 PIN_FLD_RESOURCE_ID INT [0] 840 0 PIN_FLD_PROGRAM_NAME STR [0] "EventBrowser" 0 PIN_FLD_DESCR STR [0] "Customer unaware of charges"
Example 1-33 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 9627 0 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_DESCR STR [0] "Successful" 0 PIN_FLD_DISPUTES ARRAY [0] allocated 5, used 5 1 PIN_FLD_RESOURCE_ID INT [0] 840 1 PIN_FLD_AMOUNT DECIMAL [0] 2.5666667 1 PIN_FLD_AMOUNT_ADJUSTED DECIMAL [0] -0.26 1 PIN_FLD_AMOUNT_TAX_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_AMOUNT_TAXED DECIMAL [0] 0 0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 10331 12 0 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/dispute 28168 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 3, used 3 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/session 219673627136631863 1 1 PIN_FLD_RESULT ENUM [0] 1 1 PIN_FLD_EVENTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 220025470857535752 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 4, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/cycle/tax 219779180252904974 1 1 PIN_FLD_RESULT ENUM [0] 0 1 PIN_FLD_TYPE ENUM [0] 1 1 PIN_FLD_DESCR STR [0] "Nothing to adjust"
Settles dispute events associated with an account. This opcode receives dispute item POID in the input flists and retrieves the associated dispute events. It returns settlement data on the output flist.
See the discussion on settling disputed events in BRM Managing Accounts Receivable.
Example 1-34 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 14496 0 0 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/dispute 14176 0 0 PIN_FLD_ADJUSTMENT_INFO ARRAY [0] allocated 2, used 2 1 PIN_FLD_AMOUNT DECIMAL [0] 0.5 1 PIN_FLD_RESOURCE_ID INT [0] 840 0 PIN_FLD_PROGRAM_NAME STR [0] "EventBrowser" 0 PIN_FLD_DESCR STR [0] "Event settled in full"
Example 1-35 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 14496 0 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_DESCR STR [0] "Successful" 0 PIN_FLD_ADJUSTMENT_INFO ARRAY [0] allocated 20, used 5 1 PIN_FLD_RESOURCE_ID INT [0] 840 1 PIN_FLD_AMOUNT DECIMAL [0] -1.5 1 PIN_FLD_AMOUNT_ADJUSTED DECIMAL [0] -0.5 1 PIN_FLD_AMOUNT_TAX_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_AMOUNT_TAXED DECIMAL [0] 0 0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 15008 3 0 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/settlement 13536 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 3 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 219269006857617248 0 1 PIN_FLD_RESULT ENUM [0] 1 1 PIN_FLD_EVENTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/settlement/event 219269006857616608 0 0 PIN_FLD_ITEMS ARRAY [0] allocated 20, used 1 1 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/settlement 13536 0
Retrieves the list of A/R items applied to all bill units (/billinfo objects) in an account or to a single bill unit.
You can restrict the search by various means; for example, date, status, and bill unit POID.
You can choose to find items for the specific bill unit, or for it and its nonpaying child bill units.
This opcode uses the PIN_FLD_FLAGS both as an input and output field. The values it uses are defined in the pin_ar.h file as follows:
#define PIN_AR_BILLED_ITEM 0x01 #define PIN_AR_UNBILLED_ITEM 0x02
The input value in PIN_FLD_FLAGS this opcode receives as input determines whether the opcode should mark the item as billed or unbilled. If this opcode does not receive PIN_FLD_FLAGS as an input, it marks the items as billed and unbilled.
It uses the input PIN_FLD_FLAGS value to select and/or mark the required items:
When PIN_FLD_FLAGS contains PIN_AR_BILLED_ITEM, it selects the billed items that are allocated to the specified bill and marks each item as "billed."
When PIN_FLD_FLAGS contains PIN_AR_UNBILLED_ITEM, it selects the unbilled items that are allocated to the specified bill and marks each item as "unbilled."
If PIN_FLD_FLAGS is not present or is present but does not have either value, the opcode selects both billed and unbilled items allocated to the bill, but does not mark the A/R items.
If PIN_FLD_FLAGS field is present, the opcode expects a value for the PIN_FLD_BILL_OBJ input field, or it returns an error.
This opcode calls the fm_ar_set_billed_unbilled_flag which determines that a special item is a ”billed” item if it is allocated to a bill before the bill is finalized or before the corrective bill is created.
The PIN_FLD_RESULTS output array contains the PIN_FLD_FLAGS which indicates whether the allocated item is billed (PIN_AR_BILLED_ITEM) or unbilled (PIN_AR_UNBILLED_ITEM). This output array contains the PIN_FLD_FLAGS entry if the input flist contained PIN_FLD_FLAGS field and if a special item is allocated to the bill.
The special items that this opcode considers include all of the following:
PIN_OBJ_TYPE_ITEM_PAYMENT
PIN_OBJ_TYPE_ITEM_REVERSAL
PIN_OBJ_TYPE_ITEM_REFUND
PIN_OBJ_TYPE_ITEM_ADJUSTMENT
PIN_OBJ_TYPE_ITEM_DISPUTE
PIN_OBJ_TYPE_ITEM_SETTLEMENT
PIN_OBJ_TYPE_ITEM_WRITEOFF
PIN_OBJ_TYPE_ITEM_WRITEOFF_REVERSAL
See the discussion on retrieving A/R items that apply to a bill unit in BRM Managing Accounts Receivable.
Example 1-36 Sample Input Flist
This sample input flist calls the opcode for an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 0 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0
Example 1-37 Sample Output Flist
This output flist is the output from calling the opcode for an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 15, used 15 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/adjustment 20232 2 1 PIN_FLD_ITEM_NO STR [0] "A1-2" 1 PIN_FLD_NAME STR [0] "Adjustment" 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] -10 1 PIN_FLD_DUE DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] -10 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1098301549) Wed Oct 20 12:45:49 2004 1 PIN_FLD_CREATED_T TSTAMP [0] (1098301549) Wed Oct 20 12:45:49 2004 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 16496 0 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 1 1 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-16496" 1 PIN_FLD_ALLOCATED DECIMAL [0] -10 0 PIN_FLD_RESULTS ARRAY [1] allocated 15, used 15 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 18808 2 1 PIN_FLD_ITEM_NO STR [0] "D1-2" 1 PIN_FLD_NAME STR [0] "Dispute" 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] -15 1 PIN_FLD_DUE DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] -15 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1098306824) Wed Oct 20 14:13:44 2004 1 PIN_FLD_CREATED_T TSTAMP [0] (1098306824) Wed Oct 20 14:13:44 2004 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 16496 10 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 18032 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 18032 1 1 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 18160 1 1 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-16496" 1 PIN_FLD_ALLOCATED DECIMAL [0] -15
Example 1-38 Sample Input Flist
This sample input flist calls the opcode for a single bill unit of an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_INCLUDE_CHILDREN NT [0] 0
Example 1-39 Sample Output Flist
This output flist is the output from calling the opcode for a single bill unit of an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 16, used 16 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 19720 2 1 PIN_FLD_ITEM_NO STR [0] "D1-1" 1 PIN_FLD_NAME STR [0] "Dispute" 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] -5 1 PIN_FLD_DUE DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] -5 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1097385738) Sat Oct 9 22:22:18 2004 1 PIN_FLD_CREATED_T TSTAMP [0] (1097385738) Sat Oct 9 22:22:18 2004 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 16496 7 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 1 1 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 16624 1 1 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.1 /item/settlement 17032 1 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-16496" 1 PIN_FLD_ALLOCATED DECIMAL [0] -5 1 PIN_FLD_POSTED_T TSTAMP [0] (1098301603) Wed Oct 20 12:46:43 2004
Retrieves the consolidated unapplied, open bill due, pending bill due, and total dispute balances for the all the bill units (/billinfo objects) in an account or for a specified /billinfo in an account.
See the discussion on retrieving a balance summary in BRM Managing Accounts Receivable.
Example 1-40 Sample Input Flist
The following sample calls the opcode for an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 0 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0
Example 1-41 Sample Output Flist
The following sample is the output of calling the opcode for an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 0 0 PIN_FLD_BILLINFO_OBJ POID [0] NULL poid pointer 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] NULL poid pointer 0 PIN_FLD_OPENBILL_DUE DECIMAL [0] -17.05 0 PIN_FLD_UNAPPLIED_AMOUNT DECIMAL [0] 0 0 PIN_FLD_TOTAL_RECORDS INT [0] 0 0 PIN_FLD_PENDINGBILL_DUE DECIMAL [0] 0 0 PIN_FLD_DISPUTED DECIMAL [0] -15 0 PIN_FLD_BILL_OBJ POID [0] NULL poid pointer 0 PIN_FLD_COUNT INT [0] 0
Example 1-42 Sample Input Flist
The following sample calls the opcode for a bill unit of an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0
Example 1-43 Sample Output Flist
The following sample is the output of calling the opcode for a bill unit of an account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 17008 0 0 PIN_FLD_COUNT INT [0] 0 0 PIN_FLD_OPENBILL_DUE DECIMAL [0] -12 0 PIN_FLD_TOTAL_RECORDS INT [0] 0 0 PIN_FLD_UNAPPLIED_AMOUNT DECIMAL [0] 0 0 PIN_FLD_PENDINGBILL_DUE DECIMAL [0] 0 0 PIN_FLD_DISPUTED DECIMAL [0] 0 0 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 0
Retrieves the list of bills for all bill units (/billinfo objects) in an account or for a single bill unit. The input flist determines the filter conditions to use for retrieving the data from the database.
You can restrict the search by various means, for example, date, status, and number of bills to be retrieved. You can also choose to find bills for the bill units, or for the bill units and their nonpaying child bill units.
By default, this opcode returns the last bill. It uses the value in PIN_FLD_FLAGS to return the following:
The latest bill (regular or corrective) when PIN_FLD_FLAGS is set to PIN_AR_LAST_BILL
The previous (regular or corrective) bill only when PIN_FLD_FLAGS contains PIN_AR_ ORIG_BILL
All bills (the regular bill and all its corrective bills) when PIN_FLD_FLAGS contains PIN_AR_ALL_BILLS
The pin_ar.h file defines these constants as follows:
#define PIN_AR_LAST_BILL 0x01 #define PIN_AR_ORIG_BILL 0x02 #define PIN_AR_ALL_BILLS 0x04
PCM_OP_AR_GET_ACCT_BILL calls the PCM_OP_AR_GET_BILLS opcode to perform the search. For corrective bills, it provides the PIN_FLD_FLAGS as an input to PCM_OP_AR_GET_BILLS.
For corrective billing, this opcode optionally returns the following items in the PIN_FLD_RESULTS array:
PIN_FLD_ORIG_NUM. The bill number from the previous bill
PIN_FLD_NAME. The name for the bill object. The pin_bill.h file contains the following definitions for corrective bills:
#define PIN_OBJ_NAME_CORRECTIVE_BILL "PIN Corrective Bill" #define PIN_OBJ_NAME_CORRECTIVE_BILL_NOW "PIN Corrective Bill On Demand" #define PIN_OBJ_NAME_CORRECTIVE_BILL_ON_DEMAND "PIN Corrective Bill Now"
PIN_FLD_AMOUNT_ORIG. The PIN_FLD_DUE field for the previous bill
PIN_FLD_CREATED_T. The date that the bill was generated. It is taken from the corresponding field from the /event/billing/corrective_bill object.
PIN_FLD_REASON_DOMAIN_ID. The reason domain code for the corrective bill taken from the corresponding /event/billing/corrective_bill object.
PIN_FLD_REASON_ID. The reason ID for the corrective bill taken from the corresponding /event/billing/corrective_bill object.
PIN_FLD_INV_TYPE. The invoice type for the bill.
See the discussion on retrieving a list of bills for a bill unit in BRM Managing Accounts Receivable.
Example 1-44 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 0 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0
Example 1-45 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 21, used 21 1 PIN_FLD_POID POID [0] 0.0.0.1 /bill 16776 2 1 PIN_FLD_BILL_NO STR [0] "B1-262" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 16496 0 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 4 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 1 1 PIN_FLD_PARENT POID [0] 0.0.0.0 0 0 1 PIN_FLD_ADJUSTED DECIMAL [0] -15 1 PIN_FLD_DISPUTED DECIMAL [0] 0 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_DUE DECIMAL [0] -12 1 PIN_FLD_CURRENT_TOTAL DECIMAL [0] -12 1 PIN_FLD_SUBORDS_TOTAL DECIMAL [0] 0 1 PIN_FLD_PREVIOUS_TOTAL DECIMAL [0] 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1098301630) Wed Oct 20 12:47:10 2004 1 PIN_FLD_START_T TSTAMP [0] (1098301630) Wed Oct 20 12:47:10 2004 1 PIN_FLD_END_T TSTAMP [0] (1098301630) Wed Oct 20 12:47:10 2004 1 PIN_FLD_DUE_T TSTAMP [0] (1100897230) Fri Nov 19 12:47:10 2004 1 PIN_FLD_TOTALS DECIMAL [0] 3 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (1)" 0 PIN_FLD_RESULTS ARRAY [1] allocated 21, used 21 1 PIN_FLD_POID POID [0] 0.0.0.1 /bill 19320 2 1 PIN_FLD_BILL_NO STR [0] "B1-276" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 16496 0 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 18032 3 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 18032 1 1 PIN_FLD_PARENT POID [0] 0.0.0.0 0 0 1 PIN_FLD_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_DISPUTED DECIMAL [0] -15 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_DUE DECIMAL [0] -5.05 1 PIN_FLD_CURRENT_TOTAL DECIMAL [0] -5.05 1 PIN_FLD_SUBORDS_TOTAL DECIMAL [0] 0 1 PIN_FLD_PREVIOUS_TOTAL DECIMAL [0] 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1098307659) Wed Oct 20 14:27:39 2004 1 PIN_FLD_START_T TSTAMP [0] (1098307659) Wed Oct 20 14:27:39 2004 1 PIN_FLD_END_T TSTAMP [0] (1098307659) Wed Oct 20 14:27:39 2004 1 PIN_FLD_DUE_T TSTAMP [0] (1100903259) Fri Nov 19 14:27:39 2004 1 PIN_FLD_TOTALS DECIMAL [0] 9.95 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (2)"
Retrieves the list of A/R items applied to a bill unit (/billinfo object).
You can restrict the search by various means, for example, date, status, and bill unit POID.
You can choose to find items for the specific bill unit, or for it and its nonpaying child bill units.
See the discussion on retrieving A/R items that apply to a bill unit inBRM Managing Accounts Receivable.
Example 1-46 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 0 0 0 PIN_FLD_AR_BILLINFO POID [0] 0.0.0.1 /account 0 0 0 PIN_FLD_THRESHOLD INT [0] 20 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 12298 18 0 PIN_FLD_AR_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 12298 18 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 1 0 PIN_FLD_POID_TYPE STR [0] "'/item/settlement','/item/dispute', '/item/writeoff','/item/refund','/item/adjustment'"
Note:
PIN_FLD_POID is required because every flist must have a POID (it can be any POID).Example 1-47 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 0 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 13 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/adjustment 19950 1 1 PIN_FLD_ITEM_NO STR [0] "A-11" 1 PIN_FLD_NAME STR [0] "Adjustment" 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] -10 1 PIN_FLD_DUE DECIMAL [0] -10 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1005844209) Thu Nov 15 09:10:09 2001 1 PIN_FLD_CREATED_T TSTAMP [0] (1003165567) Mon Oct 15 10:06:07 2001 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 12298 16 1 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-12298" 1 PIN_FLD_ALLOCATED DECIMAL [0] 0
Retrieves the unapplied, open bill due, pending bill due, and total dispute balances for a given bill unit (/billinfo object).
See the discussion on retrieving a balance summary in BRM Managing Accounts Receivable.
Example 1-48 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 48991 3 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 48991 2 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 1
Example 1-49 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 48991 3 0 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 48991 3 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 48991 2 0 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 55148 0 0 PIN_FLD_COUNT INT [0] 0 0 PIN_FLD_OPENBILL_DUE DECIMAL [0] 42.9 0 PIN_FLD_TOTAL_RECORDS INT [0] 0 0 PIN_FLD_UNAPPLIED_AMOUNT DECIMAL [0] 0 0 PIN_FLD_PENDINGBILL_DUE DECIMAL [0] 0 0 PIN_FLD_DISPUTED DECIMAL [0] 0 0 PIN_FLD_DISPUTE_TYPE ENUM [0] 0 0 PIN_FLD_ITEM_PENDING_FLAGS ENUM [0] 0
Retrieves the list of bill items for a bill unit (/billinfo object).
Note:
Bill items are referred to as item charges in Customer Center.You can restrict the search by various means; for example, date, status, and bill unit POID. You can also choose to find items for the specific bill unit or for it and its nonpaying child bill units.
If general ledger (G/L) collection is enabled, PCM_OP_AR_GET_BILL_ITEMS retrieves the data from G/L /journal objects. Otherwise, the opcode retrieves the data from the events for each bill item. Using /journal objects improves performance.
The pin_flds.h file contains two decimal fields PIN_FLD_BILLED_AMOUNT and PIN_FLD_UNBILLED_AMOUNT used to store billed and unbilled amounts respectively.
For corrective bills, this opcode uses the input PIN_FLD_FLAGS value to select items that have unbilled and/or billed amounts allocated to them (where the allocated amount is greater than zero):
When PIN_FLD_FLAGS is set to PIN_AR_BILLED_ITEM, this opcode retrieves the items with billed amounts that are allocated to the specified bill. The PIN_FLD_BILLED_AMOUNT elements in PIN_FLD_RESULTS output array returned by this code contain the billed amounts for the allocated items where the allocated amount is greater than zero. In addition, the opcode calculates the sum of the billed amounts that it placed in the PIN_FLD_RESULTS output array and returns that amount in a separate field called PIN_FLD_BILLED_AMOUNT.
When PIN_FLD_FLAGS is set to PIN_AR_UNBILLED_ITEM, this opcode retrieves the items with unbilled amounts that are allocated to the specified bill. The PIN_FLD_UNBILLED_AMOUNT element in PIN_FLD_RESULTS output array returned by this code contain the unbilled amounts for the allocated items where the allocated amount is greater than zero. In addition, the opcode calculates the sum of the unbilled amounts that it placed in the PIN_FLD_RESULTS output array and returns that amount in a separate field called PIN_FLD_UNBILLED_AMOUNT.
If PIN_FLD_FLAGS is not present or is present but does not have either value, the opcode retrieves all items allocated to the specified bill. The PIN_FLD_RESULTS output array returned by this code contains all the items allocated to the bill. However, the opcode does not return the summation of the billed or unbilled amounts.
See the discussion on retrieving a list of bill items for a bill unit in BRM Managing Accounts Receivable.
Example 1-50 Sample Input Flist
0 PIN_FLD_THRESHOLD INT [0] 20 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 12650 16 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 12554 1 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 1 0 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 13162 0
Example 1-51 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /search -1 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 27, used 14 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/misc 14698 1 1 PIN_FLD_ITEM_NO STR [0] "" 1 PIN_FLD_NAME STR [0] "Usage" 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] 0 1 PIN_FLD_DUE DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_DISPUTED DECIMAL [0] 0 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (0) <null> 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 12650 0 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.0 /billinfo 12554 1 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-12650" 0 PIN_FLD_RESULTS ARRAY [1] allocated 27, used 14 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 14186 1 1 PIN_FLD_ITEM_NO STR [0] "" 1 PIN_FLD_NAME STR [0] "Cycle forward" 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] 100 1 PIN_FLD_DUE DECIMAL [0] 100 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_DISPUTED DECIMAL [0] 0 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (0) <null> 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 12650 10 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 15210 0 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-12650"
Retrieves a list of bills for a bill unit (/billinfo object) based on the start time and end time search criteria.
You can restrict the search by various means, for example, date, status, and number of bills to be retrieved. You can also choose to find bills for the specific bill unit, or for it and its nonpaying child bill units.
For corrective bills, this opcode uses the value in the PIN_FLD_FLAGS input field:
It returns the latest bill (regular or corrective) when PIN_FLD_FLAGS contains PIN_AR_LAST_BILL. This is the default behavior.
It returns the previous (regular or corrective) bill only when PIN_FLD_FLAGS contains PIN_AR_ ORIG_BILL.
It returns all bills (the regular bill and all its corrective bills) when PIN_FLD_FLAGS contains PIN_AR_ALL_BILLS. The bills are returned in PIN_FLD_RESULTS sorted by the time when they were created.
This opcode optionally returns the following items in the PIN_FLD_RESULTS array:
PIN_FLD_ORIG_NUM. The bill number from the previous bill
PIN_FLD_NAME. The name for the bill object. The pin_bill.h file contains the following definitions for corrective bills:
#define PIN_OBJ_NAME_CORRECTIVE_BILL "PIN Corrective Bill" #define PIN_OBJ_NAME_CORRECTIVE_BILL_NOW "PIN Corrective Bill On Demand" #define PIN_OBJ_NAME_CORRECTIVE_BILL_ON_DEMAND "PIN Corrective Bill Now"
PIN_FLD_AMOUNT_ORIG. The PIN_FLD_DUE field for the previous bill
PIN_FLD_CREATED_T. The date that the bill was generated. It is taken from the corresponding field from the /event/billing/corrective_bill object.
PIN_FLD_REASON_DOMAIN_ID. The reason domain code for the corrective bill taken from the corresponding /event/billing/corrective_bill object.
PIN_FLD_REASON_ID. The reason id for the corrective bill taken from the corresponding /event/billing/corrective_bill object.
PIN_FLD_INV_TYPE. The invoice type for the bill.
See the discussion on retrieving a list of bills for a bill unit in BRM Managing Accounts Receivable.
Example 1-52 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 12810 0 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 12298 18 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 1
Example 1-53 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 12810 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 31, used 18 1 PIN_FLD_POID POID [0] 0.0.0.1 /bill 12810 1 1 PIN_FLD_BILL_NO STR [0] "B1-22" 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 12298 0 1 PIN_FLD_PARENT POID [0] 0.0.0.0 0 0 1 PIN_FLD_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_DISPUTED DECIMAL [0] 0 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_DUE DECIMAL [0] 0 1 PIN_FLD_CURRENT_TOTAL DECIMAL [0] NULL 1 PIN_FLD_SUBORDS_TOTAL DECIMAL [0] NULL 1 PIN_FLD_PREVIOUS_TOTAL DECIMAL [0] NULL 1 PIN_FLD_CREATED_T TSTAMP [0] (1002738418) Wed Oct 10 11:26:58 2001 1 PIN_FLD_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 12298 18 1 PIN_FLD_DUE_T TSTAMP [0] (0) <null> 1 PIN_FLD_TOTALS DECIMAL [0] 0
Retrieves all event-level and item-level disputes and the aggregated amount of each resource for the dispute events associated with a dispute item (/item/dispute object). This opcode is called by Customer Center.
See the discussion on retrieving dispute details for a bill unit in BRM Managing Accounts Receivable.
Example 1-54 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 13953 13 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 1 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0 0 PIN_FLD_STATUS ENUM [0] 2
Example 1-55 Sample Output Flist
The following sample includes comments to help you interpret the flist. These comments are prefaced by an exclamation mark (!) and do not normally appear in the flist.
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 14721 1 0 PIN_FLD_RESULTS ARRAY [0] allocated 29, used 29 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 14401 10 1 PIN_FLD_ITEM_NO STR [0] "B1-33,1" 1 PIN_FLD_NAME STR [0] "Cycle forward" 1 PIN_FLD_CREATED_T TSTAMP [0] (1076127297) Fri Feb 6 20:14:57 2004 1 PIN_FLD_MOD_T TSTAMP [0] (1076390230) Mon Feb 9 21:17:10 2004 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088413545) Mon Jun 28 02:05:45 2004 1 PIN_FLD_CLOSED_T TSTAMP [0] (0) <null> 1 PIN_FLD_DUE_T TSTAMP [0] (1091005545) Wed Jul 28 02:05:45 2004 1 PIN_FLD_STATUS ENUM [0] 2 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 7 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 1 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 15681 0 1 PIN_FLD_AR_BILL_OBJ POID [0] 0.0.0.1 /bill 15681 1 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 16257 0 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] 30 1 PIN_FLD_ADJUSTED DECIMAL [0] -2 1 PIN_FLD_DISPUTED DECIMAL [0] -1.8 1 PIN_FLD_DUE DECIMAL [0] 26.2 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_CURRENCY_SECONDARY INT [0] 0 ! Transfer arrays for the first event-level disputes 1 PIN_FLD_TRANSFERS_OUT ARRAY [0] allocated 21, used 21 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 16273 2 2 PIN_FLD_ITEM_NO STR [0] "A1-11" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] -1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] -1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088592223) Wed Jun 30 03:43:43 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076305995) Sun Feb 8 21:53:15 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 11 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] -1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 7 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 1 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_DESCR STR [0] "" ! Arrays for the first event-level dispute 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 12369 0 3 PIN_FLD_DESCR STR [0] "" ! Array of aggregated resource amounts for the first event-level dispute 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_RESOURCE_ID INT [0] 840 3 PIN_FLD_AMOUNT DECIMAL [0] -1 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [1] allocated 2, used 2 3 PIN_FLD_RESOURCE_ID INT [0] 1000020 3 PIN_FLD_AMOUNT DECIMAL [0] 0 ! Transfer arrays for the second event-level disputes 1 PIN_FLD_TRANSFERS_OUT ARRAY [1] allocated 21, used 21 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 13249 2 2 PIN_FLD_ITEM_NO STR [0] "A1-8" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] -1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] -1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088419110) Mon Jun 28 03:38:30 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076132881) Fri Feb 6 21:48:01 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 11 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] -1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 0 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 1 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_DESCR STR [0] "" ! Arrays for the second event-level dispute 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 15297 0 3 PIN_FLD_DESCR STR [0] "" ! Array of aggregated resource amounts for the second event-level dispute 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_RESOURCE_ID INT [0] 840 3 PIN_FLD_AMOUNT DECIMAL [0] -1 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [1] allocated 2, used 2 3 PIN_FLD_RESOURCE_ID INT [0] 1000020 3 PIN_FLD_AMOUNT DECIMAL [0] -1 ! Transfer array for item-level dispute 1 PIN_FLD_TRANSFERS_OUT ARRAY [2] allocated 19, used 19 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 12737 2 2 PIN_FLD_ITEM_NO STR [0] "D1-26" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] 0.1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] 0.1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088419006) Mon Jun 28 03:36:46 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076132777) Fri Feb 6 21:46:17 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 7 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] 0.1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 5 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 0 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/dispute/item 14785 0 2 PIN_FLD_DESCR STR [0] ""
Retrieves details of all disputed bill items for a bill unit (/billinfo object).
Note:
Bill items are referred to as item charges in Customer Center. Customer Center uses this opcode to get the list of disputes for a bill unit.See the discussion on retrieving dispute details for a bill unit in BRM Managing Accounts Receivable.
Example 1-56 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 13953 13 0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 1 0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0 0 PIN_FLD_STATUS ENUM [0] 2
Example 1-57 Sample Output Flist
The following sample includes comments to help you interpret the flist. These comments are prefaced by an exclamation mark (!) and do not normally appear in the flist.
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 14721 1 0 PIN_FLD_RESULTS ARRAY [0] allocated 29, used 29 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 14401 10 1 PIN_FLD_ITEM_NO STR [0] "B1-33,1" 1 PIN_FLD_NAME STR [0] "Cycle forward" 1 PIN_FLD_CREATED_T TSTAMP [0] (1076127297) Fri Feb 6 20:14:57 2004 1 PIN_FLD_MOD_T TSTAMP [0] (1076390230) Mon Feb 9 21:17:10 2004 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088413545) Mon Jun 28 02:05:45 2004 1 PIN_FLD_CLOSED_T TSTAMP [0] (0) <null> 1 PIN_FLD_DUE_T TSTAMP [0] (1091005545) Wed Jul 28 02:05:45 2004 1 PIN_FLD_STATUS ENUM [0] 2 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 7 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 1 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 15681 0 1 PIN_FLD_AR_BILL_OBJ POID [0] 0.0.0.1 /bill 15681 1 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 16257 0 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] 30 1 PIN_FLD_ADJUSTED DECIMAL [0] -2 1 PIN_FLD_DISPUTED DECIMAL [0] -1.8 1 PIN_FLD_DUE DECIMAL [0] 26.2 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_CURRENCY_SECONDARY INT [0] 0 ! Transfer arrays for event-level disputes 1 PIN_FLD_TRANSFERS_OUT ARRAY [0] allocated 19, used 19 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 16273 2 2 PIN_FLD_ITEM_NO STR [0] "A1-11" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] -1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] -1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088592223) Wed Jun 30 03:43:43 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076305995) Sun Feb 8 21:53:15 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 11 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] -1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 7 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 1 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_DESCR STR [0] "" 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 12369 0 3 PIN_FLD_DESCR STR [0] "" 1 PIN_FLD_TRANSFERS_OUT ARRAY [1] allocated 19, used 19 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 13249 2 2 PIN_FLD_ITEM_NO STR [0] "A1-8" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] -1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] -1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088419110) Mon Jun 28 03:38:30 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076132881) Fri Feb 6 21:48:01 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 11 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] -1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 0 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 1 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_DESCR STR [0] "" 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 15297 0 3 PIN_FLD_DESCR STR [0] "" ! Transfer array for item-level dispute 1 PIN_FLD_TRANSFERS_OUT ARRAY [2] allocated 19, used 19 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 12737 2 2 PIN_FLD_ITEM_NO STR [0] "D1-26" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] 0.1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] 0.1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088419006) Mon Jun 28 03:36:46 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076132777) Fri Feb 6 21:46:17 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 7 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] 0.1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 5 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 0 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/dispute/item 14785 0 2 PIN_FLD_DESCR STR [0] ""
Retrieves details for the specified A/R item or bill item. The data retrieved does not include noncurrency resources.
For example, Customer Center uses this opcode to retrieve detailed information about a specific write-off or usage item.
See the discussion on retrieving details about a specific A/R item or bill item in BRM Managing Accounts Receivable.
Example 1-59 Sample Output Flist
The following sample includes comments to help you interpret the flist. These comments are prefaced by an exclamation mark (!) and do not normally appear in the flist.
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 14401 10 0 PIN_FLD_RESULTS ARRAY [0] allocated 30, used 30 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 14401 10 1 PIN_FLD_ITEM_NO STR [0] "B1-33,1" 1 PIN_FLD_NAME STR [0] "Cycle forward" 1 PIN_FLD_CREATED_T TSTAMP [0] (1076127297) Fri Feb 6 20:14:57 2004 1 PIN_FLD_MOD_T TSTAMP [0] (1076390230) Mon Feb 9 21:17:10 2004 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088413545) Mon Jun 28 02:05:45 2004 1 PIN_FLD_CLOSED_T TSTAMP [0] (0) <null> 1 PIN_FLD_DUE_T TSTAMP [0] (1091005545) Wed Jul 28 02:05:45 2004 1 PIN_FLD_STATUS ENUM [0] 2 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 7 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 1 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 15681 0 1 PIN_FLD_AR_BILL_OBJ POID [0] 0.0.0.1 /bill 15681 1 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 16257 0 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] 30 1 PIN_FLD_ADJUSTED DECIMAL [0] -2 1 PIN_FLD_DISPUTED DECIMAL [0] -1.8 1 PIN_FLD_DUE DECIMAL [0] 26.2 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_CURRENCY_SECONDARY INT [0] 0 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" ! Transfer arrays for event-level disputes 1 PIN_FLD_TRANSFERS_INTO ARRAY [0] allocated 19, used 19 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 16273 2 2 PIN_FLD_ITEM_NO STR [0] "A1-11" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] -1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] -1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088592223) Wed Jun 30 03:43:43 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076305995) Sun Feb 8 21:53:15 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 11 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] -1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 7 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_RESOURCE_IMPACTED ENUM [0] 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 1 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]" 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 12369 0 3 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]" 1 PIN_FLD_TRANSFERS_INTO ARRAY [1] allocated 19, used 19 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 13249 2 2 PIN_FLD_ITEM_NO STR [0] "A1-8" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] -1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] -1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088419110) Mon Jun 28 03:38:30 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076132881) Fri Feb 6 21:48:01 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 11 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] -1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 0 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_RESOURCE_IMPACTED ENUM [0] 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 1 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]" 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 15297 0 3 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]" ! Transfer array for item-level dispute 1 PIN_FLD_TRANSFERS_INTO ARRAY [2] allocated 19, used 19 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 12737 2 2 PIN_FLD_ITEM_NO STR [0] "D1-26" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] 0.1 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] 0.1 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1088419006) Mon Jun 28 03:36:46 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1076132777) Fri Feb 6 21:46:17 2004 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 13953 7 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 14721 2 2 PIN_FLD_ALLOCATED DECIMAL [0] 0.1 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 14401 5 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_RESOURCE_IMPACTED ENUM [0] 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-13953" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 0 2 PIN_FLD_RESOURCE_ID INT [0] 840 2 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/dispute/item 14785 0 2 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]"
Retrieves details for the specified A/R item or bill item. The data retrieved includes both currency and noncurrency resources. It also includes the aggregated amount of each resource for the events in the A/R or bill item.
For example, Customer Center uses this opcode to retrieve detailed information on adjustments, disputes, and settlements.
See the discussion on retrieving details about a specific A/R item or bill item in BRM Managing Accounts Receivable.
Example 1-61 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 8371 1 0 PIN_FLD_RESULTS ARRAY [0] allocated 28, used 28 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 8371 3 1 PIN_FLD_ITEM_NO STR [0] "B1-41,2" 1 PIN_FLD_NAME STR [0] "Cycle forward" 1 PIN_FLD_CREATED_T TSTAMP [0] (1109881823) Thu Mar 3 12:30:23 2005 1 PIN_FLD_MOD_T TSTAMP [0] (1109893810) Thu Mar 3 15:50:10 2005 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1106726400) Wed Jan 26 00:00:00 2005 1 PIN_FLD_CLOSED_T TSTAMP [0] (0) <null> 1 PIN_FLD_DUE_T TSTAMP [0] (1109318400) Fri Feb 25 00:00:00 2005 1 PIN_FLD_STATUS ENUM [0] 2 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 10787 14 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 10531 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 10531 0 1 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 9171 0 1 PIN_FLD_AR_BILL_OBJ POID [0] 0.0.0.1 /bill 9171 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 9379 0 1 PIN_FLD_ITEM_TOTAL DECIMAL [0] 100 1 PIN_FLD_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_DISPUTED DECIMAL [0] -2 1 PIN_FLD_DUE DECIMAL [0] 98 1 PIN_FLD_RECVD DECIMAL [0] 0 1 PIN_FLD_TRANSFERED DECIMAL [0] 0 1 PIN_FLD_WRITEOFF DECIMAL [0] 0 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_CURRENCY_SECONDARY INT [0] 0 1 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-10787" ! Transfer array for an event-level currency dispute 1 PIN_FLD_TRANSFERS_INTO ARRAY [0] allocated 22, used 22 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/dispute 10267 2 2 PIN_FLD_ITEM_NO STR [0] "A1-8" 2 PIN_FLD_NAME STR [0] "Dispute" 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] -2 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] -2 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1098855103) Tue Oct 26 22:31:43 2004 2 PIN_FLD_CREATED_T TSTAMP [0] (1109893808) Thu Mar 3 15:50:08 2005 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 10787 18 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 10531 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 10531 1 2 PIN_FLD_ALLOCATED DECIMAL [0] -2 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 8371 2 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_RESOURCE_IMPACTED ENUM [0] 0 2 PIN_FLD_RESOURCE_ID INT [0] 840 ! Array for the event-level currency dispute 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/event 225971629740532763 0 3 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]" 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-10787" 2 PIN_FLD_DISPUTE_TYPE ENUM [0] 1 2 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]" ! Array of aggregated resources for the event-level currency dispute 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [0] allocated 4, used 4 3 PIN_FLD_RESOURCE_ID INT [0] 840 3 PIN_FLD_AMOUNT DECIMAL [0] 100 3 PIN_FLD_DISCOUNT DECIMAL [0] 0 3 PIN_FLD_DISPUTED DECIMAL [0] -2 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [1] allocated 3, used 3 3 PIN_FLD_RESOURCE_ID INT [0] 1000020 3 PIN_FLD_AMOUNT DECIMAL [0] -200 3 PIN_FLD_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_TAX DECIMAL [0] 0 ! Transfer array for an event-level noncurrency adjustment 1 PIN_FLD_TRANSFERS_INTO ARRAY [1] allocated 37, used 37 2 PIN_FLD_POID POID [0] 0.0.0.1 /item/adjustment 10779 0 2 PIN_FLD_ITEM_NO STR [0] "A1-9" 2 PIN_FLD_NAME STR [0] "Adjustment" 2 PIN_FLD_CREATED_T TSTAMP [0] (1109893932) Thu Mar 3 15:52:12 2005 2 PIN_FLD_MOD_T TSTAMP [0] (1109893932) Thu Mar 3 15:52:12 2005 2 PIN_FLD_EFFECTIVE_T TSTAMP [0] (1098855227) Tue Oct 26 22:33:47 2004 2 PIN_FLD_CLOSED_T TSTAMP [0] (0) <null> 2 PIN_FLD_DUE_T TSTAMP [0] (0) <null> 2 PIN_FLD_STATUS ENUM [0] 2 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 10787 19 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 10531 0 2 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 10531 1 2 PIN_FLD_BILL_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_AR_BILL_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ITEM_TOTAL DECIMAL [0] 0 2 PIN_FLD_ADJUSTED DECIMAL [0] 0 2 PIN_FLD_DISPUTED DECIMAL [0] 0 2 PIN_FLD_DUE DECIMAL [0] 0 2 PIN_FLD_RECVD DECIMAL [0] 0 2 PIN_FLD_TRANSFERED DECIMAL [0] 0 2 PIN_FLD_WRITEOFF DECIMAL [0] 0 2 PIN_FLD_CURRENCY INT [0] 840 2 PIN_FLD_CURRENCY_SECONDARY INT [0] 0 2 PIN_FLD_RESOURCE_ID INT [0] 1000020 2 PIN_FLD_RELATED_BILL_ITEM_OBJ POID [0] 0.0.0.1 /item/cycle_forward 8371 0 2 PIN_FLD_RESOURCE_IMPACTED ENUM [0] 0 2 PIN_FLD_ADJUSTMENT_TYPE ENUM [0] 1 2 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service] " 2 PIN_FLD_RELATED_ACTION_ITEM_OBJ POID [0] 0.0.0.0 0 0 ! Array for the event-level noncurrency adjustment 2 PIN_FLD_EVENTS ARRAY [0] allocated 2, used 2 3 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/adjustment/event 225971629740533275 0 3 PIN_FLD_DESCR STR [0] "[Customer not satisfied with service]" 2 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/adjustment/event 225971629740533275 0 2 PIN_FLD_ACCOUNT_NO STR [0] "0.0.0.1-10787" 2 PIN_FLD_TAX DECIMAL [0] 0 ! Array of aggregated resources for the event-level noncurrency adjustment 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [0] allocated 3, used 3 3 PIN_FLD_RESOURCE_ID INT [0] 840 3 PIN_FLD_AMOUNT DECIMAL [0] 100 3 PIN_FLD_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_AGGREGATE_AMOUNTS ARRAY [1] allocated 4, used 4 3 PIN_FLD_RESOURCE_ID INT [0] 1000020 3 PIN_FLD_AMOUNT DECIMAL [0] -200 3 PIN_FLD_DISCOUNT DECIMAL [0] 0 3 PIN_FLD_ADJUSTED DECIMAL [0] -4 2 PIN_FLD_ALLOCATED DECIMAL [0] 0
Makes adjustments against items in an A/R bill.
See the discussion on adjusting items in BRM Managing Accounts Receivable.
Example 1-62 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/misc 27448 5 0 PIN_FLD_AMOUNT DECIMAL [0] -2 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_DESCR STR [0] "Bad quality of service" 0 PIN_FLD_STR_VERSION INT [0] 15 0 PIN_FLD_STRING_ID INT [0] 3 0 PIN_FLD_FLAGS INT [0] 2
Example 1-63 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/misc 27448 5 0 PIN_FLD_RESULT ENUM [0] 3 0 PIN_FLD_DESCR STR [0] "Successful" 0 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/adjustment/item 220025470857536632 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/item/transfer 220025470857536120 0
Files a dispute against an item on a bill.
See the discussion on disputing items in BRM Managing Accounts Receivable.
Example 1-64 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 14672 2 0 PIN_FLD_AMOUNT DECIMAL [0] -0.5 0 PIN_FLD_CURRENCY INT [0] 840 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_DESCR STR [0] "Opening item dispute for cycle forward"
Example 1-65 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 14672 2 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_DESCR STR [0] "Successful" 0 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/dispute/item 219444928718058598 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/item/transfer 219444928718060646 0
Settles an item that is in dispute.
See the discussion on settling disputed items in BRM Managing Accounts Receivable.
Example 1-66 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 199090 0 0 PIN_FLD_AMOUNT DECIMAL [0] -3 0 PIN_FLD_CURRENCY INT [0] 840 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_DESCR STR [0] "Settlement in full"
Example 1-67 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 199090 0 0 PIN_FLD_RESULT ENUM [0] 3 0 PIN_FLD_DESCR STR [0] "Successful" 0 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/settlement/item 216964430485980618 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/item/transfer 216964430485982666 0
Performs a write-off adjustment of an item.
See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable.
Calculates the aggregated amount of each resource for an event. If there is an adjustment, dispute, or settlement associated with the event, the opcode also calculates the aggregated dispute, adjustment or settlement amount for each resource. The resource types can include currency resources, noncurrency resources, or both.
Customer Center uses the aggregated amounts to display the balance impact of an event and help the CSR determine how much of each resource for an event is actually available for A/R activities like adjustments.
See the discussion on retrieving details on available resources in BRM Managing Accounts Receivable.
Example 1-70 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 17106 0 0 PIN_FLD_EVENTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_forward_monthly 16434 0
Example 1-71 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 17106 0 0 PIN_FLD_EVENTS ARRAY [0] allocated 20, used 5 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_forward_monthly 16434 0 1 PIN_FLD_START_T TSTAMP [0] (1090220219) Sun Jul 18 23:56:59 2004 1 PIN_FLD_END_T TSTAMP [0] (1090220219) Sun Jul 18 23:56:59 2004 1 PIN_FLD_AMOUNT DECIMAL [0] 30 1 PIN_FLD_DISCOUNT DECIMAL [0] 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 7 1 PIN_FLD_RESOURCE_ID INT [0] 840 1 PIN_FLD_AMOUNT DECIMAL [0] 30 1 PIN_FLD_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_ORIG_DISPUTE_AMOUNT DECIMAL [0] -10 1 PIN_FLD_AMOUNT_ADJUSTED DECIMAL [0] -3 1 PIN_FLD_ADJUSTED DECIMAL [0] -6 1 PIN_FLD_DISPUTED DECIMAL [0] -5 1 PIN_FLD_ALLOCATED DECIMAL [0] 16 (i.e. 30-(3+6+5)) 0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 7 1 PIN_FLD_RESOURCE_ID INT [0] 1000020 1 PIN_FLD_AMOUNT DECIMAL [0] 20 1 PIN_FLD_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_ORIG_DISPUTE_AMOUNT DECIMAL [0] 0 1 PIN_FLD_AMOUNT_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_DISPUTED DECIMAL [0] 0 1 PIN_FLD_ADJUSTED DECIMAL [0] 7 1 PIN_FLD_AMOUNT_ADJUSTED DECIMAL [0] 0 1 PIN_FLD_ALLOCATED DECIMAL [0] 13 (i.e. 20-(7))
Reverses a SEPA Credit Transfer refund from the account balance and reopens the refund items that were previously closed when the refund was recorded.
This opcode is called by the pin_sepa utility to reverse a refund transation that is rejected by the bank.
See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments.
Reverses write-offs on all written-off bills and bill items associated with a written-off account or bill unit when a payment for the account or bill unit is received.
This opcode accepts an array of written-off items that need to be reversed. If there are no written-off items in the input flist, it calls the PCM_OP_AR_POL_REVERSE_WRITEOFF policy opcode to retrieve the items that need to be reversed.
To perform reversal of a written-off bill unit, you specify the POID of the written-off bill unit.
Note:
The automatic write-off reversal feature must be enabled for this opcode to perform write-off reversals. See the discussion on enabling automatic write-off reversals during payment collection in BRM Managing Accounts Receivable.See the discussion on writing off debts and reversing write-offs with your custom application in BRM Managing Accounts Receivable.
Example 1-72 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 13416 0 0 PIN_FLD_PROGRAM_NAME STR [0] "DSG-reversal" 0 PIN_FLD_REVERSALS ARRAY [0] allocated 2, used 2 1 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/writeoff 13080 1 1 PIN_FLD_FLAGS INT [0] 1 0 PIN_FLD_REVERSALS ARRAY [1] allocated 2, used 2 1 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/writeoff 14488 1 1 PIN_FLD_FLAGS INT [0] 1
Example 1-73 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 13416 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 3, used 2 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/writeoff_reversal 12696 0 1 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/writeoff_reversal/tax 13720 0 1 PIN_FLD_RESULT ENUM [0] 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/writeoff_reversal 14232 0 1 PIN_FLD_RESULT ENUM [0] 0
The opcodes in Table 1-8 maintain state information for prepaid telco sessions that are in progress.
Include the ops/asm.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-8 Active Session Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Closes, cancels, or deletes an /active_session object. |
Recommended |
|
Creates /active_session objects. |
Recommended |
|
Finds one or more /active_session objects. |
Recommended |
|
Updates information in an existing /active_session object. |
Recommended |
Closes, cancels, or deletes /active_session objects depending on the value passed in the PIN_FLD_STATUS_FLAGS field:
0 specifies to save the object.
1 specifies to delete the object.
This opcode is called by PCM_OP_ACT_END_SESSION when ending a prepaid session.
Creates /active_session objects in IMDB Cache memory or, if IMDB Cache is not installed, in the BRM database.
This opcode is called by PCM_OP_ACT_AUTHORIZE when authorizing prepaid telco sessions.
See the discussion on how BRM authorizes users to access prepaid services in BRM Telco Integration.
Example 1-76 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 53824 0 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 56128 0 0 PIN_FLD_ACTIVE_SESSION_ID STR [0] "TEL_AUTH_025" 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_USAGE_TYPE STR [0] "" 0 PIN_FLD_STATUS ENUM [0] 2 0 PIN_FLD_INHERITED_INFO SUBSTRUCT [0] allocated 20, used 2 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 3 2 PIN_FLD_NETWORK_SESSION_ID STR [0] "TEL_AUTH_025" 2 PIN_FLD_CALLING_FROM STR [0] "04222549752" 1 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 3 2 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 2 PIN_FLD_DIRECTION ENUM [0] 1 2 PIN_FLD_DIALED_NUMBER STR [0] "04222642264"
Example 1-77 Sample Output Flist
0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 53824 0 0 PIN_FLD_ACTIVE_SESSION_ID STR [0] "TEL_AUTH_025" 0 PIN_FLD_AMOUNT DECIMAL [0] -1 0 PIN_FLD_CREATED_T TSTAMP [0] (1121964081) Thu Jul 21 09:41:21 2005 0 PIN_FLD_END_T TSTAMP [0] (0) <null> 0 PIN_FLD_MOD_T TSTAMP [0] (1121964081) Thu Jul 21 09:41:21 2005 0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm 61207 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_READ_ACCESS STR [0] "" 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 56128 0 0 PIN_FLD_SESSION_ID INT [0] 0 0 PIN_FLD_START_T TSTAMP [0] (0) <null> 0 PIN_FLD_STATUS ENUM [0] 2 0 PIN_FLD_TIMEZONE_ID STR [0] "" 0 PIN_FLD_USAGE_TYPE STR [0] "" 0 PIN_FLD_WRITE_ACCESS STR [0] "" 0 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 14 1 PIN_FLD_CALLED_NUM_MODIF_MARK ENUM [0] 0 1 PIN_FLD_CALLED_TO STR [0] "04222549752" 1 PIN_FLD_CALLING_FROM STR [0] "9886193039" 1 PIN_FLD_DESTINATION_NETWORK STR [0] "" 1 PIN_FLD_ERA_TYPE INT [0] 0 1 PIN_FLD_NETWORK_SESSION_ID STR [0] "TEL_AUTH_025" 1 PIN_FLD_ORIGIN_NETWORK STR [0] "" 1 PIN_FLD_PRIMARY_MSID STR [0] "" 1 PIN_FLD_SECONDARY_MSID STR [0] "" 1 PIN_FLD_SVC_CODE STR [0] "" 1 PIN_FLD_SVC_TYPE STR [0] "" 1 PIN_FLD_TERMINATE_CAUSE ENUM [0] 0 1 PIN_FLD_USAGE_CLASS STR [0] "" 1 PIN_FLD_USAGE_TYPE STR [0] "" 0 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 14 1 PIN_FLD_BYTES_IN INT [0] 0 1 PIN_FLD_BYTES_OUT INT [0] 0 1 PIN_FLD_CALLED_NUM_MODIF_MARK ENUM [0] 0 1 PIN_FLD_CELL_ID STR [0] "" 1 PIN_FLD_DESTINATION_SID STR [0] "" 1 PIN_FLD_DIALED_NUMBER STR [0] "04222642264" 1 PIN_FLD_DIRECTION ENUM [0] 1 1 PIN_FLD_IMEI STR [0] "" 1 PIN_FLD_LOC_AREA_CODE STR [0] "" 1 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 1 PIN_FLD_ORIGIN_SID STR [0] "" 1 PIN_FLD_QOS_NEGOTIATED ENUM [0] 0 1 PIN_FLD_QOS_REQUESTED ENUM [0] 0 1 PIN_FLD_SUB_TRANS_ID STR [0] ""
Finds one or more /active_session objects.
By default, this opcode searches for /active_session objects based on the following criteria passed in the input flist:
Active session ID
Status
Updates information in an existing /active_session object.
This opcode is called by PCM_OP_ACT_UPDATE_SESSION when updating information about a prepaid telco session.
If PCM_OP_ASM_UPDATE_ACTIVE_SESSION is called with PIN_FLD_CREDIT_THRESHOLDS in the input flist, it uses the credit threshold information to update the /active_session object.
See the following discussions:
How BRM updates prepaid sessions in BRM Telco Integration
How BRM creates credit threshold breach notifications in BRM Telco Integration
Example 1-80 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_ACTIVE_SESSION_ID STR [0] "4085551212-4085557894-109539771-network" 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_START_T TSTAMP [0] (1095379771) Thu Sep 15 17:09:31 2004 0 PIN_FLD_END_T TSTAMP [0] (1095380041) Thu Sep 16 17:14:01 2004 0 PIN_FLD_AMOUNT DECIMAL [0] 25.0
The opcodes in Table 1-9 are used for balance monitoring.
Include the ops/monitor.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-9 Balance Monitoring FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Updates the list of members in hierarchy-type balance monitors. See the discussion on updating hierarchy-type monitors automatically in BRM Managing Accounts Receivable. |
Recommended |
|
Updates the list of members in paying responsibility-type balance monitors. See the discussion on updating paying responsibility-type monitors automatically in BRM Managing Accounts Receivable. |
Recommended |
|
Removes members from hierarchy-type and paying responsibility-type balance monitors. See the discussion on removing members from hierarchy- and paying responsibility-type monitors in BRM Managing Accounts Receivable. |
Recommended |
|
Adds members to paying responsibility-type balance monitors automatically. See the discussion on adding members to newly created balance monitors automatically in BRM Managing Accounts Receivable. |
Recommended |
|
Adds members to hierarchy-type balance monitors automatically. See the discussion on adding members to newly created balance monitors automatically in BRM Managing Accounts Receivable. |
Recommended |
|
Adds members to subscription-type balance monitors automatically. See the discussion on adding members to newly created balance monitors automatically in BRM Managing Accounts Receivable. |
Recommended |
|
Updates the list of members in subscription-type balance monitors. See the discussion on updating subscription-type monitors automatically in BRM Managing Accounts Receivable. |
Recommended |
|
Adds members to a balance monitor automatically. See the discussion on adding and removing balance monitor members automatically in BRM Managing Accounts Receivable. |
Recommended |
|
Generates events to indicate that an /ordered_balgrp object was created, modified, or deleted. See the discussion on adding a monitor group to a member's /ordered_balgrp object in BRM Managing Accounts Receivable. |
Recommended |
Updates the list of members in hierarchy-type balance monitors. When an account hierarchy changes (for example, when an account is added), this opcode is called to add members to any balance monitors associated with the hierarchy.
This opcode is triggered by the following events:
/event/notification/service/pre_purchase
/event/group/member
/event/audit/subscription/transfer
See the discussion on updating hierarchy-type monitors automatically in BRM Managing Accounts Receivable.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Updates the list of members in paying responsibility-type balance monitors. When an account hierarchy changes (for example, when a service is added), this opcode is called to add members to any balance monitors associated with the hierarchy.
This opcode is triggered by the following events:
/event/notification/service/pre_purchase
/event/customer/billinfo/modify
/event/notification/bal_grp/modify
See the discussion on updating paying responsibility-type monitors automatically in BRM Managing Accounts Receivable.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Removes members from hierarchy-type and paying responsibility-type balance monitors. When an account hierarchy changes (for example, when accounts are moved to another hierarchy), this opcode is called to delete members from any associated balance monitors.
This opcode is triggered by the following events:
/event/customer/billinfo/modify
/event/group/member
/event/notification/bal_grp/modify
See the discussion on removing members from hierarchy- and paying responsibility-type monitors in BRM Managing Accounts Receivable.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Adds members to paying responsibility-type balance monitors automatically. This opcode takes as input the parent of a hierarchy group and automatically adds to the balance monitor the following members:
The parent account and its services
All nonpaying child accounts and their services
This opcode is called by the PCM_OP_MONITOR_SETUP_MEMBERS wrapper opcode.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Adds members to hierarchy-type balance monitors automatically. This opcode takes as input the parent of a hierarchy group and automatically adds to the balance monitor the following members:
The parent account and its services
All paying child accounts and their services
All nonpaying child accounts and their services
This opcode is called by the PCM_OP_MONITOR_SETUP_MEMBERS wrapper opcode.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Adds members to subscription-type balance monitors automatically. This opcode takes as input the parent subscription service and automatically adds to the balance monitor the following members:
The parent subscription service
All member services
This opcode is called by the PCM_OP_MONITOR_SETUP_MEMBERS wrapper opcode.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Updates the list of members in subscription-type balance monitors. When a subscription group changes, for example, when a member service is added, this opcode is called to add members to any balance monitors associated with the subscription.
This opcode is triggered by the /event/notification/service/pre_purchase notification event.
See the discussion on updating subscription-type monitors automatically in BRM Managing Accounts Receivable.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Adds members to a balance monitor automatically. This opcode is triggered by the /event/group/sharing/monitor/create event.
This opcode is a wrapper opcode that, according to the monitor group type, calls other standard opcodes to add members to a balance monitor. The opcode called depends on the value of the PIN_FLD_TYPE_STR field, listed in Table 1-10, passed in the input flist:
Table 1-10 PIN_FLD_TYPE_STR Values
PIN_FLD_TYPE_STR Value | Monitor Group Type | Opcode Called |
---|---|---|
H_CE |
Hierarchy |
|
PR_CE |
Paying responsibility |
|
SUB_CE |
Subscription |
See the discussion on adding and removing balance monitor members automatically in BRM Managing Accounts Receivable.
Note:
Although this opcode uses Required transaction handling, it never opens a separate transaction. It can be called only through the event notification feature and requires that a transaction already be open. The opcode errors out if a transaction is not already open.Generates the following events to indicate that an /ordered_balgrp object was created, modified, or deleted:
When an /ordered_balgrp object is created or modified, generates an /event/billing/monitor/update event.
When an /ordered_balgrp object is deleted, generates an /event/billing/monitor/delete event.
This opcode is called directly by the PCM_OP_SUBSCRIPTION_ORDERED_BALGRP opcode. See the discussion on adding a monitor group to a member's /ordered_balgrp object in BRM Managing Accounts Receivable.
Example 1-82 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 89457 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip/gprs 3974 0 0 PIN_FLD_ORDERED_BALGRP_OBJ POID [0] 0.0.0.1 /ordered_balgrp 121 0 PIN_FLD_ACTION STR [0] "Modify" 0 PIN_FLD_MONITOR_IMPACTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group/monitor 3421 1
Use the policy opcodes in Table 1-11 to trigger service life cycle state changes based on balance adjustments or to customize algorithms to select the default balance group of a bill unit.
Include the ops/bal.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-11 Balance FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Creates the offer profile threshold notification for both in-session and out-of-session charging. This policy opcode is called by the PCM_OP_BAL_APPLY_MULTI_BAL_IMPACTS opcode and the PCM_OP_RESERVE_EXTEND opcode. See the discussion on the PCM_OP_BAL_POL_APPLY_MULTI_BAL_IMPACTS policy opcode in BRM Setting Up Pricing and Rating. |
Recommended |
|
After a balance is adjusted for a service that uses a custom life cycle, triggers any required service state change and updates the state expiration date in the /service object. By default, this policy opcode supports the sample prepaid service life cycle. You can customize it to support other custom service life cycles. See the discussion on managing service life cycles in BRM Managing Customers. |
Recommended |
|
Can be customized to provide a custom algorithm for selecting the default balance group of a bill unit and the default service of the default balance group. See the discussion on specifying the default balance group of a bill unit in BRM Managing Accounts Receivable and on specifying the default service of the default balance group in BRM Managing Accounts Receivable. |
Recommended |
Creates the offer profile threshold notification for both in-session and out-of-session charging.
When you start your BRM system, BRM caches the set of unique resource IDs that you have configured in your offer profiles. This policy opcode processes the threshold calculation logic only if the resource ID is one of the entries in its cache.
This policy opcode is called by the PCM_OP_BAL_APPLY_MULTI_BAL_IMPACTS opcode and the PCM_OP_RESERVE_EXTEND opcode.
See the discussion on the PCM_OP_BAL_POL_APPLY_MULTI_BAL_IMPACTS policy opcode in BRM Setting Up Pricing and Rating.
By default, after a balance is adjusted for a service that uses a custom life cycle, triggers service state changes and then updates state expiration dates as follows:
Checks the SubscriberLifeCycle business parameter associated with a service's bill unit:
If the parameter is set to disabled, returns the flow to the calling opcode.
If the parameter is set to enabled, continues the triggering process.
Gets the current life cycle state of the service from the PIN_FLD_LIFECYCLE_STATE field in the /service object.
If the service POID is not in the opcode's input flist, calls the PCM_OP_SEARCH opcode to find all the services associated with the balance group and the /account object. If any of the retrieved services are in the Recharge Only or Credit Expired state, changes their state to Active.
Calls the PCM_OP_BAL_GET_BALANCES opcode to get the sum of the balances in the service balance group.
Calls the PCM_OP_CUST_UPDATE_SERVICES opcode to do the following:
If the service state is Active and the balance group has reached its credit limit, change the state to Recharge Only.
If the service state is Recharge Only and the balance is replenished, change the state to Active.
If the service state is Credit Expired and the balance is replenished, change the state to Active and update the PIN_FLD_SERVICE_STATE_EXPIRATION_T value in the /service object as follows:
If a voucher is applied to the balance, compare the voucher's validity period with the Active state's expiration period (PIN_FLD_SERVICE_STATE_EXPIRATION_T field in the /config/lifecycle_states object associated with the service), and update the expiration time based on the greater of the two periods.
If a voucher is not applied, update the expiration time based on the Active state's expiration period.
If the service state is Preactive or Active and a voucher is used to increase the balance, compare the voucher's validity period with the current state's expiration period, and update the expiration time based on the greater of the two periods.
Note:
Oracle recommends that top-ups not be performed in the Preactive state.By default, this policy opcode supports the sample prepaid service life cycle. You can customize it to support other custom service life cycles.
This policy opcode is called by the OP_BAL_APPLY_MULTI_BAL_IMPACTS opcode.
See the discussion on managing service life cycles in BRM Managing Customers.
Allows customization during selection of the default balance group of a bill unit and the default service of the default balance group.
This opcode is not called by any opcode.
See the discussion on specifying the default balance group of a bill unit in BRM Managing Accounts Receivable and Specifying the default service of the default balance group in BRM Managing Accounts Receivable.
The opcodes in Table 1-12 adjust account balances.
Include the ops/bal.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-12 Balance FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Updates the balances of monitor groups and performs threshold checking. This opcode is used for balance monitoring. See the discussion on updating monitor balances and sending credit limit or threshold breach notifications in BRM Managing Accounts Receivable. |
Recommended |
|
Changes a sub-balance's validity period. See the discussion on modifying a sub-balance in BRM Managing Accounts Receivable. |
Recommended |
|
Returns the balance groups and services for all the account's /billinfo objects or for a single /billinfo object. See the discussion on finding a balance group and service for bill units in BRM Managing Accounts Receivable. |
Recommended |
|
Returns the main contact information for an account and a list of the account's /billinfo objects with the default /billinfo marked. See the discussion on finding a bill unit in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves the list of balance monitors owned by a specified account or service. This opcode is used for balance monitoring. See the discussion on retrieving the balance monitors owned by an account or service in BRM Managing Accounts Receivable. |
Recommended |
|
Returns the POID of a /balance_group object and, optionally, the balances it contains. See the discussion on finding a balance group and its balances in BRM Managing Accounts Receivable. |
Recommended |
|
Gets the balance groups and services for a /billinfo object. See the discussion on finding a balance group and service for bill units in BRM Managing Accounts Receivable. |
Recommended |
|
Gets the real-time balances for a service from ECE. |
Recommended |
|
Retrieves the balance for a specified balance monitor. This opcode is used for balance monitoring. See the discussion on retrieving the balances for a monitor group in BRM Managing Accounts Receivable. |
Recommended |
|
Retrieves a customer's current reservation balance. |
Recommended |
|
Finds and then locks a balance group's /reservation_list object. |
Recommended |
Updates the balances of monitor groups and performs threshold checking. When thresholds are crossed, for each monitor group this opcode generates a single notification event for all crossed thresholds. This opcode is used for balance monitoring.
See the discussion on updating monitor balances and sending credit limit or threshold breach notifications in BRM Managing Accounts Receivable.
Example 1-86 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /event/delayed/session/telco/gsm 22537 0 PIN_FLD_OBJECT POID [0] 0.0.0.1 /monitor_queue 245 0 PIN_FLD_MONITOR_IMPACTS ARRAY [0] allocated 4, used 4 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 59967 10 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group/monitor 89993 0 1 PIN_FLD_AMOUNT DECIMAL [0] 18.0 1 PIN_FLD_RESOUCE_ID INT [0] 840 0 PIN_FLD_MONITOR_SUB_BAL_IMPACTS ARRAY [0] allocated 3, used 3 1 PIN_FLD_BAL_GROUP_OBJ POID [0] 0.0.0.1 /balance_group/monitor 89993 0 1 PIN_FLD_RESOUCE_ID INT [0] 840 1 PIN_FLD_SUB_BALANCES ARRAY [0] allocated 4, used 4 2 PIN_FLD_AMOUNT DECIMAL [0] 4.0 2 PIN_FLD_VALID_FROM TSTAMP [0] (1106709786) Tue Jan 25 19:23:06 2005 2 PIN_FLD_VALID_TO TSTAMP [0] (1111737600) Fri Mar 25 00:00:00 2005 2 PIN_FLD_CONTRIBUTOR_STR STR [0] "sample string"
Changes a sub-balance's validity period.
See the discussion on modifying a sub-balance in BRM Managing Accounts Receivable.
Example 1-88 Sample Input Flist
0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 8958 21 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 11518 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_RESOURCE_ID INT [0] 840 0 PIN_FLD_ELEMENT_ID INT [0] 458971904 0 PIN_FLD_SUB_BALANCES ARRAY [0] allocated 3, used 3 1 PIN_FLD_VALID_FROM TSTAMP [0] (1056348600) Mon Jun 23 00:00:00 2003 1 PIN_FLD_VALID_TO TSTAMP [0] (1058857200) Tue Jul 22 00:00:00 2003 0 PIN_FLD_SUB_BALANCES ARRAY [1] allocated 3, used 3 1 PIN_FLD_VALID_FROM TSTAMP [0] (1056365200) 1 PIN_FLD_VALID_TO TSTAMP [0] (1058857200) Tue Jul 22 00:00:00 2003
Returns the balance groups and services for all the account's /billinfo objects or for a single /billinfo object. You can pass flags to get the balance group name and service login aliases.
See the discussion on finding a balance group and service for bill units in BRM Managing Accounts Receivable.
Example 1-89 Sample Input Flist
This sample flist shows the input of the opcode called for an account.
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 18
This sample flist shows the input of the opcode called for a single /billinfo object.
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 16496 18
Example 1-90 Sample Output Flist
This sample flist shows the output of the opcode called for an account and returning balances for all the /billinfo objects for the account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 18 0 PIN_FLD_RESULTS ARRAY [0] allocated 3, used 3 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 18800 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (1)" 0 PIN_FLD_RESULTS ARRAY [1] allocated 5, used 5 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 17776 0 1 PIN_FLD_NEXT_ITEM_POID_LIST STR [0] "" 1 PIN_FLD_ITEM_POID_LIST STR [0] "" 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/email 20336 8 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (1)" 0 PIN_FLD_RESULTS ARRAY [2] allocated 5, used 5 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 19824 0 1 PIN_FLD_NEXT_ITEM_POID_LIST STR [0] "" 1 PIN_FLD_ITEM_POID_LIST STR [0] "" 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 19184 8 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (2)"
This sample flist shows the output of the opcode called for a single /billinfo object.
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 19568 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 3, used 3 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 18800 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (1)" 0 PIN_FLD_RESULTS ARRAY [1] allocated 5, used 5 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 17776 0 1 PIN_FLD_NEXT_ITEM_POID_LIST STR [0] "" 1 PIN_FLD_ITEM_POID_LIST STR [0] "" 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/email 20336 8 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (1)"
Returns the main contact information for an account and a list of the account's /billinfo objects with the default /billinfo marked.
Customer Center calls this opcode to get contact and billing information for an account.
See the discussion on finding a bill unit in BRM Managing Accounts Receivable.
Example 1-92 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 16496 18 0 PIN_FLD_NAMEINFO ARRAY [1] allocated 19, used 19 1 PIN_FLD_ADDRESS STR [0] "ABC" 1 PIN_FLD_CANON_COMPANY STR [0] "" 1 PIN_FLD_CANON_COUNTRY STR [0] "US" 1 PIN_FLD_CITY STR [0] "Clara" 1 PIN_FLD_COMPANY STR [0] "" 1 PIN_FLD_CONTACT_TYPE STR [0] "Account holder" 1 PIN_FLD_COUNTRY STR [0] "USA" 1 PIN_FLD_EMAIL_ADDR STR [0] "" 1 PIN_FLD_FIRST_CANON STR [0] "vidya" 1 PIN_FLD_FIRST_NAME STR [0] "Vidya" 1 PIN_FLD_LAST_CANON STR [0] "vidya" 1 PIN_FLD_LAST_NAME STR [0] "Vidya" 1 PIN_FLD_MIDDLE_CANON STR [0] "" 1 PIN_FLD_MIDDLE_NAME STR [0] "" 1 PIN_FLD_SALUTATION STR [0] "Mr." 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_STATE STR [0] "CA" 1 PIN_FLD_TITLE STR [0] "" 1 PIN_FLD_ZIP STR [0] "88111" 0 PIN_FLD_BILLINFO ARRAY [0] allocated 8, used 8 1 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 19568 7 1 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 17008 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 19568 1 1 PIN_FLD_LAST_BILL_T TSTAMP [0] (1097384009) Sat Oct 9 21:53:29 2004 1 PIN_FLD_NEXT_BILL_T TSTAMP [0] (1099987200) Tue Nov 9 00:00:00 2004 1 PIN_FLD_PAY_TYPE ENUM [0] 10001 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (1)" 1 PIN_FLD_FLAGS INT [0] 1 0 PIN_FLD_BILLINFO ARRAY [1] allocated 8, used 8 1 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 18032 6 1 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 20080 0 1 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 18032 1 1 PIN_FLD_LAST_BILL_T TSTAMP [0] (1097384009) Sat Oct 9 21:53:29 2004 1 PIN_FLD_NEXT_BILL_T TSTAMP [0] (1099987200) Tue Nov 9 00:00:00 2004 1 PIN_FLD_PAY_TYPE ENUM [0] 10001 1 PIN_FLD_BILLINFO_ID STR [0] "Billinfo (2)" 1 PIN_FLD_FLAGS INT [0] 0
Retrieves the list of balance monitors owned by a specified account or service. This opcode is used for balance monitoring.
See the discussion on retrieving the balance monitors owned by an account or service in BRM Managing Accounts Receivable.
Returns the POID of a /balance_group object and, optionally, the balances it contains.
This opcode also returns balances that start on first usage (when they are impacted for the first time) whose validity periods have not yet been set.
If no balance is available, this opcode returns 0.
See the discussion on finding a balance group and its balances in BRM Managing Accounts Receivable.
Gets the balance groups and services for a /billinfo object.
See the discussion on finding a balance group and service for bill units in BRM Managing Accounts Receivable.
Gets the real-time balances for a service from ECE. This opcode can be called by a custom application.
See the discussion on configuring the Connection Manager for real-time balances for a service from ECE in the ECE documentation.
Retrieves the balance for a specified balance monitor. This opcode is used for balance monitoring.
See the discussion on retrieving the balances for a monitor group in BRM Managing Accounts Receivable.
Example 1-97 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /balance_group/monitor 254 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 89457 0 PIN_FLD_DATE_BALANCES ARRAY [0] allocated 1, used 1 1 PIN_FLD_BAL_DATE TSTAMP [0] (1111737600) Fri Mar 25 00:00:00 2005
Example 1-98 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /balance_group/monitor 254 0 PIN_FLD_BALANCES ARRAY [0] allocated 5, used 5 1 PIN_FLD_CREDIT_LIMIT DECIMAL [0] 100.0 1 PIN_FLD_CREDIT_FLOOR DECIMAL [0] 0.0 1 PIN_FLD_CREDIT_THRESHOLDS INT [0] 95 1 PIN_FLD_CURRENT_BAL DECIMAL [0] 53.0 1 PIN_FLD_DATE_BALANCES ARRAY [0] allocated 2, used 2 2 PIN_FLD_BAL_DATE TSTAMP [0] (1111737600) Fri Mar 25 00:00:00 2005 2 PIN_FLD_CURRENT_BAL DECIMAL [0] 22.1
Retrieves a customer's current reservation balance.
Example 1-99 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 175992 4 0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 1423 0
Example 1-100 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 175992 4 0 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /bill_info 172664 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 3215876 11 0 PIN_FLD_RESERVATION_LIST ARRAY [0] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /reservation_list 2426879 1 PIN_FLD_BALANCES ARRAY [0] allocated 1, used 1 2 PIN_FLD_AMOUNT DECIMAL [0] 15.0
If the value of the balance_coordinator entry in the Connection Manager (CM) pin.conf file is 0, the opcode locks the balance group's /reservation_list object. If a reservation_list object cannot be found, the opcode creates one and then locks it. If the value of the balance_coordinator entry in the CM pin.conf file is 1, the opcode locks the /balance_group object.
This opcode is called by the Services framework AAA opcodes before processing the incoming authentication, authorization, and accounting (AAA) requests for prepaid usage.
See the discussion on updating and reauthorizing prepaid sessions in BRM Telco Integration.
The Base opcodes listed in Table 1-13 may be used by any of the opcodes in the BRM system to perform basic operations. Unlike all other opcodes, which belong to the Connection Manager, the base opcodes are part of the Data Manager.
Note:
Each of the DMs included with BRM uses a different implementation of the base opcodes depending on the DM and the storage system it interacts with. For example, the base opcode PCM_OP_SEARCH is implemented differently for the DM_ORACLE and the DM_LDAP.The Opcode Index lists opcodes that link to detailed information in the opcode descriptions. The opcode description of each opcode includes links to the opcode's flist specifications.
For information about LDAP base opcodes, see "LDAP Base Opcodes".
For information about the Email Data Manager opcodes, see "Email Data Manager Opcodes".
For information common to all opcodes, see the discussion on calling PCM opcodes in BRM Developer's Guide.
Include the ops/base.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Base Opcodes | Description | Use |
---|---|---|
Creates a large number of objects of the same type. See the discussion on creating a large number of objects in BRM Developer's Guide. |
Recommended |
|
Deletes a large number of objects of the same type. See the discussion on deleting a large number of objects in BRM Developer's Guide. |
Recommended |
|
Updates fields in a large number of objects of the same type. See the discussion on editing a large number of objects in BRM Developer's Guide. |
Recommended |
|
Creates an object. See the discussion on creating objects in BRM Developer's Guide. |
Recommended |
|
Deletes fields from an object. See the discussion on deleting fields in objects in BRM Developer's Guide. |
Recommended |
|
Deletes an object. See the discussion on deleting objects in BRM Developer's Guide. |
Recommended |
|
Retrieves the Data Dictionary. |
Recommended |
|
Retrieves the virtual time that is set in the BRM Connection Manager (CM). |
Recommended |
|
Searches for objects across multiple BRM database schemas. See the discussion on performing a global search in BRM Developer's Guide. |
Recommended |
|
Ends a global step search. See the discussion on ending a global step search in BRM Developer's Guide. |
Recommended |
|
Receives the next set of global step search results. See the discussion on getting the next set of search results from a global step search in BRM Developer's Guide. |
Recommended |
|
Step-searches across multiple BRM database schemas. See the discussion on performing a global step search in BRM Developer's Guide. |
Recommended |
|
Increments fields in an object. See the discussion on incrementing fields in objects in BRM Developer's Guide. |
Recommended |
|
Reads fields from an object. See the discussion on reading fields in an object BRM Developer's Guide. |
Recommended |
|
Reads an entire object. See the discussion on reading an entire object in BRM Developer's Guide. |
Recommended |
|
Searches for objects in a BRM database schema. See the discussion on performing single-schema searches in BRM Developer's Guide. |
Recommended |
|
Modifies the Data Dictionary. |
Recommended |
|
Ends a step search. See the discussion on ending a step search in BRM Developer's Guide. |
Recommended |
|
Receives the next set of step-search results. See the discussion on getting the next set of search results from a step search in BRM Developer's Guide. |
Recommended |
|
Step-searches for objects in a BRM database schema. See the discussion on performing single-schema step searches in BRM Developer's Guide. |
Recommended |
|
Tests directory server connections. |
Recommended |
|
Aborts an open PCM transaction. See the discussion on cancelling transactions in BRM Developer's Guide. |
Recommended |
|
Commits an open PCM transaction. See the discussion on committing transactions in BRM Developer's Guide. |
Recommended |
|
Opens a PCM transaction. See the discussion on using transactions in BRM Developer's Guide. |
Recommended |
|
Aborts an open PCM transaction. See the discussion on cancelling transactions in BRM Developer's Guide |
Recommended |
|
Commits an open PCM transaction. See the discussion on committing transactions in BRM Developer's Guide. |
Recommended |
|
Opens a PCM transaction. See the discussion on using transactions in BRM Developer's Guide. |
Recommended |
|
Verifies that an external system can commit a transaction. See the discussion on customizing how to verify the readiness of an external system to commit a transaction opcode in BRM Developer's Guide. |
Recommended |
|
Writes fields to an object. See the discussion on writing fields in objects in BRM Developer's Guide. |
Recommended |
This opcode creates a large number of objects of the same type.
It returns the POID type of the objects created.
See the discussion on creating a large number of objects in BRM Developer's Guide.
This opcode deletes a large number of objects of the same type and all the fields in the objects. You specify the conditions the objects must meet in a query in the input flist.
It returns the POID type and the range of POIDs of the deleted objects.
See the discussion on deleting a large number of objects in BRM Developer's Guide.
This opcode updates the value of the same fields in a large number of objects that meet the conditions you specify in the query in the input flist. The opcode finds the accounts that meet the criteria specified in PIN_FLD_ARGS and updates them with the information in PIN_FLD_VALUES.
Specify the fields and values to set, along with the POID type of the object, in the input flist. You must update at least one field.
Use the PCM_OPFLG_ADD_ENTRY flag to create array elements. If the specified array element already exists, this flag is ignored. PCM_OPFLG_ADD_ENTRY cannot be used to create ordinary fields.
The opcode returns the POID type and count of the object whose fields were updated.
See the discussion on editing a large number of objects in BRM Developer's Guide.
Example 1-105 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account -1 1 0 PIN_FLD_TEMPLATE STR [0] "update X for /account where F1 like V1 " 0 PIN_FLD_FLAGS INT[0] 512 0 PIN_FLD_ARGS ARRAY [1] 1 PIN_FLD_NAMEINFO ARRAY [*] 2 PIN_FLD_FIRST_CANON STR [0] "K%" 0 PIN_FLD_VALUES ARRAY [0] 1 PIN_FLD_STATUS_FLAGS INT [0] 1
This opcode creates a new object of the type specified on the input flist.
It returns the POID of the object created. If you use the PCM_OPFLG_READ_RESULT flag, it also returns all fields from the created object, including array elements and substructures.
See the discussion on creating objects in BRM Developer's Guide.
Deletes arrays or array elements from an object.
Returns the POID of the object from which an element was deleted, including the new revision number.
You must delete at least one array element. Specify the POID of the object from which to delete elements on the input flist. Also specify the array element ID for each element to be deleted. To delete an entire array, put the array on the input flist and use the element ID, PCM_RECID_ALL.
See the discussion on deleting fields in objects in BRM Developer's Guide.
Deletes a specified object and all its fields.
Returns the POID of the deleted object.
See the discussion on deleting objects in BRM Developer's Guide.
Retrieves the Data Dictionary.
Note:
Oracle recommends to use the pin_deploy utility to invoke this opcode.Retrieves the virtual time that is set in the BRM Connection Manager (CM).
Important:
Use this opcode in test environments only. Do not use it in a production system.Use this opcode in a test environment when you want to retrieve the virtual time for a custom application that is connected to the CM.
You set the virtual time in the pin_virtual_time entry of the CM configuration file (pin.conf) by first running the pin_virtual_time utility. If the virtual time is not set, this opcode returns the system time.
This opcode takes a dummy account POID as input.
Note:
To set the virtual time, see pin_virtual_time.To perform a global search, use the PCM_OP_GLOBAL_SEARCH opcode. This opcode searches for objects across multiple BRM database schemas.
This opcode enables a client application to search for objects that meet a set of criteria defined by the client application. Use this opcode when you do not know enough about the target object to specify its database schema. If you know the specific schema to search, use PCM_OP_SEARCH instead.
See the discussion on performing a global search in BRM Developer's Guide.
Ends global step-searching initiated by the PCM_OP_GLOBAL_STEP_SEARCH opcode.
PCM_OP_GLOBAL_STEP_SEARCH sets the criteria for a step search, sets the size of the results, and initiates the search. See that opcode for details. The PCM_OP_GLOBAL_STEP_NEXT opcode only receives results; it does not do a search. This opcode ends the step search, freeing the database cursor and returning any shared memory allocated for the results by the DM.
See the discussion on ending a global step search in BRM Developer's Guide.
Receives the next set of search results from a step search.
This opcode enables a client application to receive the next set of results from a search initiated by the PCM_OP_GLOBAL_STEP_SEARCH opcode.
See the discussion on getting the next set of search results from a global step search in BRM Developer's Guide.
Step-searches for objects across multiple BRM database schemas. This opcode enables a client application to define search criteria, search for objects using that criteria, and receive a specified number of result sets. This opcode is used for global searches across multiple schemas. If you are searching for an object in a known schema, use PCM_OP_STEP_SEARCH instead.
See the discussion on performing a global step search in BRM Developer's Guide.
Increments or decrements one or more fields in an object.
This opcode returns the POID of the object whose fields were updated, including the new revision number. It also returns the revised values of the selected fields, unless the PCM_OPFLG_NO_RESULTS flag is used.
See the discussion on incrementing fields in objects in BRM Developer's Guide.
Reads one or more fields in an object.
This opcode allows a client application to read specified fields in an object. Specify the POID of the object along with the list of fields to be read on the input flist. The POID is mandatory while the fields are optional. If there are no fields present, only the POID is read and returned.
This opcode returns the POID of the object from which the fields were read, along with the specified fields and their values.
See the discussion on reading fields in an object in BRM Developer's Guide.
Reads an entire object from the database.
Specify the POID of the object to read on the input flist.
The POID of the object and all fields in the object are returned, including array elements and substructures.
See the discussion on reading an entire object in BRM Developer's Guide.
Searches for objects in a single BRM database schema.
This opcode enables a client application to search for objects that meet a set of criteria defined by the client application.
Note:
If two objects have an encrypted field that contains the same data encrypted with different keys, a PCM_OP_SEARCH for that value returns only one object.Important:
Use this opcode only to search a single, known database schema. If your BRM implementation uses multiple schemas and you need to search more than one, use the PCM_OP_GLOBAL_SEARCH opcode.Note:
When using the PCM_OP_SEARCH opcode, you can apply the order by clause only to the top-level arrays. The order by clause cannot be applied to subarrays.See the discussion on performing single-schema searches in BRM Developer's Guide.
Modifies the Data Dictionary.
Note:
Oracle recommends to use the pin_deploy utility to invoke this opcode.Ends a step search initiated by the PCM_OP_STEP_SEARCH opcode.
This opcode must be used in combination with the PCM_OP_STEP_SEARCH and PCM_OP_STEP_NEXT opcodes to complete the step search cycle. PCM_OP_STEP_SEARCH initiates step searching and gets the first set of PIN_FLD_RESULT elements. PCM_OP_STEP_NEXT retrieves the next specified number of results. PCM_OP_STEP_END ends the step search.
See the discussion on ending a step search in BRM Developer's Guide.
Retrieves the next set of search results from a step search.
This opcode enables a client application to receive the next set of results from a search initiated by PCM_OP_STEP_SEARCH. Results of the search are returned in discrete chunks.
See the discussion on getting the next set of search results from a step search in BRM Developer's Guide.
Searches for objects in a single BRM database schema.
Important:
Use this opcode only to search a single, known database schema. If your BRM implementation uses multiple schemas and you need to search more than one, use the PCM_OP_GLOBAL_STEP_SEARCH opcode.See the discussion on performing a single-schema step search in BRM Developer's Guide.
Tests directory server connections.
Verifies that the LDAP Data Manager and the directory server daemon/service processes are running and communicating with each other.
Aborts an open PCM transaction.
See the discussion on cancelling transactions in BRM Developer's Guide.
Note:
The PIN_FLD_TRANS_ID field in the input flist is reserved for internal use.Commits an open transaction on a PCM context.
See the discussion on committing transactions in BRM Developer's Guide.
Note:
The PIN_FLD_TRANS_ID and PIN_FLD_FLAGS fields in the input flist are reserved for internal use.Opens a transaction on a PCM context.
See the discussion on using transactions in BRM Developer's Guide.
Use the following flags to open different types of transactions:
PCM_TRANS_OPEN_READONLY. See the discussion on read-write transactions in BRM Developer's Guide.
PCM_TRANS_OPEN_READWRITE. See the discussion on read-only transactions BRM Developer's Guide.
PCM_TRANS_OPEN_LOCK_OBJ. See the discussion on transaction with a locked objects in BRM Developer's Guide.
The following input flist fields are reserved for internal use:
PIN_FLD_TRANS_ID
PIN_FLD_TRANS_TIMEOUT_IN_SECS
PIN_FLD_FLAGS
Aborts an open PCM transaction.
The return flist from PCM_OP_TRANS_POL_OPEN becomes the transaction ID flist; it can contain whatever you want to put in it. That flist then becomes the input to PCM_OP_TRANS_POL_ABORT. The return flist from this opcode is ignored.
See the discussion on cancelling transactions in BRM Developer's Guide.
Commits the current transaction.
The return flist from PCM_OP_TRANS_POL_OPEN becomes the transaction ID flist; it can contain whatever you want to put in it. That flist then becomes the input to PCM_OP_TRANS_POL_COMMIT. The return flist from this opcode is ignored.
See the discussion on committing transactions in BRM Developer's Guide.
Gets the same flist that PCM_OP_TRANS_OPEN does. The return flist then becomes the transaction ID flist; it can contain whatever you want to put in it. That flist then becomes the input to PCM_OP_TRANS_POL_COMMIT and PCM_OP_TRANS_POL_ABORT. The return flists from those opcodes are ignored.
See the discussion on using transactions in BRM Developer's Guide.
Enables BRM to confirm the readiness of an external system to commit a transaction.
See the discussion on customizing how to verify the readiness of an external system to commit a transaction opcode in BRM Developer's Guide.
Writes fields in an object.
This opcode allows a client application to set the values of fields in an object. Specify the fields and values to set, along with the POID of the object, on the input flist. You must update at least one field.
Returns the POID of the object whose fields were written, including the new revision number.
See the discussion on writing fields in objects in BRM Developer's Guide.
The opcodes listed in Table 1-14 manage batch files for suspended EDRs stored in the BRM database as /suspended_batch objects.
Include the ops/batch_suspense.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-14 Batch Suspense Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Deletes suspended batches from the BRM database. Available with Suspense Manager. See the discussion on deleting records for suspended batches in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Resubmits the batches which have been suspended by the pipeline. See the discussion on resubmitting Suspended Batches in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Writes off suspended batches. See the discussion on writing off suspended batches in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
Deletes suspended batches from the BRM database.
Important:
This opcode is available to Suspense Manager customers only.See the discussion on deleting records for suspended batches in BRM Configuring Pipeline Rating and Discounting.
Initiates batch resubmission. During the resubmission process, suspended batches are sent back through their original rating pipelines. The Suspense Management Center calls this opcode when the user chooses to resubmit suspended batches.
See the discussion on resubmitting Suspended Batches in BRM Configuring Pipeline Rating and Discounting.
Example 1-108 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_batch/1rec 0 0 0 PIN_FLD_PROGRAM_NAME STR [0] "TestNap" 0 PIN_FLD_BATCH_OVERRIDE_REASONS STR [0] 1.2, 2.2 0 PIN_FLD_SUSPENDED_BATCH_OBJS ARRAY [0] allocated 13, used 13 1 PIN_FLD_SUSPENDED_BATCH_OBJ POID [0] 0.0.0.1 /suspended_batch/telco 12530 0
Writes off the batches which are at the ”Suspended” stage because of some business rule. The GUI calls this opcode to write off the batches.
Important:
This opcode is available to Suspense Manager customers only.See the discussion on writing off suspended batches in BRM Configuring Pipeline Rating and Discounting.
Use the opcodes in Table 1-15 to customize billing and A/R processes.
Include the ops/bill.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-15 Billing FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Performs modifications to a bill object before it is committed to the BRM database. See the discussion on customizing how to modify a bill object in BRM Managing Accounts Receivable. |
Recommended |
|
Calculates the due date and the payment collection date of a bill (/bill object). See the following discussions:
|
Recommended |
|
Determines whether a bill should be suppressed. See the discussion on how BRM determines whether bills should be suppressed in BRM Configuring and Running Billing. |
Recommended |
|
Searches for all events associated with an account. See the discussion on finding events associated with an account in BRM Managing Accounts Receivable. |
Recommended |
|
Gets event specific details based on the type of the event. |
Recommended |
|
Assigns bill items to events. See the discussion on setting up real-time rating to assign items based on event attributes in BRM Configuring and Running Billing. |
Recommended |
|
Selects the pending items from a /billinfo object to be included in a bill created by PCM_OP_BILL_MAKE_BILL_NOW. See the discussion on customizing Bill Now in BRM Configuring and Running Billing. |
Recommended |
|
Allows post-billing processing of an account. See the discussion on suspending billing of closed accounts in BRM Configuring and Running Billing. |
Recommended |
|
Performs optional processing on payments that were applied to written-off accounts, and that must be reversed. For example, allocates balances on open bills and bill items before performing write-off reversals. See the discussion on customizing reversal of payments allocated to written-off accounts in BRM Managing Accounts Receivable. |
Recommended |
|
Assigns default number to the account object in the database. See the discussion on customizing bill numbers in BRM Configuring and Running Billing. |
Recommended |
|
Allows the customization of accounting cycles. See the discussion on customizing accounting cycles in BRM Configuring and Running Billing. |
Recommended |
|
Validate information to make adjustments against an item. See the discussion on customizing item-level adjustments in BRM Managing Accounts Receivable |
Recommended |
|
Validates a given bill object to determine whether BRM can generate a corrective bill for it. See the discussion on corrective Billing in BRM Configuring and Running Billing. |
Recommended |
|
Validates information to file a dispute against an item. See the discussion on customizing item-level disputes in BRM Managing Accounts Receivable. |
Recommended |
|
Validate information to settle an item which is in dispute. See the discussion on customizing item-level settlements in BRM Managing Accounts Receivable. |
Recommended |
|
Validate information to transfer money from the payment item to the target item. See the discussion on customizing payment transfer validation in BRM Managing Accounts Receivable. |
Recommended |
|
Validate information to make write-off adjustments against an item. See the discussion on customizing write-off validation in BRM Managing Accounts Receivable. |
Recommended |
Use this opcode to modify a bill object before it is committed to the database.
This opcode is called by the PCM_OP_BILL_MAKE_BILL, PCM_OP_BILL_MAKE_BILL_NOW, and PCM_OP_MAKE_BILL_ON_DEMAND standard opcodes.
See the discussion on customizing how to modify a bill object in BRM Managing Accounts Receivable.
Calculates the due date and the payment collection date of a bill (/bill object).
Note:
By default, the due date calculation is based on the time that billing is actually run, not on the time that a bill unit is ready to be billed.
Although configurable payment collection dates are used only for BRM-initiated payment, such as payments made by credit card and direct debit, they are calculated and stored for bills associated with all payment methods.
This opcode is called by the PCM_OP_BILL_MAKE_BILL, PCM_OP_BILL_MAKE_CORRECTIVE_BILL, and PCM_OP_BILL_MAKE_BILL_NOW opcodes.
When the PCM_OP_BILL_MAKE_CORRECTIVE_BILL opcode calls PCM_OP_BILL_POL_CALC_PAYMT_DUE_T to calculate the due date for a corrective bill, it provides PIN_OBJ_NAME_CORRECTIVE_BILL as the value in the PIN_FLD_NAME field. This value can be used to customize the logic to calculate due dates for corrective bills.
PCM_OP_BILL_POL_CALC_PAYMT_DUE_T does not return any values. Its output flist, however, contains the PIN_FLD_DUE_T value, which the PCM_OP_BILL_MAKE_BILL and PCM_OP_BILL_MAKE_CORRECTIVE_BILL opcodes use as the due date of the bill. By default, PCM_OP_BILL_POL_CALC_PAYMT_DUE_T uses this PIN_FLD_NAME input to calculate the due date based on the current time.
See the following discussions:
How BRM calculates payment collection dates in BRM Configuring and Collecting Payments
How BRM calculates bill due dates in BRM Configuring and Running Billing
How BRM creates a bill in BRM Configuring and Running Billing
This opcode does not return any values. Its output flist, however, contains the PIN_FLD_DUE_T value, which the PCM_OP_BILL_MAKE_BILL opcode uses as the due date of the bill.
This opcode is called by the PCM_OP_BILL_MAKE_BILL and PCM_OP_BILL_MAKE_BILL_NOW opcodes.
See the following discussions:
How BRM calculates payment collection dates in BRM Configuring and Collecting Payments
How BRM calculates bill due dates in BRM Configuring and Running Billing
How BRM creates a bill in BRM Configuring and Running Billing
Determines whether a bill should be suppressed.
Use this opcode to customize exceptions to bill suppressions.
This opcode is called by the PCM_OP_BILL_MAKE_BILL standard opcode.
See the following discussions in BRM Configuring and Running Billing:
Customizing bill suppression exceptions
How BRM determines whether bills should be suppressed
Searches for all events associated with an account.
By default, this opcode returns all the events for the account, but discards dispute, adjustment, and settlement events. The opcode can be customized to retrieve all the events for the account and keep the dispute, adjustment, and settlement events.
This opcode is not called by any opcode.
See the discussion on finding events associated with an account in BRM Managing Accounts Receivable.
Example 1-110 Sample Input Flist
The following input flist directs BRM to search for up to ten /event/billing/product/fee/cycle/cycle_forward_monthly events with starting times later than September 15, 2004, 11:30 am.
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 15486 10 0 PIN_FLD_THRESHOLD INT [0] 10 0 PIN_FLD_START_T TSTAMP [0] (1095273000) Wed Sep 15 11:30:00 2004 0 PIN_FLD_EVENT_TYPE STR [0] "/event/billing/product/fee/cycle/cycle_forward_monthly”
Example 1-111 Sample Output Flist
The following output flist identifies the one event that meets the input flist criteria.
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 189638 10 0 PIN_FLD_RESULTS ARRAY [1] allocated 4, used 4 1 PIN_FLD_THRESHOLD INT [0] 0 1 PIN_FLD_RESULT ENUM [0] 1 1 PIN_FLD_DESCR STR [0] "Success" 1 PIN_FLD_EVENTS ARRAY [1] allocated 13, used 13 2 PIN_FLD_EVENT_OBJ POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_ forward_monthly 231319654298218278 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 188710 0 2 PIN_FLD_CREATED_T TSTAMP [0] (1136149406) Sun Jan 01 13:03:26 2006 2 PIN_FLD_START_T TSTAMP [0] (1136149402) Sun Jan 01 13:03:22 2006 2 PIN_FLD_END_T TSTAMP [0] (1136149402) Sun Jan 01 13:03:22 2006 2 PIN_FLD_DESCR STR [0] "" 2 PIN_FLD_CALLED_TO STR [0] "" 2 PIN_FLD_UNIT ENUM [0] 0 2 PIN_FLD_NET_QUANTITY DECIMAL [0] 1 2 PIN_FLD_FLAGS INT [0] 1 2 PIN_FLD_BAL_IMPACTS ARRAY [1] allocated 3, used 3 3 PIN_FLD_RESOURCE_ID INT [0] 978 3 PIN_FLD_AMOUNT DECIMAL [0] 50 3 PIN_FLD_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_BAL_IMPACTS ARRAY [2] allocated 3, used 3 3 PIN_FLD_RESOURCE_ID INT [0] 1000095 3 PIN_FLD_AMOUNT DECIMAL [0] -3600 3 PIN_FLD_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_BAL_IMPACTS ARRAY [3] allocated 3, used 3 3 PIN_FLD_RESOURCE_ID INT [0] 978 3 PIN_FLD_AMOUNT DECIMAL [0] -5 3 PIN_FLD_DISCOUNT DECIMAL [0] 0
Gets event specific details based on the type of the event.
This opcode is called by the PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT opcode.
See the discussion on setting up real-time rating to assign items based on event attributes in BRM Configuring and Running Billing.
Assigns bill items to events based on event attributes. You can customize this policy opcode to use any event attributes to set and return the desired item tag. By default, this opcode returns the item tag passed in on the input flist.
This opcode is called by the PCM_OP_ACT_USAGE opcode.
See the discussion on setting up real-time rating to assign items based on event attributes in BRM Configuring and Running Billing.
Selects the pending items to be included in a bill created by PCM_OP_BILL_MAKE_BILL_NOW. You can customize this opcode to select only those pending items you want to be used by PCM_OP_BILL_MAKE_BILL_NOW.
This opcode is called by the PCM_OP_BILL_MAKE_BILL_NOW standard opcode.
See the discussion on customizing Bill Now in BRM Configuring and Running Billing.
This policy opcode allows you to perform custom processing on a bill unit (/billinfo object) at the time of billing. The default implementation of this policy opcode suspends billing of closed accounts.
This opcode is called by the PCM_OP_BILL_MAKE_BILL opcode.
See the discussion on suspending billing of closed accounts in BRM Configuring and Running Billing.
Performs optional processing on payments that were applied to written-off accounts, and that must be reversed.
Important:
If any open unallocated items are in the account at the time of the reversal, the re-writeoff on the account does not occur. You can either allocate and close the open items before performing the reversal, or customize this policy opcode to perform the task.This opcode is called by the PCM_OP_BILL_REVERSE_PAYMENT standard opcode.
See the discussion on customizing reversal of payments allocated to written-off accounts in BRM Managing Accounts Receivable.
Assigns a default number to a /bill object.
This policy allows customization of the bill number. By default, if the bill number is in the input flist, the opcode returns it. Otherwise, the opcode generates a bill number based on the bill POID.
This opcode is called by the PCM_OP_BILL_MAKE_BILL, PCM_OP_BILL_MAKE_BILL_NOW, and PCM_OP_MAKE_BILL_ON_DEMAND opcodes.
See the discussion on customizing bill numbers in BRM Configuring and Running Billing.
This opcode allows you to customize accounting cycles. This opcode can be modified to calculate the next and future accounting cycles appropriate for your business policy.
This opcode is called by PCM_OP_BILL_MAKE_BILL, PCM_OP_CUST_SET_BILLINFO, and PCM_OP_BILL_RESUME_BILLING standard opcodes, and the PCM_OP_CUST_POL_PREP_BILLINFO policy opcode.
See the discussion on customizing accounting cycles in BRM Configuring and Running Billing.
Validates information to make adjustments against an item.
This opcode is called by the PCM_OP_AR_ITEM_ADJUSTMENT and PCM_OP_AR_ACCOUNT_ADJUSTMENT standard opcodes.
See the discussion on customizing item-level adjustments in BRM Managing Accounts Receivable.
This policy opcode validates a bill unit (/billinfo object) at the time of corrective billing. It performs default policy validations and/or any custom validations that you provide. This opcode is called by the PCM_OP_BILL_MAKE_CORRECTIVE_BILL opcode.
This opcode requires values for the account POID in PIN_FLD_POID, the bill POID in PIN_FLD_BILL_OBJ, and PIN_FLD_INV_TYPE.
The PIN_FLD_FLAGS input field is optional. If present, this field indicates that there are charges in the bill to be validated by this opcode or requires the opcode to validate the A/R charges in the input bill.
The opcode returns the success or failure of the validation in PIN_FLD_RESULT and the reason for the failure to validate the bill in PIN_FLD_ERROR_DESCR.
The BRM_Home/include/pin_bill.h file contains the following values that PCM_OP_BILL_MAKE_CORRECTIVE_BILL opcode uses when it validates bills for corrective billing:
Example 1-112 Constants Associated with Validation in pin_bill.h File
#define PIN_BILL_VALIDATION_PASSED 0x001 #define PIN_BILL_VALIDATION_FAILED 0x002 #define PIN_BILL_VALIDATION_ONLY 0x004 #define PIN_BILL_VALIDATION_NO_CHARGES 0x008 #define PIN_BILL_VALIDATION_AR_CHARGES_EXIST 0x010 #define PIN_BILL_VALIDATION_FOR_AR_CHARGES_NEEDED 0x020
See the following discussions in BRM Configuring and Running Billing:
Validating bills for the corrective billing process (includes the standard and policy validations BRM performs)
pin_make_corrective_bill utility
Validates information to file a dispute against an item.
This opcode is called by the PCM_OP_AR_ITEM_DISPUTE standard opcode.
See the discussion on customizing item-level disputes in BRM Managing Accounts Receivable.
Validates information to settle an item which is in dispute.
This opcode is called by the PCM_OP_AR_ITEM_SETTLEMENT standard opcode.
See the discussion on customizing item-level settlements in BRM Managing Accounts Receivable.
Validates information to transfer money from the payment item to the target item.
Changing a result from PIN_BOOLEAN_FALSE to PIN_BOOLEAN_TRUE allows the specified field value to pass. Changing a result from PIN_BOOLEAN_TRUE to PIN_BOOLEAN_FALSE causes the specified field value to fail.
This opcode is called by the PCM_OP_BILL_ITEM_TRANSFER standard opcode.
See the discussion on customizing payment transfer validation in BRM Managing Accounts Receivable.
The opcodes listed in Table 1-16 manage billing and billing group processes, as well as some A/R and payment processes.
Include the ops/bill.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-16 Billing FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates /item/sponsor objects for sponsoring accounts. |
Recommended |
|
Converts amounts from source currency to destination currency. See the discussion on changing currency conversion rates in BRM Configuring and Running Billing. |
Recommended |
|
Supplies a conversion rate for currency conversion. See the discussion on changing currency conversion rates in BRM Configuring and Running Billing. |
Recommended |
|
Calculates tax on deferred taxable amounts. See the discussion on calculating taxes during billing in BRM Configuring and Running Billing. |
Last Resort |
|
Debits or credits a noncurrency resource. See the discussion on applying debits and credits in BRM Managing Accounts Receivable. |
Recommended |
|
Searches for information in a /bill object given a bill number. See the discussion on finding a bill in BRM Managing Accounts Receivable. |
Recommended |
|
Called by Customer Center to retrieve the discount for events of a given bill item. |
Limited |
|
Adds one or more accounts to an existing account group. See the discussion on adding a member to an account group in BRM Managing Accounts Receivable. |
Last Resort |
|
Creates a new /group object. See the discussion on creating an account group in BRM Managing Accounts Receivable. |
Last Resort |
|
Deletes an existing /group object. See the discussion on deleting an account group in BRM Managing Accounts Receivable. |
Last Resort |
|
Deletes an account from an existing group. See the discussion on deleting a member from an account group in BRM Managing Accounts Receivable. |
Last Resort |
|
Gets child accounts for a given /group object. See the discussion on getting a list of child accounts in an account group in BRM Managing Accounts Receivable. |
Last Resort |
|
Gets the parent account of an account group. See the discussion on finding the parent of an account group in BRM Managing Accounts Receivable. |
Last Resort |
|
Moves a group member; deletes the group if it is empty, and creates the new group if it does not exist. See the discussion on moving a group member in BRM Managing Accounts Receivable. |
Recommended |
|
Searches the /event object for details related to a specific item. See the discussion on finding events associated with bill items in BRM Managing Accounts Receivable. |
Recommended |
|
Creates a refund item for a /bill or /billinfo object. See the discussion on managing refunds with your custom application in BRM Configuring and Collecting Payments. |
Recommended |
|
Transfers money from a source item to a target item. Each transfer can affect multiple target items in a single A/R bill. See the discussion on transferring resources between items in BRM Managing Accounts Receivable. |
Limited |
|
Creates a /bill object for an account or balance group. See the discussion on how BRM creates a bill in BRM Configuring and Running Billing. |
Last Resort |
|
Bills a /billinfo object immediately from Customer Center. See the discussion on how Bill Now works in BRM Configuring and Running Billing. |
Last Resort |
|
Bills a /billinfo object immediately manually. See the discussion on how billing on demand works in BRM Configuring and Running Billing. |
Last Resort |
|
Creates a corrective bill for a /billinfo object. See the discussion on corrective Billing in BRM Configuring and Running Billing. |
Recommended |
|
Creates a trial invoice and collects revenue assurance data for trial billing. See the discussion on how trial billing works in BRM Configuring and Running Billing. |
Limited |
|
Creates a payment item and records that currency has been received. See the discussion on how BRM receives payments in BRM Configuring and Collecting Payments. |
Limited |
|
Deactivates manual account suppression immediately or on a specified future date. See the discussion on how BRM ends manual account suppression in BRM Configuring and Running Billing. |
Recommended |
|
Opens a closed payment item and remove the credit. See the discussion on how BRM reverses payments in BRM Configuring and Collecting Payments. |
Last Resort |
|
Reverses a payment item. See the discussion on how BRM reverses payments in BRM Configuring and Collecting Payments. |
Limited |
|
Activates manual account suppression immediately or on a specified future date. See the discussion on how BRM suppresses accounts in BRM Configuring and Running Billing. |
Recommended |
|
Handles manual bill suppression. See the discussion on how BRM suppresses bills BRM Configuring and Running Billing. |
Recommended |
|
Sets the credit limit and consumption rules for both currency and noncurrency resources. See the discussion on how BRM handles consumption rules and credit limits in BRM Managing Customers. |
Recommended |
|
Transfers resources from one balance group to another balance group. See the discussion on transferring resources between balance groups in BRM Managing Accounts Receivable. |
Recommended |
|
Finds the invoice file for a given bill POID, and returns the contents of the file to the caller. See the discussion on displaying invoices in BRM Configuring and Running Billing. |
Recommended |
Creates /item/sponsor objects for sponsoring accounts. These item objects include charges from the sponsored accounts. PCM_OP_BILL_CREATE_SPONSORED_ITEMS sends that information to the PCM_OP_BILL_POL_GET_PENDING_ITEMS opcode.
This opcode is called by PCM_OP_BILL_MAKE_BILL_NOW when it creates a bill for a sponsoring account.
PCM_OP_BILL_CREATE_SPONSORED_ITEMS can also be executed separately. In this case, the returned list of items can be passed to PCM_OP_BILL_MAKE_BILL_NOW to produce a bill for each sponsor account.
Note:
If this opcode is called, billing time discounts and folds are not applied.Converts currency amounts from a source currency to a destination currency.
For example, this opcode is used to convert currencies when an account using EMU currency is set up with a primary currency and a secondary currency.
Important:
BRM supports conversion only between the euro and EMU currencies. Conversion between two EMU currencies or between any other currencies is not supported.The conversion rates are specified in the /config/currency/conversionrates object.
See the discussion on changing currency conversion rates in BRM Configuring and Running Billing.
Supplies currency conversion rates.
This opcode is called by PCM_OP_BILL_CURRENCY_CONVERT_AMOUNTS for conversion rate information for EMU and euro currencies specified in the /config/currency/conversionrates object.
It returns the conversion rate, start and end time of the time range for this rate and currency operator information.
See the discussion on changing currency conversion rates in BRM Configuring and Running Billing.
Calculates tax on deferred taxable amounts. To calculate taxes during billing, the PCM_OP_RATE_EVENT calls the PCM_OP_BILL_CYCLE_TAX opcode.
This opcode calls the PCM_OP_RATE_TAX_CALC opcode to perform the tax calculation.
See the discussion on calculating taxes during billing in BRM Configuring and Running Billing.
Debits or credits a noncurrency resource.
Customer Center calls this opcode to debit sub-balances for a specific /balance_group object associated with an account.
See the discussion on applying debits and credits in BRM Managing Accounts Receivable.
Locates a /bill object, given a bill number.
Use this opcode to search for /bill objects instead of using the
PCM_OP_SEARCH and PCM_OP_STEP_SEARCH opcodes.
Note:
This opcode does not perform authentication.See the discussion on finding a bill in BRM Managing Accounts Receivable.
Called by Customer Center to retrieve the discount for events of a given bill item.
If a bill has been corrected and the database contains a corrective bill for the bill unit, BRM retrieves the events associated with the corrective bill only. It does not retrieve the events for the prior bill.
The default mode for this opcode is set by the field PIN_FLD_MODE or the EventChargeDiscountMode business parameter.
For each event it retrieves, it calculates the total amount of each resource and the total discount amount of each resource. This encompasses both real-time rating and rating performed by the Pipeline Rating Engine.
This enables Customer Center to display the item charge details in the Event Details panel. See Customer Center Help for information on viewing event details.
Adds one or more accounts to an existing account group.
This opcodes adds accounts to an account group for billing purposes, when the accounts' bill units (/billinfo objects) are to be set up in a billing hierarchy.
See the discussion on adding a member to an account group in BRM Managing Accounts Receivable.
Creates a new account group for billing purposes.
See the discussion on creating an account group in BRM Managing Accounts Receivable.
Deletes an existing account group.
See the discussion on deleting an account group in BRM Managing Accounts Receivable.
Deletes one or more accounts from an existing account group.
See the discussion on deleting a member from an account group in BRM Managing Accounts Receivable.
Gets child accounts of a given account group.
This opcode returns a members list holding the children account POIDs for an account group set up for billing purposes. Specific account fields may be read for each account (for example, account name) by passing the /account object fields of interest in the input list along with the POID of the /group object. If the input list only contains the /group object POID, all the fields in the account table for each child is returned.
See the discussion on getting a list of child accounts in an account group in BRM Managing Accounts Receivable.
Gets the parent account of a given account group.
This opcode retrieves the parent account of a given /group object. The input to this opcode is a account group POID. The account POID identifying the group's parent account is returned.
See the discussion on finding the parent of an account group in BRM Managing Accounts Receivable.
Moves a member of one group to another.
This opcode is the recommended way to perform this action. It is a wrapper for the other BILL_GROUP opcodes.
See the discussion on moving a group member in BRM Managing Accounts Receivable.
Searches the /event object for details related to a specific item. This opcode retrieves a list of events for a given item POID and flag.
See the discussion on finding events associated with bill items in BRM Managing Accounts Receivable.
Creates a refund item for a /bill or /billinfo object.
In calculate-only mode, this opcode returns the refundable amount.
In the regular mode, this opcode returns the refundable amount in the /item/refund object.
See the discussion on managing refunds with your custom application in BRM Configuring and Collecting Payments.
Transfers money from a source item to a target item.
Note:
This opcode can accept items from multiple A/R bills and creates one transfer event for each A/R bill.See the discussion on transferring resources between items in BRM Managing Accounts Receivable.
Example 1-117 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 106860 0 0 PIN_FLD_ITEM_OBJ POID [0] 0.0.0.1 /item/adjustment 197020 0 0 PIN_FLD_PROGRAM_NAME STR [0] "event adjustment" 0 PIN_FLD_SESSION_OBJ POID [0] 0.0.0.1 /event/billing/adjustment/event 199089 0 0 PIN_FLD_START_T TSTAMP [0] (1064969203) Tue Sep 30 17:46:43 2003 0 PIN_FLD_END_T TSTAMP [0] (1064969203) Tue Sep 30 17:46:43 2003 0 PIN_FLD_ITEMS ARRAY [0] allocated 20, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 109596 0 1 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 106732 0 1 PIN_FLD_AR_BILL_OBJ POID [0] 0.0.0.1 /bill 106732 0 1 PIN_FLD_AMOUNT DECIMAL [0] -0.62
Creates a /bill object for a specified /billinfo object.
When called by the PCM_OP_BILL_MAKE_TRIAL_BILL opcode during trial invoicing, this opcode checks the value of the PIN_FLD_FLAGS field. If the value is PIN_INV_TYPE_PARENT this opcode calculates the adjusted, disputed, due, received, and writeoff values from each of the subordinate account's /invoice/trial objects. The resulting billing totals are passed to the parent of the subordinate accounts.
For more information, see the discussion on how trial invoicing works in BRM Designing and Generating Invoices.
See the discussion on how BRM creates a bill in BRM Configuring and Running Billing.
Bills a specified /billinfo object immediately from Customer Center. If a /billinfo object is not specified this opcode creates a /bill for each /billinfo for the given account.
In addition, the opcode applies cycle fees, including deferred fees and folds, by calling the following opcodes:
PCM_OP_SUBSCRIPTION_PURCHASE_FEES
PCM_OP_SUBSCRIPTION_CYCLE_ARREARS
PCM_OP_SUBSCRIPTION_CYCLE_FOLD
PCM_OP_SUBSCRIPTION_CYCLE_FORWARD
If the /account object for a sponsor is supplied, the opcode calls PCM_OP_BILL_CREATE_SPONSORED_ITEMS.
If BRM has been configured for delayed billing, the opcode can determine if there are items from the current and next billing cycle and produce two bills.
See the discussions on how Bill Now works in BRM Configuring and Running Billing and Configuring Bill Now in BRM Configuring and Running Billing.
Creates a /bill object immediately after a /billinfo object is created, or when a deal is purchased.
See the discussion on how billing on demand works in BRM Configuring and Running Billing.
This opcode allows you to create a corrective bill for a /bill object at the time of billing. It is called by the pin_make_corrective_bill utility.
If PCM_OP_BILL_MAKE_CORRECTIVE_BILL is called with the -validate_only parameter, the opcode does not generate a corrective bill for the selected bill, but merely validates whether a corrective bill can be generated for that bill.
The value in the PIN_FLD_FLAGS input field of the opcode determines whether the opcode merely validates the bill or actually creates the corrective bill object. The pin_bill.h file contains the following predefined values for these constants:
#define PIN_BILL_VALIDATION_ONLY 0x004 #define PIN_BILL_VALIDATION_NO_CHARGES 0x008
The opcode returns a value in the PIN_FLD_RESULT output field to indicate whether the bill passed or failed the validation. The pin_bill.h file contains the following predefined values for these constants:
#define PIN_BILL_VALIDATION_PASSED 0x001 #define PIN_BILL_VALIDATION_FAILED 0x002
See pin_make_corrective_bill utility in Developer's Reference.
Creates trial invoices and collects revenue assurance data from trial billing.
If you enable trial billing to collect revenue assurance data, this opcode returns the summarized data in the PIN_FLD_REVENUES_ARRAY field.
The fields on the input flist determine whether this opcode creates invoices and collects split revenue assurance data for the account specified in the input flist. If invoices are created, this opcode returns an array of trial invoice POIDs for the invoices that were created. If split revenue assurance data is collected, this opcode returns an array of revenue amounts for each item type and associated service type. The opcode opens a separate transaction to create the trial invoices.
The PIN_FLD_PROGRAM_NAME field in the input flist should always contain pin_trial_bill_accts even if you call the opcode from another application.
See the discussion on how trial billing works in BRM Configuring and Running Billing.
Note:
If a start date is not provided, this opcode creates trial invoices for all complete billing cycles before the end date that have not been billed. For accounts with skipped billing cycles, it is possible that more than one trial invoice will be created.Example 1-119 Sample Input Flist
This example shows that this opcode was called with a start and end date:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 12345 0 PIN_FLD_PROGRAM_NAME STR [0] "pin_trial_bill_accts" 0 PIN_FLD_START_T TSTAMP [0] (8986622000) 0 PIN_FLD_END_T TSTAMP [0] (8986622324) 0 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 58016 0 0 PIN_FLD_CHECK_SPLIT_FLAG INT [0] 0 0 PIN_FLD_PREINVOICE_MODE INT [0] 0
Example 1-120 Sample Output Flist
This example shows two trial invoice POIDs created for the account:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 12345 0 PIN_FLD_RESULT ENUM [0] 1 /* Pass or Fail */ 0 PIN_FLD_RESULTS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /invoice/trial 11441 0 0 PIN_FLD_RESULTS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /invoice/trial 11243 0
Creates a payment item and records that payment has been received.
This opcode is called by Payment Tool. Before calling this opcode, Payment Tool calls PCM_OP_PYMT_SELECT_ITEMS to identify the list of items to apply this payment to.
When multiple resource voucher top-ups involve a currency resource, this opcode is called by the PCM_OP_PYMT_COLLECT opcode, which passes balance impact information through the PIN_FLD_TOPUP_RESOURCE_INFO substruct in this opcode's input flist.
See the following discussions in BRM Configuring and Collecting Payments:
How BRM performs top-ups
How BRM receives payments
Example 1-121 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 60704 2 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 60704 0 0 PIN_FLD_PROGRAM_NAME STR [0] "test" 0 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 58016 0 0 PIN_FLD_CURRENCY INT [0] 840 0 PIN_FLD_AMOUNT DECIMAL [0] 100 0 PIN_FLD_PAYMENT SUBSTRUCT [0] allocated 20, used 5 1 PIN_FLD_AMOUNT DECIMAL [0] 100 1 PIN_FLD_COMMAND ENUM [0] 0 1 PIN_FLD_PAY_TYPE ENUM [0] 10001 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_TRANS_ID STR [0] "P-1111"
Deactivates manual account suppression immediately or on a specified future date.
Note:
This opcode does not initiate any required provisioning of reactivated services.See the discussion on how BRM ends manual account suppression in BRM Configuring and Running Billing.
Opens a closed payment item and removes the credit. This opcode is a wrapper for PCM_OP_BILL_REVERSE_PAYMENT and is called by Payment Tool.
When performing reversals during payment suspense recycling, this opcode must be called by PCM_OP_PYMT_RECYCLE_PAYMENT to ensure that only payments with a SUB_TRANS_ID value of NULL can be reversed directly. The reversal of recycled payments is disallowed if the reversal is not called by PCM_OP_PYMT_RECYCLE_PAYMENT. Only suspended payments and payments in customer accounts which have not been recycled can be reversed directly by PCM_OP_BILL_REVERSE_PAYMENT.
See the discussion on how BRM reverses payments in BRM Configuring and Collecting Payments.
Reverses a payment. Opens a payment item, reverses its balance impacts, and changes items to not paid that were previously recorded as paid.
See the discussion on how BRM reverses payments in BRM Configuring and Collecting Payments.
Activates manual account suppression immediately or on a specified future date.
Note:
This opcode does not initiate any required provisioning of deactivated services.See the discussion on how BRM suppresses accounts in BRM Configuring and Running Billing.
Handles manual bill suppression.
See the discussion on how BRM suppresses bills in BRM Configuring and Running Billing.
Sets the credit limit and consumption rules for both currency and noncurrency resources.
By default, this opcode sets or changes the credit limit and consumption rules in the account-level /balance_group object. To set credit limit and consumption rules for any of the other billing entities associated with the object, specify them with the optional PIN_FLD_BAL_GRP_OBJ field passed in on the input flist.
If balance monitoring is enabled, this opcode validates a balance monitor by checking whether a credit limit or threshold is crossed when the credit limits or thresholds are added or changed for the balance monitor.
See the following discussions:
Balance monitoring in BRM Managing Accounts Receivable
How BRM handles consumption rules and credit limits in BRM Managing Customers
Example 1-123 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 172944 13 0 PIN_FLD_DESCR STR [0] "" 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_LIMIT ARRAY [840] allocated 20, used 2 1 PIN_FLD_CREDIT_FLOOR DECIMAL [0] 10 1 PIN_FLD_CREDIT_LIMIT DECIMAL [0] NULL 0 PIN_FLD_RULES ARRAY [840] allocated 20, used 1 1 PIN_FLD_CONSUMPTION_RULE [0] 5
Example 1-124 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 172944 13 0 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/limit 216823692997625500 0
If the PCM_OPFLG_READ_RESULT flag is set, all the fields in the event object are returned in addition to the POID.
If the PCM_OPFLG_CALC_ONLY flag is set, no fields in the database are changed and the event object is not actually created. The fields that would have been used to create the event object are returned to the caller.
If the PCM_OPFLG_CALC_ONLY flag is not set, the /event/billing/limit object is created to record the details of the operation.
Transfers resources from one balance group to another balance group.
For example, use this opcode to transfer funds from one prepaid calling card (account) to another.
See the discussion on transferring resources between balance groups in BRM Managing Accounts Receivable.
Note:
This opcode will be deleted in a future release. It remains temporarily in BRM for backward compatibility. Use PCM_OP_INV_VIEW_INVOICE instead.Retrieves a formatted invoice from the database. It uses the value in the PIN_FLD_BILL_NO input field to search for the bill object in the bill_t table. If the opcode cannot find the bill in bill_t, it searched the history_bills_t table.
The opcodes listed in Table 1-17 are used to propagate object changes from BRM to a directory server.
Include the ops/channel.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-17 Channel FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates /channel_event objects whenever an /account or /service object changes in BRM. See the discussion on understanding the channel framework in BRM LDAP Manager. |
Recommended |
|
Propagates /channel_event objects to the LDAP Server. See the discussion on understanding the channel framework in BRM LDAP Manager. |
Limited |
Creates /channel_event objects whenever a change occurs to a specified /account or /service object. You specify which events trigger the opcode to create /channel_event objects by using event notification.
See the following discussions in BRM LDAP Manager:
Understanding the channel framework
Configuring event notification for LDAP Manager
Propagates /channel_event objects to the LDAP Server.
In previous releases, the in_channel_export utility called this opcode to publish batches of channel events to the LDAP database. Now, pin_channel_export uses the channel family ID to determine the LDAP database to which the events are published.
Because it is no longer called by pin_channel_export, PCM_OP_CHANNEL_SYNC is not recommended, but it can be called by custom applications or for testing purposes.
See the discussion on understanding the channel framework in BRM LDAP Manager.
Use the opcodes listed in Table 1-18 to customize collections features.
Include the ops/collections.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-18 Collections Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Applies finance charges. See the discussion on applying finance charges in BRM Collections Manager. |
Recommended |
|
Applies late fees. See the discussion on applying late fees in BRM Collections Manager. |
Recommended |
|
Can be modified to assign accounts automatically to collections agents. See the discussion on assigning bill units automatically in BRM Collections Manager. |
Recommended |
|
When multiple collections agencies are configured, enables automation of the logic to select a debt collections agency (DCA). See the discussion on assigning bill units to debt collections agency in BRM Collections Manager. |
Recommended |
|
Can be customized to set the due date for the actions to be taken for account's bill unit when the bill unit is entered into the collection process. See the discussion on configuring how Collections Manager determines dates in BRM Collections Manager. |
Recommended |
|
Can be modified to execute custom collections actions. See the discussion on performing custom collections actions in BRM Collections Manager. |
Recommended |
|
Can be modified to add functionality associated with an account leaving a collections scenario. See the discussion on performing custom actions when a bill unit leaves collections in BRM Collections Manager. |
Recommended |
|
Can be customized to override the action target setting in the /config/collections_actions object. See the discussion on customizing to which collection group members to apply collections actions in BRM Collections Manager. |
Recommended |
|
Takes the collections scenario as input, reads the /config/collections/scenario_params object for additional parameters, and validates whether the scenario is valid for the bill unit in collections. See the discussion on getting all valid collections scenario in BRM Collections Manager. |
Recommended |
|
When the payment milestone is not met, this policy opcode does the following:
|
Recommended |
|
Supports payment for credit card or debit card accounts when the collections action type is promise_to_pay or collect_payment and the action is set to initiate payment. |
Recommended |
|
Provides additional validation checks before the promise-to-pay action is called for a bill unit (/billinfo object). See the discussion on creating a promise-to-pay action in BRM Collections Manager. |
Recommended |
|
Allows customization of dunning letter data before it is stored in the database. See the discussion on customizing dunning letters in BRM Collections Manager. |
Recommended |
|
Allows customization to include additional attributes to determine whether bill units (/billinfo objects) enter or exit collections and perform collections actions. See the discussion on executing automatic collections actions inBRM Collections Manager. |
||
Gets the profile object for the account. See the discussion on mapping bill units to collections profiles in BRM Collections Manager. |
Recommended |
Applies collections-related finance charges.
You can customize how a finance charge is calculated or add functionality. For example, you can customize PCM_OP_COLLECTIONS_POL_APPLY_FINANCE_CHARGES to calculate the finance charge from the customer's average daily balance rather than the current balance.
This opcode is called by the PCM_OP_COLLECTIONS_TAKE_ACTION opcode.
See the discussion on applying finance charges in BRM Collections Manager.
Applies collections-related late fees.
You can customize the opcode to change the way the late fee is calculated or to add additional functionality. For example, you could customize this policy opcode to calculate a percentage-based late fee from the customer's average daily balance rather than the current balance.
This opcode is called by the PCM_OP_COLLECTIONS_TAKE_ACTION and PCM_OP_COLLECTIONS_CONFIG_SET_ACTION opcodes.
See the discussion on applying late fees in BRM Collections Manager.
This opcode can be modified to change the way account bill units are assigned to collections agents. By default, it is an empty hook.
This opcode is called by the PCM_OP_COLLECTIONS_PROCESS_BILLINFO and PCM_OP_COLLECTIONS_PROCESS_ACCOUNT standard opcodes.
See the discussion on assigning bill units automatically in BRM Collections Manager.
This opcode can be modified to automate the logic of selecting a debt collections agent (DCA) when multiple DCAs are configured. By default, it is an empty hook.
This opcode is called when the Refer to outside agency type system collections action is run.
See the discussion on assigning bill units to debt collections agency in BRM Collections Manager.
This opcode can be customized to set the due date for collections actions.
For example, for collections actions that fall on a holiday, you can customize this opcode to set the action due date to the following day.
By default, if any collections action falls on a Saturday or Sunday, this opcode sets the action due date to the following Monday.
This opcode is called by the PCM_OP_COLLECTIONS_PROCESS_BILLINFO standard opcode.
This policy opcode can be modified to perform custom collections actions. For example, you can create an action that sends SMS text messages to the customer's wireless phone. By default, it is an empty hook.
This opcode is called by the PCM_OP_COLLECTIONS_CONFIG_SET_ACTION opcode.
See the discussion on performing custom collections actions in BRM Collections Manager.
Can be customized to perform cleanup or other tasks when a bill unit leaves a collections scenario. For example, you may want to modify customer credit score when bill units exit collections. By default, it is an empty hook.
This opcode is called by the PCM_OP_COLLECTIONS_PROCESS_BILLINFO, and PCM_OP_COLLECTIONS_PROCESS_ACCOUNT standard opcodes.
See the discussion on performing custom actions when a bill unit leaves collections in BRM Collections Manager.
This opcode can be customized to override the action target setting in the /config/collections_actions object. By default, this policy opcode is an empty hook.
You can customize the PCM_OP_COLLECTIONS_POL_GET_GROUP_TARGET_ACTIONS policy opcode to use additional attributes for deciding to which bill units to apply a collections action:
To the individual bill unit only
To the parent and all child bill units in the collections sharing group
To all child bill units in the collections sharing group
This opcode is called by the PCM_OP_COLLECTIONS_TAKE_ACTION opcode.
See the discussion on customizing to which collections group members to apply collections actions in BRM Collections Manager.
Determines if a scenario is valid or not for the current bill unit.
This opcode takes the scenario as input, reads the /config/collections/scenario_params object for additional parameters, and validates whether the scenario is valid for the bill unit in collections. If this opcode fails, it validates the next scenario.
This opcode is called from PCM_OP_COLLECTIONS_GET_VALID_SCENARIOS standard opcode.
This opcode is called when the promised payment milestone is not met. The default implementation cancels all the outstanding payment milestone actions and reschedules the collections scenario actions to start from the following day and updates the scenario object.
Performs auto-collect of the due amount for promise_to_pay and collect_payment actions, if the customer has opted to pay off the due amount through credit card or direct debit.
This opcode is called by the PCM_OP_COLLECTIONS_TAKE_ACTION standard opcode.
Allows you to perform additional validation before invoking promise obligation for a bill unit. For example, if you do not want to issue a promise-to-pay agreement that goes beyond 30 days. By default, it is an empty policy hook.
This opcode is called by the PCM_OP_COLLECTIONS_INVOKE_PROMISE_TO_PAY standard opcode.
Allows customization of dunning letter data before it is stored in the database. For example, you might want to enrich the standard data with additional information. You can include the date on which the account will be inactivated if payment is not received.
This opcode is called by the PCM_OP_COLLECTIONS_SET_DUNNING_LETTER standard opcode.
See the discussion on customizing dunning letters in BRM Collections Manager.
Important:
The source code for this policy opcode is not shipped with BRM.Allows you to include additional criteria to determine whether bill units (/billinfo objects) should enter and exit collections. Based on the status flag in the input flist, this policy opcode identifies if it is being called during entry or exit.
This opcode is a hook provided to facilitate customization.
This opcode is called by the PCM_OP_COLLECTIONS_PROCESS_BILLINFO opcode.
Maps account bill units to collections profiles. You can customize the opcode to group bill units into collections profiles based on any criteria you choose. For example, you could create profiles based on credit scores.
Before customization, this policy opcode maps all bill units to the default collections profile.
Important:
The default profile uses US Dollars for the currency. To use a different currency for collections, you must edit this opcode.This opcode is called by the PCM_OP_COLLECTIONS_PROCESS_BILLINFO and PCM_OP_COLLECTIONS_PROCESS_ACCOUNT standard opcodes.
See the discussion on mapping bill units to collections profiles in BRM Collections Manager.
The opcodes in Table 1-19 identify account bill units (/billinfo objects) with overdue balances and manage activities to collect those balances.
Include the ops/collections.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-19 Collections Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Adds an action to a collections scenario of a bill unit (/billinfo object). See the discussion on adding actions to a collections scenario in BRM Collections Manager. |
Recommended |
|
Assigns a bill unit to an agent. See the discussion on assigning bill units to a collections agent in BRM Collections Manager. |
Recommended |
|
Calculates aging buckets for a bill unit. See the discussion on retrieving aging buckets information in BRM Collections Manager. |
Recommended |
|
Deletes an existing collections configuration action. See the discussion on deleting an existing collections action in BRM Collections Manager. |
Recommended |
|
Deletes an existing collections configuration profile. See the discussion on deleting an existing collections profile in BRM Collections Manager. |
Recommended |
|
Deletes an existing collections configuration scenario. See the discussion on deleting an existing collections scenario in BRM Collections Manager. |
Recommended |
|
Gets a list of all currently defined collections configuration actions. See the discussion on getting all currently defined collections actions in BRM Collections Manager. |
Recommended |
|
Gets a list of currently defined collections configuration profiles. See the discussion on getting all currently defined collections profiles in BRM Collections Manager. |
Recommended |
|
Gets a list of collections configuration scenarios and associated profiles in the current brand. See the discussion on getting all currently defined collections scenarios in BRM Collections Manager. |
Recommended |
|
Gets details of a selected collections configuration scenario. See the discussion on getting details of a collections scenario in BRM Collections Manager. |
Recommended |
|
Gets a list of message templates for the current brand. See the discussion on getting a list of message templates in BRM Collections Manager. |
Recommended |
|
Creates or updates a collections configuration action. See the discussion on creating or updating collections actions in BRM Collections Manager. |
Recommended |
|
Creates or updates a collections configuration profile. See the discussion on creating or updating collections profiles in BRM Collections Manager. |
Recommended |
|
Exempts a bill unit from collections. See the discussion on exempting bill units from collections in BRM Collections Manager. |
Recommended |
|
Gets history information for a collections action. See the discussion on retrieving collections action history information in BRM Collections Manager. |
Recommended |
|
Gets a list of collections actions assigned to agents. See the discussion on retrieving a list of collections actions in BRM Collections Manager. |
Recommended |
|
Gets a list of bill units that are in collections. See the discussion on retrieving a list of bill units in collections in BRM Collections Manager. |
Recommended |
|
Gets a formatted dunning letter. See the discussion on retrieving dunning letters in BRM Collections Manager. |
Recommended |
|
Gets scenario details for a bill unit. See the discussion on retrieving scenario information in BRM Collections Manager. |
Recommended |
|
Evaluates all the collections scenarios for the bill unit using the default entry criteria (entry_amount and entry_days), the severity attribute, and additional configurable parameters and lists the valid scenarios for the bill unit. See the discussion on getting all valid collections scenario in BRM Collections Manager. |
Recommended |
|
Adds members to the collections group. Validations are performed to check if the newly added member is a subordinate account. The subordinate accounts cannot be added as members of a collections group. If the new member is already in the collections group, it is ignored. |
Recommended |
|
Creates the collections group. |
Recommended |
|
Deletes the collections group. |
Recommended |
|
Deletes members from the collections group. |
Recommended |
|
Verifies whether a bill unit belongs to a collections group or not. It also provides information about the pending receivables for each bill unit. If the bill unit is a parent of a collection group, it provides the name of the group and its members. |
Recommended |
|
Modifies the member name or the parent in a collections group. |
Recommended |
|
Sets the parent for a collections group. Validation is performed to verify if the bill unit is already a parent of another collections group. A bill unit can be the owner or parent of only one collections group. |
Recommended |
|
For a bill unit that is already in collections, calls the promise-to-pay agreement. See the discussion on creating a promise-to-pay action in BRM Collections Manager. |
Recommended |
|
Determines whether bill units enter or exit collections and performs collections actions. See the discussion on executing automatic collections action in BRM Collections Manager. |
Recommended |
|
Reschedules a collections action for a bill unit. See the discussion on rescheduling an action scheduled for a bill unit in BRM Collections Manager. |
Recommended |
|
Replaces the existing collections scenario for a bill unit with a new collections scenario. See the discussion on replacing a collections scenario in BRM Collections Manager. |
Recommended |
|
Cancels the promise-to-pay agreement, by canceling the outstanding payment milestones, deleting the corresponding schedule objects, rescheduling the scenario actions to start from the next day, and updating the scenario objects. See the discussion on revoking a promise-to-pay action in BRM Collections Manager. |
Recommended |
|
Changes status of an action. See the discussion on changing the status of a collections action in BRM Collections Manager. |
Recommended |
|
Gathers data for system-generated dunning letters. See the discussion on gathering and storing data for dunning letters in BRM Collections Manager. |
Recommended |
|
Prepares an invoice reminder message. See the discussion on preparing invoice reminders in BRM Collections Manager. |
Recommended |
|
Executes pending actions for a bill unit. See the discussion on executing pending actions for a bill unit in BRM Collections Manager. |
Recommended |
|
Updates the amount and payment details for Promise to Pay and Collect Payment actions. See the discussion on updating amount and payment details in BRM Collections Manager. |
Recommended |
Adds collections actions to a collections scenario of a bill unit. This opcode is called by Collections Center when a CSR inserts the actions into the collections scenario.
See the discussion on adding actions to a collections scenario in BRM Collections Manager.
Assigns bill units (/billinfo objects) to a collections agent. This opcode is called by Collections Center when a collections manager assigns a bill unit to a particular agent.
See the discussion on assigning bill units to a collections agent in BRM Collections Manager.
Gets aging bucket details for a bill unit (/billinfo object). This opcode is called by Collections Center when a CSR displays the distribution of a bill unit's overdue balance over a number of aging buckets.
See the discussion on retrieving aging buckets information in BRM Collections Manager.
Deletes an existing collections action. This opcode is called by Collections Configuration when a user deletes the collections action.
See the discussion on deleting an existing collections action in BRM Collections Manager.
Deletes an existing collections profile. This opcode is called by Collections Configuration when a user deletes the collections profile.
See the discussion on deleting an existing collections profile in BRM Collections Manager.
Deletes an existing collections scenario. This opcode is called by Collections Configuration when a user deletes the scenario.
See the discussion on deleting an existing collections scenario in BRM Collections Manager.
Gets a list of all currently defined collections actions. This opcode is called by Collections Configuration to retrieve a list of actions and their definitions.
See the discussion on getting all currently defined collections actions in BRM Collections Manager.
Retrieves a list of currently defined collections profiles. This opcode is called by Collections Configuration to display all currently defined profiles.
See the discussion on getting all currently defined collections profiles in BRM Collections Manager.
Gets a list of all collections scenarios and associated profiles in the current brand. This opcode is called by Collections Configuration to list all currently defined scenarios and profiles.
See the discussion on getting all currently defined collections scenarios in BRM Collections Manager.
Gets details of a particular collections scenario. This opcode is called by Collections Configuration to display details of the selected scenario.
See the discussion on getting details of a collections scenario in BRM Collections Manager.
Gets a list of templates for the current brand. When a user creates or updates a collections configuration action that requires a template, this opcode is called by Collections Configuration to display a list of available templates.
See the discussion on getting a list of message templates in BRM Collections Manager.
Creates or updates a collections action. This opcode is called by Collections Configuration when a user creates a new action or modifies an existing action.
See the discussion on creating or updating collections actions in BRM Collections Manager.
Creates or updates a collections profile. This opcode is called by Collections Configuration when a user creates or modifies the profile.
See the discussion on creating or updating collections profiles in BRM Collections Manager.
Exempts bill units (/billinfo objects) from collections. This opcode is called by Collections Center when a CSR exempts a bill unit from collections.
See the discussion on exempting bill units from collections in BRM Collections Manager.
Finds historic information about a particular collections action. This opcode is called by Collections Center to display historic details about when an action was assigned to a collections agent, reassigned, rescheduled, changed status, and so on.
See the discussion on retrieving collections action history information BRM Collections Manager.
Retrieves a list of collections actions assigned to collections agents. When collections managers request an overview of the workload for the collections agents they supervise, this opcode is called by Collections Center.
See the discussion on retrieving a list of collections actions in BRM Collections Manager.
Gets a list of bill units (/billinfo objects) that are in collections. This opcode is called by Collections Center to display the bill units in collections that meet search criteria specified by a CSR.
To assign a bill unit to an agent, use PCM_OP_COLLECTIONS_ASSIGN_AGENT.
To exempt a bill unit from collections, use PCM_OP_COLLECTIONS_EXEMPT_BILLINFO.
See the discussion on retrieving a list of bill units in collections in BRM Collections Manager.
Creates formatted dunning letters. This opcode is called by the pin_collections_send_dunning application to retrieve a dunning letter.
See the discussion on retrieving dunning letters in BRM Collections Manager.
Gets details of the collections scenario for a bill unit. This opcode is called by Collections Center to display details of the collections actions scheduled for the bill unit by the collections scenario.
See the discussion on retrieving scenario information in BRM Collections Manager.
Determines all the eligible collections scenarios for a bill unit by considering the entry amount, entry days, severity of a scenario, and additional configurable parameters. The results are ordered by the entry amount in the descending order and severity in the ascending order.
For each collections scenario in the search result, the opcode calls the PCM_OP_COLLECTIONS_POL_GET_VALID_SCENARIOS policy opcode that uses the scenario as input and returns if the scenario is valid for the bill unit being processed or not. If the scenario is valid, the opcode adds the scenario to the list of valid scenarios, else the opcode evaluates the next scenario.
This opcode is called by Collections Configuration during scenario assignment or replacement to list out the valid scenarios from which you can select a replacement scenario.
See the discussion on getting all valid collections scenarios and scenario assignment or replacement in BRM Collections Manager.
This opcode adds a member to the collections group. The opcode checks if the account is already a member of the group object. The opcode validates if the new member is a subordinate account. Only a subordinate account can be a member of the collections group.
This opcode creates the collections group.
If you pass a member's details in the input flist, the opcode calls PCM_OP_COLLECTIONS_GROUP_ADD_MEMBER opcode to add the member to the collections group.
For a given bill unit provides information whether it belongs to the collections group or not. It will also provide the details about the pending receivables for the bill unit.
If the bill unit is a parent of a collections group, the opcode provides the name of the group and its members.
This opcode is used to rename the group, change parent, or replace existing members. While replacing the existing members, the opcode validates all the members and replaces the existing set of group members.
This opcode assigns a new collections group owner to a collections group. The opcode validates if the bill unit is an owner of any other collections group. A bill unit can be the owner of only one collections group.
Invokes the promise-to-pay agreement for a bill unit which is already in collections.
See the discussion on promise-to-pay in BRM Collections Manager.
Determines whether bill units (/billinfo objects) enter or exit collections and performs collections actions. This opcode is called by the pin_collections_process utility.
See the discussion on executing automatic collections actions BRM Collections Manager.
Reschedules an action that was scheduled by a bill unit's collections scenario. This opcode is called by Collections Center to reschedule the action to be performed on the bill unit.
See the discussion on rescheduling an action scheduled for a bill unit in BRM Collections Manager.
Replaces the current collections scenario for a bill unit with a new scenario.
See the discussion on replacing a collections scenario in BRM Collections Manager.
Revokes or cancels the promise-to-pay agreement for a bill unit.
See the discussion on revoking the promise-to-pay action in BRM Collections Manager.
Changes the status of a collections action. This opcode is called by Collections Center to update the status of an assigned action.
See the discussion on changing the status of a collections action in BRM Collections Manager.
Gathers data for system-generated dunning letters.
See the discussion on gathering and storing data for dunning letters in BRM Collections Manager.
Prepares an invoice reminder message. This message is delivered by means of the Universal Message Store (UMS) framework.
This opcode is called by PCM_OP_COLLECTIONS_PROCESS_BILLINFO if the scenario associated with the bill unit calls for an invoice reminder.
See the discussion on preparing invoice reminders in BRM Collections Manager.
Use the opcodes listed in Table 1-20 to customize how Content Manager processes AAA requests from third-party content providers.
Include the ops/content.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-20 Content Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Performs customer authorization and validation checks. See the discussion on returning extended accounting data in BRM Content Manager. |
Recommended |
|
Performs authorization checks. See the discussion on customizing authorization in BRM Content Manager. |
Recommended |
|
Returns extended accounting data to the caller. See the discussion on returning extended authorization data in BRM Content Manager. |
Recommended |
|
Returns extended authorization data to the caller. See the discussion on translating extended events in BRM Content Manager. |
Recommended |
|
Translates name-value pairs in the input flist to field name-value pairs. See the discussion on returning extended accounting data in BRM Content Manager. |
Recommended |
|
Resolves the given request ID to the login of the /service/content object. See the discussion on resolving customer logins in BRM Content Manager. |
Recommended |
Performs customer authorization and validation.
This opcode is called by the PCM_OP_CONTENT_ACCOUNTING standard opcode.
See the discussion on returning extended accounting data in BRM Content Manager.
Authorizes customers to access content.
This opcode is called by the PCM_OP_CONTENT_AUTHORIZE standard opcode.
See the discussion on customizing authorization in BRM Content Manager.
Returns extended data to the caller.
This opcode is called by the PCM_OP_CONTENT_ACCOUNTING standard opcode.
See the discussion on returning extended accounting data in BRM Content Manager.
Returns extended data to the caller.
This opcode is called by the PCM_OP_CONTENT_AUTHORIZE standard opcode.
See the discussion on returning extended authorization data in BRM Content Manager.
Translates name-value pairs in the input flist to field name-value pairs. By default, this opcode returns the POID in the input flist.
This opcode is called by the PCM_OP_CONTENT_AUTHORIZE and PCM_OP_CONTENT_ACCOUNTING standard opcodes.
See the discussion on translating extended events in BRM Content Manager.
Resolves the given request ID to the customer login of the /service/content object.
This opcode is called by the PCM_OP_CONTENT_AUTHENTICATE, PCM_OP_CONTENT_CANCEL_AUTHORIZATION, and PCM_OP_CONTENT_AUTHORIZE standard opcodes.
See the discussion on resolving customer logins in BRM Content Manager.
The opcodes listed in Table 1-21 are used to create, modify, or retrieve Content Manager access lists and process AAA requests from content providers.
Include the ops/content.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-21 Content Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Charges the customer for content accessed. See the discussion on charging customers for content usage inBRM Content Manager. |
Recommended |
|
Verifies that a /service/content object exists with the given customer login. See the discussion on authenticating customers in BRM Content Manager. |
Recommended |
|
Authorizes a customer to access content. See the discussion on authorizing customers to access third-party content in BRM Content Manager. |
Recommended |
|
Cancels a previous user authorization to access content. See the discussion on canceling existing authorizations in BRM Content Manager. |
Recommended |
|
Finds the account object with the given customer ID. See the discussion on finding customer accounts in BRM Content Manager. |
Recommended |
|
Reads the content categories from the specified service object. See the discussion on retrieving an access list in BRM Content Manager. |
Recommended |
|
Sets the content category list in the specified service object. See the discussion on creating or modifying an access list in BRM Content Manager. |
Recommended |
Charges customers for third-party content usage.
See the discussion on charging customers for content usage in BRM Content Manager.
Verifies that a /service/content object exists with the given customer login.
See the discussion on authenticating customers in BRM Content Manager.
Authorizes a customer to access third-party content.
See the discussion on authorizing customers to access third-party content in BRM Content Manager.
Cancels a previous authorization to disable access to content.
See the discussion on canceling existing authorizations in BRM Content Manager.
Finds the account object that contains the given customer ID. This opcode uses the extended data to resolve the request ID supplied in the login field.
See the discussion on finding customer accounts in BRM Content Manager.
The opcodes in Table 1-22 manage the communication between a client application and the BRM database.
Include the pcm.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
This opcode simplifies opening a PCM context in a BRM application program. Instead of having to manually create an input flist for PCM_CONTEXT_OPEN, you can put all information necessary for opening a context in the application's pin.conf file. PCM_CONNECT reads those entries from the application's pin.conf file, creates an input flist with that information, and then calls PCM_CONTEXT_OPEN to open the context.
The routine first looks in the application's pin.conf file for the userid and login_type entries. If login_type is 0 (no login and password required), PCM_CONNECT calls PCM_CONTEXT_OPEN with a NULL input flist. The POID from the userid entry is used to route the context open request to the desired database schema. See "PCM_CONTEXT_OPEN" for details on userid values.
If login_type is 1, PCM_CONNECT also reads the login_name and login_pw entries. It then calls PCM_CONTEXT_OPEN with an input flist containing values for PIN_FLD_POID, PIN_FLD_TYPE, PIN_FLD_LOGIN, and PIN_FLD_PASSWD_CLEAR, which it got from the userid, login_type, login_name, and login_pw pin.conf entries, respectively.
Important:
In your application, when you open a context and connect to the BRM server, perform all the PCM operations before closing the context. Connections add a significant overhead to the system, which affects performance. Therefore, to improve performance, perform all the operations in an open context instead of opening and closing contexts frequently. Use CM proxy for applications that cannot maintain an open context for a long time. See the discussion on using cm_proxy to allow unauthenticated logins in BRM System Administrator's Guide.See "PCM_CONTEXT_OPEN" for a full description of opening contexts.
A pointer to an open PCM context, which is returned by a successful call.
If 0 is passed in by using (int64) 0, 0 is returned. Otherwise, the number of the database schema to which this context has been opened is returned. The database number comes from the userid entry in the calling application's pin.conf file.
A pointer to an error buffer. Used to pass status information back to the caller.
See "PCM_CONTEXT_OPEN".
See "PCM_CONTEXT_OPEN".
The sample_app.c file and the accompanying makefile illustrate how to use this opcode when setting up a generic BRM account and service. The files are located in BRM_SDK_Home/source/samples/app/c.
Here is an additional example of how to use this routine:
PIN_ERR_CLEAR_ERR(&ebuf);
PCM_CONNECT(&ctxp, &db_no, &ebuf);
if (PIN_ERR_IS_ERR(&ebuf)) {
...
}
This opcode closes a context to the BRM system. The context should be closed once it is no longer needed by an application. This operation breaks the connection to the BRM system and frees all memory associated with the context.
If an application exits, all open contexts are automatically closed by the BRM system.
See the discussion on the PCM API in BRM Developer's Guide for more information on contexts.
#include "pcm.h" void PCM_CONTEXT_CLOSE( pcm_context_t *pcm_ctxp, int32 how, pin_errbuf_t *ebufp);
A pointer to an open PCM context.
The how parameter tells how to close the connection. The normal choice is to completely close the connection by passing in a (int32) 0. However, if you fork a process, the process that does not continue making PCM calls (usually the child process) should at least close all open FDs. This can be done by passing PCM_CONTEXT_CLOSE_FD_ONLY as the value of how. This has the benefit of allowing the child process (in most cases) to close the FDs without closing the PCM connection in the parent that spawned it. If the child process wants to continue to make PCM calls, it should open another PCM connection.
A pointer to an error buffer. Used to pass status information back to the caller.
This opcode returns nothing.
Error status is passed back to the caller using the error buffer.
This routine uses individual-style ebuf error handling. This means the application must explicitly test for an error condition recorded in the error buffer before making other calls to the BRM API. See the discussion on understanding API error handling and logging for details on error handling algorithms in BRM Developer's Guide.
This opcode opens a context to the BRM database. All data in the BRM database is accessed using an open context. A dynamically allocated context structure is passed back and is used in subsequent PCM calls to identify the open context. The context structure is opaque to the application and is used only to identify the context for other calls.
Important:
In your application, when you open a context and connect to the BRM server, perform all the PCM operations before closing the context. Connections add a significant overhead to the system, which affects performance. Therefore, to improve performance, do all the operations in an open context instead of opening and closing contexts frequently. If a context is opened from within a CM, it must remain open during the entire client life cycle. Use CM proxy for applications that cannot maintain an open context for a long time. See the discussion on using cm_proxy to allow unauthenticated logins in BRM System Administrator's Guide.Important:
If you have client applications running on the same server as the CM or DM, you still need to use a TCP/IP connection for invoking opcodes. You also need to establish a PCM connection to obtain a context for invoking opcodes.A context can only have one outstanding operation at a time. Even if the asynchronous routines are used to launch an operation, another one cannot be started until the outstanding one is either completed or aborted.
If parallel operations are required (in the same or a different database schema), the application can open multiple contexts to the BRM database. There is no limit to the number of contexts an application can open.
When a context is no longer needed, it should be closed using PCM_CONTEXT_CLOSE. The open context can survive any errors (except losing the socket), so it can still be used even after one operation has failed.
A single context is normally opened by a client to access a single database schema. The client application is responsible for including a POID in its PCM library calls. Each POID contains a database number. The CM uses this schema number to route the client's request (the operation) to the proper DM.
See the discussions on adding new client applications and writing a custom FM in BRM Developer's Guide.
A single context can support access to many database schemas simultaneously, but the client is responsible for passing the correct database schema IDs. Furthermore, the CM handling requests for the client must be configured to access multiple database schemas. That is, it must have the schema numbers and IP addresses. This information is passed to the CM by using the dm_pointer entries in the CM's pin.conf file.
Only one transaction can be open at a time, and object manipulation functions performed while a transaction is open must apply to the same database schema. If a transaction is opened and you need to access another schema, open another context and access it through the new context. See the discussion on the PCM API document in BRM Developer's Guide for more information on contexts.
For PCM_CONTEXT_OPEN inside an FM, always use (pin_flist_t*)NULL for in_flistp.
The BRM base database does not support transactions across database systems.
By default, CMs require a user login and password when requesting an open context using PCM_CONTEXT_OPEN. However, you can remove this authentication requirement by configuring the CM with a cm_login_module of cm_login_null.so. The cm_login_module entry in the CM's pin.conf file is explained in the comments in that file. When the CM is configured to require a password and login, the input flist (in_flistp) for PCM_CONTEXT_OPEN must be constructed as explained below.
By default, session event logs are written each time a context is opened. For more information on performance implications, see the discussion on turning off session event logging in BRM System Administrator's Guide.
#include "pcm.h" void PCM_CONTEXT_OPEN( pcm_context_t **pcm_ctxpp, pin_flist_t *in_flistp, pin_errbuf_t *ebufp);
A pointer to an open PCM context.
Two types of login are supported:
type = 0 - base level security: verify the specified service by type and ID.
type =1 - login/password security: look up the specified service by login name and validate the password.
If in_flistp is NULL, type 0 login is attempted. Otherwise, the input flist can specify either type 0 or type 1 login.
For type 0 login, the following two fields are required:
PIN_FLD_POID
The portions of the POID that are used during login verification are database number, service, and ID. The specified service with the specified ID is looked up in the BRM database. If this service does not exist, the login is denied. By default, the root account's /service/pcm_client service can be used for the service and its ID of 1 can be used for the ID.
Any valid service type and ID could be used instead of the root account's /service/pcm_client service.
PIN_FLD_TYPE
The login type is 0.
For type 1 login, the following four fields are required:
PIN_FLD_POID
The portions of the POID used during login verification are database number, service, and ID. In the case of type 1 login, the database number and service type are significant. The ID is required because the POID requires one, but any value can be used (usually 1). The BRM database is searched for a service object (matching the service type contained in PIN_FLD_POID) that has a login that matches the login value for the PIN_FLD_LOGIN field. If no service with the specified login exists, the login is denied. Otherwise, the password is checked.
By default, the root account's /service/pcm_client service can be used for the service type, and its ID of 1 can be used for the ID. You are free to create other /service objects that can be used for login verification.
PIN_FLD_TYPE
The login type is 1.
PIN_FLD_LOGIN
A login name.
Note:
The login cannot contain the characters : and @. The / character is allowed.PIN_FLD_PASSWD_CLEAR
The cleartext password for login.
Note:
The password cannot contain the characters : and @. The / character is allowed.See PCM_CONTEXT_OPEN.input, the input flist specification, for more details on in_flistp.
A pointer to an error buffer. Used to pass status information back to the caller.
This opcode returns nothing.
Error status is passed back to the caller using the error buffer.
The context structure used to identify the open context is passed back using pcm_ctxpp. If an error occurred, NULL is passed back.
This routine uses individual-style ebuf error handling. This means the application must explicitly test for an error condition recorded in the error buffer before making other calls to the BRM API. See the discussion on understanding API error handling and logging for details on error handling algorithms in BRM Developer's Guide.
The following codes may be returned in ebufp->pin_err:
PIN_ERR_BAD_ARG
Indicates one of the following conditions:
The flags parameter was not set properly.
The PCM ctxpp or ebufp structures are NULL.
The configuration information does not point to a valid Connection Manager.
Unable to open a socket to the Connection Manager.
Too many sessions are open.
PIN_ERR_NONE
Routine successful; operation is complete.
PIN_ERR_NO_MEM
A memory allocation failed.
PIN_ERR_BAD_LOGIN_RESULT
The login failed.
This opcode is a wrapper function for all PCM operations. This opcode performs a PCM opcode operation on an open context. The operation is done synchronously, so the calling process waits until the operation is complete and has the return flist immediately available for inspection.
All PCM opcode operations can be performed using this routine. The specific fields required and allowed on the input and return flists depend on the operation being performed.
If a PCM base opcode operation is run using PCM_OP when no transaction is open on the context, the operation is implicitly wrapped in a transaction so all effects of the operation occur atomically. If a PCM FM opcode operation is run when no transaction is open on the context, it may or may not implicitly wrap all changes in a transaction. This is dependent on the FM operation being performed.
#include "pcm.h" void PCM_OP( pcm_context_t *pcm_ctxp, int32 opcode, int32 flags, pin_flist_t *in_flistp, pin_flist_t **ret_flistpp, pin_errbuf_t *ebufp);
A pointer to an open PCM context.
The operation (PCM opcode) to be performed. See the "Base Opcodes" for choices.
The flags supported by the opcode being called. See the opcode descriptions for information on the flags they take. Most opcodes take no flags, which is input as (int32) 0.
A pointer to the input flist. See the individual opcode manual pages for the input flist specifications.
A pointer to a pointer for passing back the return flist. See the individual opcode manual pages for the return flist specifications. All operations produce a return flist with at least the PIN_FLD_POID field on it. Other fields on the return flist depend on the operation being performed. The return flist is passed back even if an error occurred during the operation. It is the responsibility of the caller to destroy the return flist when it is no longer needed.
A pointer to an error buffer. Used to pass status information back to the caller.
This opcode returns nothing.
Error status is passed back to the caller using the error buffer.
The return flist is passed back using ret_flistpp. A return flist is always passed back, even if an error occurs. It is the responsibility of the caller to destroy both the input and return flists.
The following codes may be returned:
PIN_ERR_NONE
Routine successful; operation is complete.
other codes
Routine failed; see the "Error-Handling" section.
This routine uses individual-style ebuf error handling. This means the application must explicitly test for an error condition recorded in the error buffer before making other calls to the BRM API. See the discussion on understanding API error handling and logging for details on error handling algorithms in BRM Developer's Guide.
The following error codes returned from PCM_OP indicate an error in the PCP transmission protocol:
PIN_ERR_BAD_XDR
PIN_ERR_STREAM_EOF
PIN_ERR_STREAM_IO
PIN_ERR_TRANS_LOST
PIN_ERR_CM_ADDRESS_LOOKUP_FAILED
If you see one of these errors, close the context on which the error occurred and open a new one. The output flist is undefined, but the input flist is still valid.
You use this opcode to call FM opcodes in the same way as PCM_OP. The opcode syntax and input parameters are the same as PCM_OP. The only difference between them is that PCM_OPREF passes a reference to the input flist whereas PCM_OP passes a copy of the input flist to the called opcode.
PCM_OPREF should be used to call opcodes that won't modify the input flist.
When you have large input flists (for example, invoice flists), using PCM_OPREF is a more efficient than PCM_OP because it passes the flist by reference and does not make a copy of the input flist, which saves memory.
#include "pcm.h" void PCM_OPREF( pcm_context_t *pcm_ctxp, int32 opcode, int32 flags, pin_flist_t *in_flistp, pin_flist_t **ret_flistpp, pin_errbuf_t *ebufp);
A pointer to an open PCM context.
The operation (PCM opcode) to be performed. See the "Base Opcodes" for choices.
The flags supported by the opcode being called. See the opcode descriptions for information on the flags they take. Most opcodes take no flags, which is input as (int32) 0.
A pointer to the input flist. See the individual opcode manual pages for the input flist specifications.
A pointer to a pointer for passing back the return flist. See the individual opcode manual pages for the return flist specifications. All operations produce a return flist with at least the PIN_FLD_POID field on it. Other fields on the return flist depend on the operation being performed. The return flist is passed back even if an error occurred during the operation. It is the responsibility of the caller to destroy the return flist when it is no longer needed.
A pointer to an error buffer. Used to pass status information back to the caller.
This opcode returns nothing.
The return flist is passed back using ret_flistpp. A return flist is always passed back, even if an error occurs. It is the responsibility of the caller to destroy both the input and return flists.
Error status is passed back to the caller using the error buffer.
The following codes may be returned:
PIN_ERR_NONE
Routine successful; operation is complete.
other codes
Routine failed; see the "Error-Handling" section.
This routine uses individual-style ebuf error handling. This means the application must explicitly test for an error condition recorded in the error buffer before making other calls to the BRM API. See the discussion on understanding API error handling and logging for details on error handling algorithms in BRM Developer's Guide.
The following error codes returned from PCM_OPREF indicate an error in the PCP transmission protocol:
PIN_ERR_BAD_XDR
PIN_ERR_STREAM_EOF
PIN_ERR_STREAM_IO
PIN_ERR_TRANS_LOST
PIN_ERR_CM_ADDRESS_LOOKUP_FAILED
If you see one of these errors, close the context on which the error occurred and open a new one. The output flist is undefined, but the input flist is still valid.
Use the opcodes listed in Table 1-23 to customize the business logic to process account information during customer registration.
Include the ops/cust.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-23 Customer FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Searches on localized customer inputs. See the discussion on creating a localized version of BRM in BRM Developer's Guide. |
Recommended |
|
Compares service or account passwords. See the discussion on implementing password encryption in BRM Managing Customers. |
Recommended |
|
Decrypts a clear text password. See the discussion on implementing password encryption in BRM Managing Customers. |
Recommended |
|
Checks an account or service password. See the discussion on implementing password encryption in BRM Managing Customers. |
Recommended |
|
Calculates and sets the expiration date for the password. See the discussion on customizing password expiration in BRM Managing Customers. |
Recommended |
|
Gets new customer configuration information. See the discussion on sending account information to your application when an account is created in BRM Managing Customers. |
Recommended |
|
Gets a list of database schemas defined to the system in a multischema environment. See the discussion on getting a list of database schemas in BRM Managing Customers. |
Recommended |
|
Selects a database schema to use based on the priority you set (also loads the CM cache with information from the /config/distribution storable class). See the discussion on selecting a database schema in BRM Managing Customers. |
Recommended |
|
Gets deals available for purchase by the given account or service. See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers. |
Recommended |
|
Gets registration introductory message. See the discussion on specifying an introductory message in BRM Managing Customers |
Recommended |
|
Gets registration pricing plans. See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers. |
Recommended |
|
Gets registration POP list. See the discussion on returning a point-of-presence (POP) list in BRM Managing Customers. |
Recommended |
|
Gets products available for purchase by the given account or service. See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers. |
Recommended |
|
Retrieves a list of the plans and deals that an account owns. See the discussion on getting a list of plans and deals that an account owns in BRM Managing Customers. |
Recommended |
|
A hook to perform legacy or external activities during the service modification process. |
Recommended |
|
Registration hook after transaction commit. See the discussion on creating hooks to external programs inBRM Managing Customers. |
Recommended |
|
A hook after transaction commit on purchasing an add-on plan by a customer. See the discussion on creating hooks to external programs inBRM Managing Customers. |
Recommended |
|
Registration hook before transaction commit. See the discussion on creating hooks to external programs in BRM Managing Customers. |
Recommended |
|
Policy hook to take any necessary actions on customized payment information before the associated /payinfo object is deleted. See the discussion on creating hooks to external programs in BRM Managing Customers. |
Recommended |
|
Prepares automatic creation data for validation. See the discussion on customizing automatic account creation (AAC) information in BRM Managing Customers. |
Recommended |
|
Prepares account data for validation. See the discussion on the PREP and VALID opcodes in BRM Developer's Guide. |
Recommended |
|
Prepares billing information for validation. See the discussion on preparing /billinfo data in BRM Configuring and Running Billing. |
Recommended |
|
Prepares inherited customer data for validation. See the discussion on creating customization interfaces in BRM Developer's Guide. |
Recommended |
|
Prepares credit limit information prior to validation. See the discussion on the PREP and VALID opcodes in BRM Developer's Guide. |
Recommended |
|
Prepares locale information for validation. See the discussion on managing and customizing locale information in BRM Managing Customers. |
Recommended |
|
Prepares service login data for validation. See the discussion on customizing login names in BRM Managing Customers. |
Recommended |
|
Prepares customer contact data for validation. See the discussion on customizing name and address information in BRM Managing Customers. |
Recommended |
|
Prepares password data for validation. See the discussion on creating passwords in BRM Managing Customers. |
Recommended |
|
Processes inherited fields and prepares a /payinfo object. See the discussion on the PREP and VALID opcodes in BRM Developer's Guide. |
Limited |
|
Modifies account data prior to issuing the final call. See the discussion on collecting nonstandard account information in BRM Managing Customers. |
Limited |
|
Prepares status information prior to validation. See the discussion on the PREP and VALID opcodes in BRM Developer's Guide. |
Limited |
|
Prepares information used to set up and modify standard top-ups and sponsored top-ups. See the discussion on preparing an account's top-up information in BRM Configuring and Collecting Payments. |
Recommended |
|
Reads a given plan and constructs a tree for the services, deals and products associated with that plan. See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers. |
Recommended |
|
Allows brand names to be changed. See the discussion on changing the brand of an account by using a custom application in BRM Managing Customers. |
Recommended |
|
Use custom rates to calculate taxes. See the discussion on using custom tax rates in BRM Configuring and Running Billing. |
Recommended |
|
Load custom tax data into the cache. See the discussion on using custom tax rates in BRM Configuring and Running Billing. |
Recommended |
|
Returns the list of deals available for transition. See the discussion on customizing deal transitions in BRM Managing Customers. |
Recommended |
|
Returns the list of plans available for transition. See the discussion on customizing deal transitions in BRM Managing Customers. |
Recommended |
|
Validates automatic creation data. See the discussion on customizing automatic account creation (AAC) information in BRM Managing Customers. |
Recommended |
|
Validates account information. See the discussion on the PREP and VALID opcodes in BRM Developer's Guide. |
Recommended |
|
Validates billing information See the discussion on validating /billinfo data in BRM Configuring and Running Billing. |
Recommended |
|
Validates credit limit information before it is set in the account. See the discussion on customizing credit limits and resource consumption rules in BRM Managing Customers. |
Recommended |
|
Validates locale information. See the discussion on managing and customizing locale information in BRM Managing Customers. |
Recommended |
|
Validates service login data. See the discussion on customizing login names in BRM Managing Customers. |
Recommended |
|
Validates customer contact data. See the discussion on customizing name and address information in BRM Managing Customers. |
Recommended |
|
Validates account or service password data. See the discussion on creating passwords in BRM Managing Customers. |
Recommended |
|
Validates inherited fields for a /payinfo object. See the discussion on the PREP and VALID opcodes in BRM Developer's Guide. |
Limited |
|
Reviews and validates data prior to creating an object. See the discussion on collecting nonstandard account information in BRM Managing Customers. |
Limited |
|
Validates credit limit information before it is set in the account. See the discussion on changing the status of an account, bill unit, or service in BRM Managing Customers. |
Limited |
|
Validates the VAT certificate number provided at the time of account creation. See the discussion on validating tax information in BRM Configuring and Running Billing. |
Recommended |
|
Validates information used to set up and modify standard top-ups and sponsored top-ups. See the discussion on validating an account's top-up information in BRM Configuring and Collecting Payments. |
Recommended |
Searches for localized (non-English) customer input string fields. The default implementation is the US locale. Canonicalization handles Latin based characters only. You must customize this opcode for other languages.
This opcode is called by the PCM_OP_CUST_COMMIT_CUSTOMER, PCM_OP_CUST_SET_NAMEINFO standard opcodes, and the Customer Center search screen.
Checks account or service password. This operation takes a cleartext password and an encrypted password and performs a comparison to check if the cleartext password was the source value of the encrypted password.
This opcode is called by the PCM_OP_ACT_VERIFY standard opcode.
See the discussion on implementing password encryption in BRM Managing Customers.
This opcode decrypts a clear text password.
This opcode is called by the PCM_OP_WAP_AUTHENTICATE, PCM_OP_TERM_IP_DIALUP_AUTHENTICATE, PCM_OP_CONTENT_AUTHENTICATE, and PCM_OP_TCF_AAA_AUTHENTICATE standard opcodes.
See the discussion on implementing password encryption in BRM Managing Customers.
This opcode encrypts a clear text password based on the type of the POID given and/or the requested encryption algorithm. The binary result is stored as an ASCII-like string to facilitate storage. This opcode determines the kind of service being used from the POID passed in. All encryption requests from IP accounts get clear text encryption (to support CHAP).
This opcode is called by the PCM_OP_CUST_SET_PASSWD standard opcode, and the PCM_OP_CUST_POL_COMPARE_PASSWD policy opcode.
See the discussion on implementing password encryption in BRM Managing Customers.
Calculates and sets the expiration date for the password. This policy opcode is called when the password status of a CSR account is set as Expires.
By default, this opcode sets the password expiration date to 90 days.
To change the default password expiry duration, edit the passwd_age entry in the Connection Manager (CM) pin.conf file. For example, instead of 90 days you can set the expiration duration to 150 days.
This opcode is called by the PCM_OP_CUST_SET_PASSWD standard opcode.
See the following discussions:
Setting the default password expiry duration in BRM System Administrator's Guide
Customizing password expiration in BRM Managing Customers
Gets new customer configuration information. PCM_OP_CUST_POL_GET_CONFIG is called after customer registration has been successfully performed to specify the configuration data that should be returned to the client software.
This opcode is called by the PCM_OP_CUST_COMMIT_CUSTOMER standard opcode.
See the discussion on sending account information to your application when an account is created in BRM Managing Customers.
Gets a list of database schemas defined to the system in a multischema environment.
This opcode is not called by any opcode.
See the discussion on getting a list of database schemas in BRM Managing Customers.
Example 1-127 Sample Output Flists
Example output flist for a single-schema environment:
0 PIN_FLD_POID POID [0] 0.0.0.0 0 0
Example output flist for a multischema environment:
0 PIN_FLD_POID POID [0] 0.0.0.1 /config/distribution 21658 0 0 PIN_FLD_CREATED_T TSTAMP [0] (975089074) Fri Nov 24 10:04:34 2000 0 PIN_FLD_MOD_T TSTAMP [0] (975089074) Fri Nov 24 10:04:34 2000 0 PIN_FLD_READ_ACCESS STR [0] "G" 0 PIN_FLD_WRITE_ACCESS STR [0] "S" 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 0 PIN_FLD_DESCR STR [0] "Multi_db entries" 0 PIN_FLD_HOSTNAME STR [0] "-" 0 PIN_FLD_NAME STR [0] "Multi_db entries" 0 PIN_FLD_PROGRAM_NAME STR [0] "-" 0 PIN_FLD_VALUE STR [0] "" 0 PIN_FLD_VERSION STR [0] "" 0 PIN_FLD_DISTRIBUTION ARRAY [0] allocated 7, used 7 1 PIN_FLD_CRITERION STR [0] "" 1 PIN_FLD_CURR_ACCOUNT_SIZE INT [0] 100000 1 PIN_FLD_DB_NO INT [0] 1 1 PIN_FLD_DB_PRIORITY INT [0] 10 1 PIN_FLD_DB_STATUS ENUM [0] 1 1 PIN_FLD_DESCR STR [0] "Multi_db entry 1" 1 PIN_FLD_MAX_ACCOUNT_SIZE INT [0] 1000000 0 PIN_FLD_DISTRIBUTION ARRAY [1] allocated 7, used 7 1 PIN_FLD_CRITERION STR [0] "" 1 PIN_FLD_CURR_ACCOUNT_SIZE INT [0] 100000 1 PIN_FLD_DB_NO INT [0] 2 1 PIN_FLD_DB_PRIORITY INT [0] 10 1 PIN_FLD_DB_STATUS ENUM [0] 1 1 PIN_FLD_DESCR STR [0] "Multi_db entry 2" 1 PIN_FLD_MAX_ACCOUNT_SIZE INT [0] 1000000
In a multischema system, selects a database schema to use based on the schema priorities set in the BRM_Home/apps/multi_db/config_dist.conf file.
This opcode is called by the PCM_OP_CUST_COMMIT_CUSTOMER standard opcode.
See the discussion on selecting a database schema in BRM Managing Customers.
Get a list of deals available for purchase by the given account or service.
This opcode is not called by any opcode.
See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers.
Get registration introductory message. The type of account and pricing plan selected are passed to the operation on the input flist. This allows different introductory messages to be returned based on the values of these fields. The introductory message is returned on the output flist as an uninterpreted buffer of data. This allows the introductory message to include HTML, graphics and other complex information.
This opcode is not called by any opcode.
See the discussion on specifying an introductory message in BRM Managing Customers.
Retrieves and displays pricing plans based on customer information during registration. Your customer's Automatic Account Creation fields are passed into the operation on the input flist, allowing the opcode to qualify different price plans depending on the values of the fields returned by each customer.
You need to customize this policy opcode to search for and display the plan list by customer types. By default, if you pass in a type-only POID, the opcode retrieves the new plans, else it retrieves addon plans.
This opcode is not called by any opcode.
See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers.
Retrieves either the best POP (point-of-presence) for a registering customer to call, or the entire list of POPs so the customer can choose one.
This opcode is not called by any opcode.
See the discussion on returning a point-of-presence (POP) list in BRM Managing Customers.
Get a list of products available for purchase by the given account or service. Retrieves a list of products that are available for purchase by the given account or service. The product's PIN_FLD_PERMITTEDS array is checked for valid object types purchasing the product.
This opcode is not called by any opcode.
See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers.
Retrieves a list of plans, deals, or both that an account owns.
This opcode is not called by any opcode.
See the discussion on getting a list of plans and deals that an account owns in BRM Managing Customers.
Example 1-128 Sample Input Flist
# number of field entries allocated 20, used 1 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 38298 37
Example 1-129 Sample Output Flist
# number of field entries allocated 2, used 2 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 14994 0 0 PIN_FLD_PLAN ARRAY [0] allocated 3, used 3 1 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 13458 0 1 PIN_FLD_BAL_INFO ARRAY [0] allocated 2, used 2 2 PIN_FLD_NAME STR [0] "Balance Group (1)" 2 PIN_FLD_LIMIT ARRAY [840] allocated 3, used 3 3 PIN_FLD_CREDIT_FLOOR DECIMAL [0] NULL 3 PIN_FLD_CREDIT_LIMIT DECIMAL [0] 100000 3 PIN_FLD_CREDIT_THRESHOLDS INT [0] 0 1 PIN_FLD_SERVICES ARRAY [0] allocated 6, used 6 2 PIN_FLD_BAL_INFO_INDEX INT [0] 1 2 PIN_FLD_SERVICE_ID STR [0] "" 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 16274 0 2 PIN_FLD_SUBSCRIPTION_INDEX INT [0] 0 2 PIN_FLD_BOOLEAN INT [0] 1 2 PIN_FLD_DEALS ARRAY [0] allocated 3, used 3 3 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 8814 0 3 PIN_FLD_BOOLEAN INT [0] 1 3 PIN_FLD_NODE_LOCATION STR [0] "valhalla#18120/1#20040531-175418.634158:valhalla#18120/1#20040531-175418.670167#0"
Provides a hook to perform legacy or external activities by using the service information in the input flist during the service modification process.
Provides a mechanism to easily insert a trigger to external or legacy systems during customer registration.
The default implementation supports sending a welcome email message to the new customer.
This opcode is called by the PCM_OP_CUST_COMMIT_CUSTOMER standard opcode.
See the following discussions in BRM Managing Customers:
Creating hooks to external programs
Sending welcome messages to customers
Provides a hook for after the transaction of purchasing an add-on plan by a customer have been completed and committed. This opcode provides a mechanism to export customer data to an external or legacy system for processing when new services have been added to existing customers.
This opcode is called by the PCM_OP_CUST_MODIFY_CUSTOMER standard opcode.
See the discussion on creating hooks to external programs in BRM Managing Customers.
Registration hook after account creation. This operation provides a mechanism to easily insert a trigger to external or legacy systems during customer registration.
The PCM_OP_CUST_COMMIT_CUSTOMER opcode calls this opcode just after the /account and /service objects have been created and initialized, but before the transaction containing those operations has been committed. This opcode cannot alter the contents of the /account and /service objects, but it can abort the registration process by returning an ebuf error.
See the discussion on creating hooks to external programs in BRM Managing Customers.
Used to perform custom actions on a /payinfo object prior to the deletion of that /payinfo object.
This policy opcode is called by the PCM_OP_CUST_DELETE_PAYINFO opcode. The PCM_OP_CUST_DELETE_PAYINFO opcode calls this opcode before deleting a /payinfo object.
This policy opcode requires the POID of a /payinfo object in the PIN_FLD_POID field as input. It returns the POID of the /payinfo object in the PIN_FLD_POID field as its output.
Use this policy opcode to perform any actions that may be necessary before a /payinfo object is deleted by the PCM_OP_CUST_DELETE_PAYINFO opcode. For example, you can provide the code necessary to check if the /payinfo object selected for deletion has been customized. And if so, take appropriate precautionary actions before returning that object to the calling PCM_OP_CUST_DELETE_PAYINFO opcode.
See the discussion on customizing customer payment information in BRM Managing Customers.
Prepares automatic account creation (AAC) data for validation. This operation takes the AAC fields for an /account and /service object during customer registration, and processes them as necessary to prepare for validation. This opcode can be used to prepare ACC info to be ready for on-line registration.
The default implementation does nothing.
This opcode is called by the PCM_OP_CUST_INIT_SERVICE and PCM_OP_CUST_ACCTINFO standard opcodes.
See the discussion on customizing automatic account creation (AAC) information in BRM Managing Customers.
Prepares account data for validation. This opcode is called before an account is created or modified. This opcode sends the data to PCM_OP_CUST_POL_VALID_ACCTINFO for validation.
This opcode prepares the account information only if the PCM_OP_FLAG_CUST_REGISTRATION flag is set.
This opcode is called by the PCM_OP_CUST_ACCTINFO standard opcode.
See the discussion on the PREP and VALID opcodes in XBRM Developer's Guide.
Example 1-130 Sample Input Flist
0 PIN_FLD_ACCTINFO ARRAY [0] allocated 20, used 14 1 PIN_FLD_POID POID [0] 0.0.0.1 /account -1 0 1 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.0 / 0 0 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_BUSINESS_TYPE ENUM [0] 1 1 PIN_FLD_AAC_ACCESS STR [0] NULL str ptr 1 PIN_FLD_AAC_SOURCE STR [0] NULL str ptr 1 PIN_FLD_AAC_VENDOR STR [0] NULL str ptr 1 PIN_FLD_AAC_PACKAGE STR [0] NULL str ptr 1 PIN_FLD_AAC_PROMO_CODE STR [0] NULL str ptr 1 PIN_FLD_AAC_SERIAL_NUM STR [0] NULL str ptr 1 PIN_FLD_ACCOUNT_NO STR [0] "22825:1:shark"
Example 1-131 Sample Output Flist
0 PIN_FLD_ACCTINFO ARRAY [0] allocated 20, used 17 1 PIN_FLD_POID POID [0] 0.0.0.1 /account -1 0 1 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.0 / 0 0 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_BUSINESS_TYPE ENUM [0] 1 1 PIN_FLD_AAC_ACCESS STR [0] NULL str ptr 1 PIN_FLD_AAC_SOURCE STR [0] NULL str ptr 1 PIN_FLD_AAC_VENDOR STR [0] NULL str ptr 1 PIN_FLD_AAC_PACKAGE STR [0] NULL str ptr 1 PIN_FLD_AAC_PROMO_CODE STR [0] NULL str ptr 1 PIN_FLD_AAC_SERIAL_NUM STR [0] NULL str ptr 1 PIN_FLD_ACCOUNT_NO STR [0] "22825:1:shark" 1 PIN_FLD_GL_SEGMENT STR [0] "." 1 PIN_FLD_CURRENCY_SECONDARY INT [0] 0
Prepares billing data for validation. This opcode processes the account billing fields in the /billinfo object during customer registration or while updating billing information to prepare for validation.
This opcode is called by the PCM_OP_SUBSCRIPTION_PURCHASE_PRODUCT and PCM_OP_CUST_SET_BILLINFO standard opcodes.
See the discussion on preparing /billinfo data in BRM Configuring and Running Billing.
Prepares inherited information when a service object is created.
This opcode is called by PCM_OP_CUST_INIT_SERVICE to prepare inherited information to be ready for online registration. This opcode creates a place holder for a substruct in a /service string when a /account and /service object is created.
For GSM services, the default BEARER_SERVICE value is an empty string and the default PRIMARY_MSISDN value is set to 0.
See the discussion on creating customization interfaces in BRM Developer's Guide.
Prepares credit limit information prior to validation.
This opcode is called by the PCM_OP_BILL_SET_LIMIT_AND_CR standard opcode.
For information about setting credit limits, see the discussion on changing a customer's credit limit in BRM Managing Customers.
For information about the PREP opcodes, see the discussion on the PREP and VALID opcodes in BRM Developer's Guide.
The default implementation does nothing.
Prepares locale information prior to validation.
The default implementation does nothing.
This opcode is called by the PCM_OP_CUST_SET_LOCALE standard opcode.
See the discussion on managing and customizing locale information in BRM Managing Customers.
Prepares service login data for validation. This operation takes the login field for a service object during customer registration and processes it as necessary to prepare for validation.
This opcode is called by the PCM_OP_CUST_COMMIT_CUSTOMER and PCM_OP_CUST_SET_LOGIN standard opcodes.
See the discussion on customizing login names in BRM Managing Customers.
Prepares customer contact data for validation. This operation takes an element of contact information for an /account object during customer registration and processes it as necessary to prepare for validation.
If the country is not provided, it is assumed to be ”USA” and ”USA” is added as the country value. You can change the country parameter in the pin.conf file to insert any country when none is provided.
This opcode is called by the PCM_OP_CUST_SET_NAMEINFO and PCM_OP_CUST_COMMIT_CUSTOMER standard opcodes.
See the discussion on customizing name and address information in BRM Managing Customers.
Prepares account or service password for validation. This operation takes the password field for an /account or /service object during customer registration and processes it as necessary to prepare for validation.
This opcode is called by the PCM_OP_CUST_SET_PASSWD standard opcode.
See the discussion on creating passwords in BRM Managing Customers.
Processes inherited fields and prepares a /payinfo object. This opcode checks the pay type and creates the correct object based on that information.
This opcode is called by the PCM_OP_CUST_VALIDATE_CUSTOMER standard opcode.
See the discussion on the PREP and VALID opcodes in BRM Developer's Guide.
Modifies account data prior to issuing the final call. Normalizes data for searching purposes.
This opcode is called by the PCM_OP_CUST_CREATE_PROFILE and PCM_OP_CUST_MODIFY_PROFILE standard opcodes, and returns the flist that comes in.
See the discussions on the PREP and VALID opcodes in BRM Developer's Guide and collecting nonstandard account information in BRM Managing Customers.
Prepares status information of an account or service prior to validation. This call is used to modify status information before changing the account.
The default implementation does nothing.
This opcode is called by the PCM_OP_CUST_SET_STATUS standard opcode.
See the discussion on the PREP and VALID opcodes in BRM Developer's Guide.
Prepares information used to set up and modify standard top-ups and sponsored top-ups.
This opcode, which is in the fm_cust_pol_prep_topup.c file, can be customized in many ways to change the way top-ups are set up and modified. For example, you can customize the opcode to enable member accounts to change their top-up PINs and membership status.
This opcode is not called by any opcode.
See the following discussions in BRM Configuring and Collecting Payments:
Preparing an account's top-up information
Setting sponsored top-up member PINs
Used during account creation to customize a deal. For a given plan, this opcode constructs a tree of services, deals and products associated with that plan. This opcode retrieves account-level plans in addition to plans related to services.
This opcode is not called by any opcode.
See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers.
Allows brand names to be changed.
To prevent users from creating duplicate brand names within a brand and its sub-brands (the default) or within a BRM system, set the check_unique flag. To allow duplicate brand names, disable this check.
This opcode is called by the PCM_OP_CUST_SET_BRANDINFO standard opcode.
See the discussion on changing the brand of an account by using a custom application in BRM Managing Customers.
Queries the tax data loaded in the cache and uses that data to calculate taxes.
By default, this opcode reads the custom tax rate cached from the tax codes map file and uses this simple calculation method to calculate the taxes:
tax = amount * rate
This opcode is called by the PCM_OP_RATE_TAX_CALC standard opcode.
See the discussion on using custom tax rates in BRM Configuring and Running Billing.
Loads and caches any tax data that you define for calculating taxes. If you use your own tax calculation method instead of using tax calculation software, you use this opcode to load and cache your custom tax rates when the Connection Manager (CM) starts. Then, you can use your custom rates to calculate taxes.
This opcode is not called by any other opcode.
See the discussion on using custom tax rates in BRM Configuring and Running Billing.
Returns the list of deals and products available for transition. Use this policy opcode to perform any additional filtering of deals before they are returned as available for transition. For example, use this opcode to limit certain deals to customers in a specific city.
This opcode is not called by any opcode.
See the discussion on customizing deal transitions in BRM Managing Customers.
Example 1-132 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /deal 11822 0 0 PIN_FLD_TRANSITION_TYPE ENUM [0] 1
Example 1-133 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /deal 8275 0 0 PIN_FLD_DEALS ARRAY [0] allocated 13, used 13 1 PIN_FLD_POID POID [0] 0.0.0.1 /deal 10323 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1085078839) Thu May 20 11:47:19 2004 1 PIN_FLD_MOD_T TSTAMP [0] (1085078839) Thu May 20 11:47:19 2004 1 PIN_FLD_READ_ACCESS STR [0] "B" 1 PIN_FLD_WRITE_ACCESS STR [0] "S" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DESCR STR [0] "dealB" 1 PIN_FLD_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_FLAGS INT [0] 0 1 PIN_FLD_NAME STR [0] "dealB" 1 PIN_FLD_PERMITTED STR [0] "/service/email" 1 PIN_FLD_START_T TSTAMP [0] (0) <null> 1 PIN_FLD_PRODUCTS ARRAY [0] allocated 21, used 21 2 PIN_FLD_CYCLE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_CYCLE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_CYCLE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_CYCLE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_CYCLE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 9619 0 2 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_PURCHASE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_PURCHASE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_PURCHASE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_QUANTITY DECIMAL [0] 1 2 PIN_FLD_STATUS ENUM [0] 1 2 PIN_FLD_STATUS_FLAGS INT [0] 0 2 PIN_FLD_USAGE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_USAGE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_USAGE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_USAGE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_USAGE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_NAME STR [0] "ProductB" 2 PIN_FLD_DESCR STR [0] "ProductB" 0 PIN_FLD_DEALS ARRAY [1] allocated 13, used 13 1 PIN_FLD_POID POID [0] 0.0.0.1 /deal 8814 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1083899705) Thu May 06 20:15:05 2004 1 PIN_FLD_MOD_T TSTAMP [0] (1083899705) Thu May 06 20:15:05 2004 1 PIN_FLD_READ_ACCESS STR [0] "B" 1 PIN_FLD_WRITE_ACCESS STR [0] "S" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DESCR STR [0] "" 1 PIN_FLD_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_FLAGS INT [0] 0 1 PIN_FLD_NAME STR [0] "Deal 1a - Measured Internet Service" 1 PIN_FLD_PERMITTED STR [0] "/service/ip" 1 PIN_FLD_START_T TSTAMP [0] (0) <null> 1 PIN_FLD_PRODUCTS ARRAY [0] allocated 21, used 21 2 PIN_FLD_CYCLE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_CYCLE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_CYCLE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_CYCLE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_CYCLE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 11054 0 2 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_PURCHASE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_PURCHASE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_PURCHASE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_QUANTITY DECIMAL [0] 1 2 PIN_FLD_STATUS ENUM [0] 1 2 PIN_FLD_STATUS_FLAGS INT [0] 0 2 PIN_FLD_USAGE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_USAGE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_USAGE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_USAGE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_USAGE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_NAME STR [0] "Product 1a - Internet Access" 2 PIN_FLD_DESCR STR [0] "Charges for monthly internet access service and hourly usage." 0 PIN_FLD_DEALS ARRAY [2] allocated 13, used 13 1 PIN_FLD_POID POID [0] 0.0.0.1 /deal 10862 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1083899705) Thu May 06 20:15:05 2004 1 PIN_FLD_MOD_T TSTAMP [0] (1083899705) Thu May 06 20:15:05 2004 1 PIN_FLD_READ_ACCESS STR [0] "B" 1 PIN_FLD_WRITE_ACCESS STR [0] "S" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DESCR STR [0] "" 1 PIN_FLD_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_FLAGS INT [0] 0 1 PIN_FLD_NAME STR [0] "Deal 1b - Standard Email Access" 1 PIN_FLD_PERMITTED STR [0] "/service/email" 1 PIN_FLD_START_T TSTAMP [0] (0) <null> 1 PIN_FLD_PRODUCTS ARRAY [0] allocated 21, used 21 2 PIN_FLD_CYCLE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_CYCLE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_CYCLE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_CYCLE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_CYCLE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 8878 0 2 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_PURCHASE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_PURCHASE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_PURCHASE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_QUANTITY DECIMAL [0] 1 2 PIN_FLD_STATUS ENUM [0] 1 2 PIN_FLD_STATUS_FLAGS INT [0] 0 2 PIN_FLD_USAGE_DISCOUNT DECIMAL [0] 0 2 PIN_FLD_USAGE_END_CYCLE DECIMAL [0] 0 2 PIN_FLD_USAGE_END_T TSTAMP [0] (0) <null> 2 PIN_FLD_USAGE_START_CYCLE DECIMAL [0] 0 2 PIN_FLD_USAGE_START_T TSTAMP [0] (0) <null> 2 PIN_FLD_NAME STR [0] "Product 1b - Email Account" 2 PIN_FLD_DESCR STR [0] "Charges monthly for 1 email account."
Returns the list of plans available for transition. Use this policy opcode to perform any additional filtering of plans before they are returned as available for transition. For example, you can use this opcode to limit certain plans to customers in a specific city.
This opcode is not called by any opcode.
See the discussion on customizing deal transitions in BRM Managing Customers.
Example 1-134 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /plan 15044 0 0 PIN_FLD_TRANSITION_TYPE ENUM [0] 0
Example 1-135 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /plan 15044 0 0 PIN_FLD_PLAN ARRAY [0] allocated 11, used 11 1 PIN_FLD_POID POID [0] 0.0.0.1 /plan 15180 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1036008525) Wed Oct 30 12:08:45 2002 1 PIN_FLD_MOD_T TSTAMP [0] (1036008525) Wed Oct 30 12:08:45 2002 1 PIN_FLD_READ_ACCESS STR [0] "B" 1 PIN_FLD_WRITE_ACCESS STR [0] "S" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.0 / 0 0 1 PIN_FLD_DESCR STR [0] "" 1 PIN_FLD_FLAGS INT [0] 0 1 PIN_FLD_NAME STR [0] "Plan_ODB008" 1 PIN_FLD_SERVICES ARRAY [0] allocated 3, used 3 2 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 15948 0 2 PIN_FLD_SERVICE_ID STR [0] "" 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip -1 0 0 PIN_FLD_PLAN ARRAY [1] allocated 12, used 12 1 PIN_FLD_POID POID [0] 0.0.0.1 /plan 21582 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1036139153) Fri Nov 01 00:25:53 2002 1 PIN_FLD_MOD_T TSTAMP [0] (1036139153) Fri Nov 01 00:25:53 2002 1 PIN_FLD_READ_ACCESS STR [0] "B" 1 PIN_FLD_WRITE_ACCESS STR [0] "S" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.0 / 0 0 1 PIN_FLD_DESCR STR [0] "Purchase On Demand 50$" 1 PIN_FLD_FLAGS INT [0] 1048576 1 PIN_FLD_NAME STR [0] "Purchase On Demand 50$" 1 PIN_FLD_LIMIT ARRAY [840] allocated 3, used 3 2 PIN_FLD_CREDIT_FLOOR DECIMAL [0] NULL 2 PIN_FLD_CREDIT_LIMIT DECIMAL [0] 1000 2 PIN_FLD_CREDIT_THRESHOLDS INT [0] 0 1 PIN_FLD_SERVICES ARRAY [0] allocated 3, used 3 2 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 22606 0 2 PIN_FLD_SERVICE_ID STR [0] "" 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip -1 0
Validates automatic account creation data. This operation takes the automatic account creation fields for an /account or /service object during customer registration, and validates them.
This opcode is called by the PCM_OP_CUST_INIT_SERVICE standard opcode.
See the discussion on customizing automatic account creation (AAC) information in BRM Managing Customers.
Validates the fields that are required to create or modify an account based on the input from the calling opcode. This opcode is called by the PCM_OP_CUST_POL_PREP_ACCTINFO opcode when an account is being created or modified. If the mandatory fields are not passed in, this opcode reports an error.
By default, this policy opcode does not modify anything. You need to modify this opcode only for special situations.
This opcode is called by the PCM_OP_CUST_VALIDATE_CUSTOMER standard opcode.
See the discussion on the PREP and VALID opcodes in BRM Developer's Guide.
Example 1-136 Sample Input Flist
0 PIN_FLD_ACCTINFO ARRAY [0] allocated 20, used 17 1 PIN_FLD_POID POID [0] 0.0.0.1 /account -1 0 1 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.0 / 0 0 1 PIN_FLD_BAL_INFO ARRAY [0] NULL array ptr 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_BUSINESS_TYPE ENUM [0] 1 1 PIN_FLD_AAC_ACCESS STR [0] NULL str ptr 1 PIN_FLD_AAC_SOURCE STR [0] NULL str ptr 1 PIN_FLD_AAC_VENDOR STR [0] NULL str ptr 1 PIN_FLD_AAC_PACKAGE STR [0] NULL str ptr 1 PIN_FLD_AAC_PROMO_CODE STR [0] NULL str ptr 1 PIN_FLD_AAC_SERIAL_NUM STR [0] NULL str ptr 1 PIN_FLD_NAME STR [0] "PIN Account Object" 1 PIN_FLD_ACCOUNT_TYPE ENUM [0] 0 1 PIN_FLD_ACCOUNT_NO STR [0] "22825:1:shark" 1 PIN_FLD_ACTG_TYPE ENUM [0] 2 1 PIN_FLD_GL_SEGMENT STR [0] "." 1 PIN_FLD_CURRENCY_SECONDARY INT [0] 0
Validates billing information. This opcode validates an account's billing information in the /billinfo object passed to it by PCM_OP_CUST_POL_PREP_BILLINFO during customer registration or administrative update.
This opcode is called by the PCM_OP_CUST_VALIDATE_CUSTOMER and PCM_OP_CUST_SET_BILLINFO standard opcodes.
See the discussion on validating billinfo data in BRM Configuring and Running Billing.
Validates credit limit information before it is set in the account.
This opcode is called by the PCM_OP_BILL_SET_LIMIT_AND_CR standard opcode.
See the discussion on how BRM handles consumption rules and credit limits in BRM Managing Customers.
Validates locale information before it is set in the account.
This opcode is called by the PCM_OP_CUST_SET_LOCALE and PCM_OP_CUST_VALIDATE_CUSTOMER standard opcodes.
See the discussion on managing and customizing locale information in BRM Managing Customers.
Validates the given login according to the criteria contained in the /config/fld_validate object. This operation takes the login field for a /service object during customer registration or administrative update and validates it.
Caution:
BRM requires unique login names for service types. BRM will not function properly if this opcode is customized to allow nonunique login names.This opcode is called by the PCM_OP_CUST_SET_LOGIN, PCM_OP_CUST_COMMIT_CUSTOMER, and PCM_OP_CUST_VALIDATE_CUSTOMER standard opcodes.
See the discussion on customizing login names in BRM Managing Customers.
Validates customer contact data. This operation takes an element of contact information for an /account object during customer registration or administrative update, and validates the fields in it.
This opcode is called by the PCM_OP_CUST_SET_NAMEINFO and PCM_OP_CUST_VALIDATE_CUSTOMER standard opcodes.
See the discussion on customizing name and address information in BRM Managing Customers.
Validates account or service password data. This operation takes the password field for an /account or /service object during customer registration or administrative update and validates it.
The default check is to make sure that the password is not NULL and is less than 255 characters.
This opcode is called by the PCM_OP_CUST_SET_PASSWD and PCM_OP_CUST_VALIDATE_CUSTOMER standard opcodes.
See the discussion on creating passwords in BRM Managing Customers.
Validates inherited fields for a /payinfo object which may include a /payinfo/cc object for credit cards, or a /payinfo/dd object for direct debit transactions. For credit cards, this opcode checks the credit card type, number, expiration date, and CVV2 or CID number during registration.
Note:
The CVV2 and CID numbers are used by Visa and American Express for credit card fraud prevention. If the CM pin.conf file's cvv2_required flag is set to 1 (required) Andes CVV2 information is not provided in the input flist, the PIN_FLD_RESULT value is set to PIN_ERR_MISSING_ARG, with the description ”Missing argument”.If the information is valid, the standard checksum operation is performed.
This opcode is called by the PCM_OP_CUST_VALIDATE_CUSTOMER standard opcode.
See the discussion on the PREP and VALID opcodes in BRM Developer's Guide.
Reviews and validates data prior to creating an object.
This opcode is called by the PCM_OP_CUST_CREATE_PROFILE, PCM_OP_CUST_VALIDATE_CUSTOMER, and PCM_OP_CUST_MODIFY_PROFILE standard opcodes, and returns the flist that comes in. If the data is not valid, a list of possible problems is returned.
The default implementation does nothing.
See the discussion on collecting nonstandard account information in BRM Managing Customers.
Validates status information before it is set in the account. This operation validates status information for an account or service.
The default is to do no additional checking and to return the verified information.
This opcode is called by the PCM_OP_CUST_SET_STATUS standard opcode.
See the discussion on changing the status of an account, bill unit, or service in BRM Managing Customers.
Validates the VAT certificate number provided during account creation.
During account creation, the PCM_OP_CUST_SET_TAXINFO standard opcode calls this opcode to validate the VAT certificate number provided. This opcode prevents invalid VAT certificate numbers which cause errors in tax calculation.
This opcode returns the validation results of PASS or FAIL.
See the discussion on validating tax information in BRM Configuring and Running Billing.
Validates information used to set up and modify standard top-ups and sponsored top-ups. You can customize this opcode to change the way it validates the output flist of the PCM_OP_CUST_POL_PREP_TOPUP policy opcode.
This opcode is not called by any opcode.
See the discussion on validating an account's top-up information in BRM Configuring and Collecting Payments.
The opcodes in Table 1-24 manage the creation, deletion, and modification of account information during customer registration.
Include the ops/cust.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-24 Customer FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Updates the creditor details in the /config/creditor object and applies the creditor update to the /payinfo/sepa objects that are impacted by the amendment of the creditor information. See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments. |
Recommended |
|
Updates the mandate fields, except for the creditor information, in the /payinfo/sepa object. See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments. |
Limited |
|
Cancels a mandate. See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments. |
Recommended |
|
Changes a bill unit's business profile. Validates all the balance groups and services associated with the bill unit against the requirements of the new business profile. See the discussion on changing a bill unit's business profile in BRM Managing Customers. |
Recommended |
|
Performs all the tasks necessary to create an active and billable account in the database. See the discussion on how BRM creates accounts in BRM Managing Customers. |
Recommended |
|
Creates a generic /account object. See the discussion on how BRM creates accounts in BRM Managing Customers. |
Last Resort |
|
Creates one /associated_bus_profile object for each bill unit in the account. See the discussion on associating bill units with a BI Publisher invoice and report in BRM Configuring and Running Billing. |
Recommended |
|
Creates an active /balance_group object. See the discussion on creating balance groups in BRM Managing Accounts Receivable. |
Limited |
|
Creates an active /billinfo object. See the discussion on creating /billinfo objects in BRM Configuring and Running Billing. |
Limited |
|
Creates an active customer account, including creating and initializing an /account object and one or more /service objects. See the discussion on how BRM creates accounts in BRM Managing Customers. |
Limited |
|
Creates an active /payinfo object. See the discussions on how BRM creates accounts and on customizing customer payment information in BRM Managing Customers. |
Limited |
|
Creates a /profile object. See the discussion on managing and customizing profiles in BRM Managing Customers. |
Limited |
|
Creates an active service object with inheritance pass through. See the discussion on creating services in BRM Managing Customers. |
Last Resort |
|
Creates /topup and /group/topup objects. See the discussion on how BRM sets up top-up information for an account in BRM Configuring and Collecting Payments. |
Limited |
|
Deletes the specified /account object and all related objects. See the discussion on deleting accounts in BRM Managing Customers. |
Last Resort |
|
Deletes the specified /balance_group object. See the discussion on deleting a balance group in BRM Managing Accounts Receivable. |
Last Resort |
|
Deletes the specified /billinfo object and the balance groups associated with it. See the discussion on deleting billinfo objects in BRM Configuring and Running Billing. |
Last Resort |
|
Deletes the specified /payinfo object. See the discussion on customizing customer payment information in BRM Managing Customers. |
Recommended |
|
Deletes the specified /profile object. See the discussion on managing and customizing profiles in BRM Managing Customers. |
Limited |
|
Deletes /topup objects. See the discussion on deleting member accounts in BRM Configuring and Collecting Payments. |
Limited |
|
Searches for information in an /account object given an account number. See the discussion on finding customer accounts using opcodes in BRM Managing Customers. |
Recommended |
|
Finds /payinfo objects that belong to a specified account. See the discussion on finding payment info in BRM Configuring and Collecting Payments. |
Recommended |
|
Retrieves the /profile objects associated with a specified account. See the discussion on searching for account profile information in BRM Managing Customers. |
Recommended |
|
Gets the value of a key in the business profile and validation templates associated with an object. See the discussion on getting information about an object's business profile in BRM Managing Customers. |
Recommended |
|
Gets information from the life cycle states configuration object (/config/lifecycle_states) associated with a specified service type or gets the configuration object itself. See the discussion on managing service life cycles in BRM Managing Customers. |
Recommended |
|
Retrieves and returns the News Feed information stored in the /newsfeed object. |
Recommended |
|
Gets notes and note exchanges based on any of the /note object fields. |
Recommended |
|
Retrieves specific subscriber preferences (if indicated in the input list) or all the preferences for a subscriber. See the discussions on how the PCM_OP_TCF_AAA_POL_POST_PROCESS policy opcode works and on maintaining a subscriber's preferences data with custom client applications in BRM Telco Integration. |
Recommended |
|
Initializes a service object. See the discussion on creating services in BRM Managing Customers. |
Last Resort |
|
Modifies the specified /balance_group object. See the discussion on managing balance groups with your custom application in BRM Managing Accounts Receivable. |
Limited |
|
Modifies customer account information. See the discussion on modifying an account in BRM Managing Customers. |
Recommended |
|
Modifies selected fields in the /payinfo object. See the discussion on customizing customer payment information in BRM Managing Customers. |
Limited |
|
Modifies the specified /profile object. See the discussion on managing and customizing profiles in BRM Managing Customers. |
Limited |
|
Modifies the specified /service object. See the discussion on modifying services in BRM Managing Customers. |
Limited |
|
Modifies /topup and /group/topup objects. See the discussion on how BRM sets up top-up information for an account in BRM Configuring and Collecting Payments. |
Limited |
|
Validates customer registration information prior to account creation. See the discussion on how BRM creates accounts in BRM Managing Customers. |
Recommended |
|
Initializes an /account object with generic fields passed in on the input flist. See the discussion on how BRM creates accounts in BRM Managing Customers. |
Limited |
|
Updates the /associated_bus_profile objects whenever invoice business profiles are modified in the /config/business_profile object. See the discussion on associating bill units with a BI Publisher invoice and report in BRM Configuring and Running Billing. |
Recommended |
|
Performs all necessary tasks to set up the /balance_group object and create a link to the customer account. See the discussion on managing balance groups with your custom application in BRM Managing Accounts Receivable. |
Limited |
|
Updates billing information in a bill unit (/billinfo object) for a specified account. See the discussion on creating billinfo objects in BRM Configuring and Running Billing. |
Limited |
|
Enables changing the brand name after account creation. See the discussion on managing brands in BRM Managing Customers. |
Recommended |
|
Sets the Locale field of a specified /account object. See the discussion on managing and customizing locale information in BRM Managing Customers. |
Limited |
|
Updates the service login. See the discussion on customizing login names in BRM Managing Customers. |
Limited |
|
Sets account contact information such as customer name, address, and phone number. See the discussion on managing customer contact information in BRM Managing Customers. |
Limited |
|
Creates a new /note object or modifies an existing one. |
Recommended |
|
Updates the service password for a customer. See the discussion on customizing passwords in BRM Managing Customers. |
Limited |
|
Adds or updates the payment information for a bill unit (/billinfo object). See the discussion on customizing customer payment information in BRM Managing Customers. |
Limited |
|
Sets the status of an /account, /billinfo, or /service object. See the discussion on setting account, service, and bill unit status by using your custom application in BRM Managing Customers. |
Limited |
|
Creates, modifies, or deletes a /profile/subscriber_preferences object for a specified service or account. See the discussions on how the PCM_OP_TCF_AAA_POL_POST_PROCESS policy opcode works and on maintaining a subscriber's preferences data with custom client applications in BRM Telco Integration. |
Recommended |
|
Adds or updates tax-related fields of an account. See the discussion on adding tax information to accounts in BRM Configuring and Running Billing. |
Recommended |
|
Sets up standard top-ups and sponsored top-ups. See the discussion on how BRM sets up top-up information for an account in BRM Configuring and Collecting Payments. |
Recommended |
|
Updates several pieces of customer information in one operation. See the discussion on modifying an account in BRM Managing Customers. |
Recommended |
|
Modifies service information for multiple services in one operation. See the discussion on creating services in BRM Managing Customers. |
Recommended |
|
Validates fields on the input flist based on the information contained in the /config/fld_validate object. See the discussion on the PREP and VALID opcodes in BRM Developer's Guide. |
Recommended |
|
Validates customer information during registration. See the discussion on validating data from account creation applications in BRM Managing Customers. |
Recommended |
Updates the creditor name and creditor identification in the /config/creditor object and applies the creditor update to the /payinfo/sepa objects that are impacted by the amendment of the creditor information.
See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments.
Updates the mandate fields, except for the creditor information, in the /payinfo/sepa object.
See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments.
Cancels a mandate in the /payinfo/sepa object by setting the mandate status to canceled.
See the discussion about SEPA payment processing in BRM Configuring and Collecting Payments.
Changes a bill unit's business profile. Validates all the balance groups and services associated with the bill unit against the requirements of the new business profile.
See the discussion on changing a bill unit's business profile in BRM Managing Customers.
A wrapper opcode that performs all the tasks necessary to create an active and billable account in the database.
See the discussion on how BRM creates accounts in BRM Managing Customers.
Note:
For backward compatibility, use the PIN_FLD_VERSION input field to support an older version of BRM. See the discussion about supporting an older version of BRM in BRM Developer's Guide.The value of the input flist PIN_FLD_TXN_FLAGS field determines how this opcode handles transactions:
When set to 1, this opcode opens its own transaction because it authorizes credit cards. Operations related to credit card authorization require that the operation never be rolled back. As soon as the credit card authorization occurs, the transaction is committed before the opcode finishes its operation, making the transaction independent of the operations after the commit.
This is the default when JCA Resource Adapter is not in XA Transaction mode or when this opcode is not called by JCA Resource Adapter.
Note:
After the credit card authorization, if errors occur in the account creation processes, an account might be partially created.When set to 2, this opcode does not open its own transaction. Instead, it uses the transaction already opened by the application server in XA or local transaction mode.
When JCA Resource Adapter is in XA or local transaction mode and receives a request to call this opcode, one of the following occurs:
If the input flist contains the PIN_FLD_TXN_FLAGS field set to 2, the adapter calls the opcode in the usual manner.
If the PIN_FLD_TXN_FLAGS field is missing, the adapter adds the field to the flist and sets it to 2 before calling the opcode.
If the PIN_FLD_TXN_FLAGS field is set to any value other than 2, the adapter rejects the opcode with the PIN_ERR_BAD_VALUE error for the PIN_FLD_TXN_FLAGS field.
Note:
To enable this opcode to support transactions opened by a global transaction manager, the PIN_FLD_TXN_FLAGS field must be set to 2.This opcode returns an error in the following situations:
A transaction is already open when this opcode tries to open a transaction.
The input flist PIN_FLD_TXN_FLAGS field is set to any value other than 2 when JCA Resource Adapter receives a request to call this opcode in XA or local transaction mode. For information about the adapter's transaction modes, see "About JCA Resource Adapter Transaction Management" in BRM JCA Resource Adapter.
Creates a generic /account object.
See the discussion on how BRM creates accounts in BRM Managing Customers.
Creates one /associated_bus_profile object for each bill unit in the account.
If the BRM-BI Publisher invoice integration is enabled, during customer account creation, internally the PCM_OP_CUST_CREATE_BILLINFO opcode calls this opcode to create one /associated_bus_profile object for each bill unit in the account.
See the discussion on associating bill units with a BI Publisher invoice and report in BRM Configuring and Running Billing.
Creates an active /balance_group object.
See the discussion on creating balance groups in BRM Managing Accounts Receivable.
This opcode is called during account creation. The wrapper opcode PCM_OP_CUST_SET_BAL_GRP calls this opcode to create the /balance_group object.
Creates an active /billinfo object.
See the discussion on creating /billinfo objects in BRM Configuring and Running Billing.
Example 1-140 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 53 0 PIN_FLD_PROGRAM_NAME STR [0] "test" 0 PIN_FLD_BILLINFO ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo -1 1 PIN_FLD_PAY_TYPE ENUM [0] 10001 1 PIN_FLD_PAYINFO_OBJ POID [0] 0.0.0.1 /payinfo/invoice 555555 1 PIN_FLD_BILLINFO_ID STR [0] "my_billinfo" 1 PIN_FLD_CURRENCY INT [0] 840 1 PIN_FLD_CURRENCY_SECONDARY INT [0] 0
Creates an active customer account, including creating and initializing an /account object and one or more /service objects.
No validation is performed by this opcode prior to attempting the actual creations, so invalid or missing data results in an ebuf error to be returned along with an output flist describing the validation problem, if one exists. In general, the input flist for this opcode should be taken from the output of a call to PCM_OP_CUST_PREP_CUSTOMER to ensure the fields have been properly validated.
Important:
If you use rerating, use the PCM_OP_CUST_COMMIT_CUSTOMER opcode to create accounts. Do not call the PCM_OP_CUST_CREATE_CUSTOMER opcode directly. The PCM_OP_CUST_COMMIT_CUSTOMER opcode calls the PCM_OP_CUST_POL_PRE_COMMIT policy opcode, and based on that, the /profile/event_ordering object is created, which is used for rerating. If you use the PCM_OP_CUST_CREATE_CUSTOMER opcode directly to create accounts, the /profile/event_ordering object is not created.If balance monitoring is enabled, this opcode passes balance monitor data to PCM_OP_CUST_SET_BAL_GRP.
See the following discussions:
How BRM creates accounts in BRM Managing Customers
Balance monitoring in BRM Managing Accounts Receivable
Creates an active /payinfo object.
This opcode also updates the PIN_FLD_PAYINFO_OBJ field in the /billinfo object.
This opcode is called during customer registration.
Note:
For credit card payment methods, this opcode omits the PIN_FLD_SECURITY_ID field from the input flist of PCM_OP_CREATE_OBJ when the /payinfo/cc object is created. The result is that the CVV2/CID information is stored in the database with a NULL value.See the discussions on how BRM creates accounts and on customizing customer payment information in BRM Managing Customers.
Creates a /profile object.
When automatic rerating is enabled, this opcode triggers automatic rerating of backdated ERA modifications when certain conditions are met.
Important:
Only one element can be passed in the PIN_FLD_PROFILES array. Otherwise, the opcode ignores the array.See the following discussions:
Managing and customizing profiles in BRM Managing Customers
Backdated ERA modifications in BRM Configuring and Running Billing
Creates an active service object with inheritance pass through.
See the discussion on creating services in BRM Managing Customers.
Creates /topup and /group/topup objects.
This opcode is called by the wrapper opcode PCM_OP_CUST_SET_TOPUP.
See the discussion on how BRM sets up top-up information for an account in BRM Configuring and Collecting Payments.
Deletes the specified /account object and all related objects (such as events, bill items, bill history, balances, and notes) and disassociates devices that are assigned to the services.
The POID of the object is checked to ensure that the object can be deleted and that the user has permission to delete the object.
This opcode does not delete any audit table entries associated with the /account object.
See the discussion on deleting accounts in BRM Managing Customers.
Caution:
Do not delete accounts in a production system.Note:
You cannot delete the /account object if the account was previously associated with a subscription service transfer or if the bill unit it owns is an account receivable (A/R) bill unit of another existing account. For information about subscription service transfer, see the discussion on transferring a subscription service to another subscriber in BRM Managing Customers. For information about A/R and hierarchical account groups, see the discussion on A/R and hierarchical account groups in BRM Managing Accounts Receivable.Deletes the specified /balance_group object.
The POID of the object is checked to ensure that the object can be deleted and that the user has permission to delete the object.
If successful, the output flist contains the POID of the /balance_group object that is deleted.
See the discussion on deleting a balance group in BRM Managing Accounts Receivable.
Deletes the specified /billinfo object and the balance groups associated with it.
See the discussion on deleting billinfo objects in BRM Configuring and Running Billing.
Deletes the specified /payinfo object.
This opcode is given the /payinfo object POID of the object to delete. You cannot delete a /payinfo object that is currently associated with a /billinfo object; you must first delete the /billinfo object.
Before this opcode deletes the /payinfo object, it calls the PCM_OP_CUST_POL_PRE_DELETE_PAYINFO policy opcode to perform any custom actions provided by you (for example, appropriate precautionary actions on a /payinfo object marked for deletion if that /payinfo object has been customized).
See the discussion on customizing customer payment information in BRM Managing Customers.
Deletes the specified /profile object.
If the profile object specified in the input flist is a part of a profile sharing group (/group/sharing/profile object), this opcode does not delete the profile and returns an error. If the specified profile object is not part of a profile sharing group, this opcode deletes the profile.
See the discussion on managing and customizing profiles in BRM Managing Customers.
Deletes /topup objects.
This opcode is called by the PCM_OP_CUST_DELETE_ACCT opcode.
See the discussion on deleting member accounts in BRM Configuring and Collecting Payments.
Important:
This opcode should not be used to cancel an account's membership in a sponsored top-up group. See the discussion on canceling top-ups in BRM Configuring and Collecting Payments.Searches for information in an /account object given an account number.
See the discussion on finding customer accounts using opcodes in BRM Managing Customers.
Finds /payinfo objects that belong to a specified account.
This opcode is given the account POID and returns the information from the storable /payinfo object.
See the discussion on finding payment info in BRM Configuring and Collecting Payments.
Retrieves the /profile objects associated with a specified account.
See the discussion on searching for account profile information in BRM Managing Customers.
Gets the value of a key in the business profile and validation templates associated with an object.
See the discussion on getting information about an object's business profile in BRM Managing Customers.
Gets one of the following, depending on what information is passed to it:
If only the account and service POIDs are passed, gets the life cycle states configuration object (/config/lifecycle_states) associated with a specified service type
If the account and service POIDs and the state ID are passed, gets the PIN_FLD_STATES array for that state from a life cycle states configuration object
If the account, service, and billinfo POIDs are passed, gets the PIN_FLD_STATES array for the initial state (PIN_FLD_INITIAL_STATE = 1) of the life cycle
This opcode is called by the following components:
The PCM_OP_TCF_AAA_VALIDATE_LIFECYCLE opcode calls this opcode to get a life cycle states configuration object.
pin_state_change calls this opcode to get state transition information from a life cycle states configuration object.
The PCM_OP_BAL_POL_CHECK_LIFECYCLE_STATE policy opcode calls this opcode to get the state expiration time.
The PCM_OP_CUST_SET_STATUS opcode calls this opcode to get the service's initial state.
The PCM_OP_CUST_SET_STATUS and PCM_OP_CUST_UPDATE_SERVICES opcodes call this opcode during validation.
Customer Center calls this opcode to get state transition information from a life cycle states configuration object so that it can display a list of states to which a service can change from its current state.
This opcode is used only if the SubscriberLifeCycle business parameter is associated with the specified service's bill unit and is enabled.
See the discussion on managing service life cycles in BRM Managing Customers.
Retrieves and returns the News Feed information stored in the /newsfeed object.
Gets notes and note exchanges based on any of the /note object fields, such as the date, the type of note, the status, the CSR who wrote the note, and so on.
Retrieves the subscriber's preferences from the /profile/subscriber_preferences object for a subscriber's service or account.
If the PIN_FLD_SUBSCRIBER_PREFERENCE_ID field is populated in the input flist, this opcode returns the data from the /profile/subscriber_preferences object for that preference only. Otherwise, this opcode returns all the preferences for the account.
This opcode is called by the PCM_OP_TCF_AAA_POL_POST_PROCESS opcode. It can also be called by Customer Center or a custom application.
See the discussions on how the PCM_OP_TCF_AAA_POL_POST_PROCESS policy opcode works and on maintaining a subscriber's preferences data with custom client applications in BRM Telco Integration.
Initializes a service object.
This opcode initializes a service in a defunct state with generic fields provided by the input flist. Returns a short flist with the new POID and unencrypted password. This operation is carried out inside a transaction.
See the discussion on creating services in BRM Managing Customers.
Modifies the specified /balance_group object.
If successful, the output flist contains the POID of the /balance_group object that is modified.
See the discussion on managing balance groups with your custom application in BRM Managing Accounts Receivable.
Modifies customer account information.
If balance monitoring is enabled, this opcode passes balance monitor data to PCM_OP_CUST_SET_BAL_GRP.
See the following discussions:
Modifying an account in BRM Managing Customers
Balance monitoring in BRM Managing Accounts Receivable
Note:
If the PIN_FLD_STATUS_FLAGS field is set to PIN_STATUS_FLAG_DUE_TO_SUBSCRIPTION_SERVICE, this opcode verifies that the service group relationships are valid and associates member services with the appropriate balance group.Modifies selected fields in the /payinfo object.
This opcode is called by PCM_OP_CUST_SET_PAYINFO and calls PCM_OP_WRITE_FLDS. One or more fields must be selected or an error will be returned. The /payinfo object is modified only if the data in the input flist is different from the /payinfo object data in the database.
Note:
This opcode omits the PIN_FLD_SECURITY_ID field from the input flist of PCM_OP_WRITE_FLDS when the /payinfo/cc object is updated. The result is that the CVV2/CID information is stored in the database with a NULL value.See the discussion on customizing customer payment information in BRM Managing Customers.
Modifies the specified /profile object.
When automatic rerating is enabled, this opcode triggers automatic rerating of backdated ERA modifications when certain conditions are met.
Important:
Only one element can be passed in the PIN_FLD_PROFILES array. Otherwise, the opcode ignores the array.See the following discussions:
Managing and customizing profiles in BRM Managing Customers
Backdated ERA modifications in BRM Configuring and Running Billing
Modifies the specified /service object.
For most services, a wrapper opcode calls PCM_OP_CUST_MODIFY_SERVICE to set, change, or delete extended service information.
See the discussion on modifying services in BRM Managing Customers.
Modifies /topup and /group/topup objects.
This opcode is called by the wrapper opcode PCM_OP_CUST_SET_TOPUP.
See the discussion on how BRM sets up top-up information for an account in BRM Configuring and Collecting Payments.
Validates customer registration information prior to account creation.
See the discussion on how BRM creates accounts in BRM Managing Customers.
Initializes an /account object with generic fields passed in on the input flist. Calls the PCM_OP_CUST_POL_PREP_ACCTINFO and PCM_OP_CUST_POL_VALID_ACCTINFO opcodes to prepare and validate account information, and returns the account number based on the customizations made in the policy opcodes.
See the discussion on how BRM creates accounts in BRM Managing Customers.
Updates the /associated_bus_profile objects whenever invoice business profiles are modified in the /config/business_profile object.
See the discussion on associating bill units with a BI Publisher invoice and report in BRM Configuring and Running Billing.
A wrapper opcode that performs all necessary tasks to set up the /balance_group object and create a link to the customer account.
If balance monitoring is enabled, this opcode creates or updates the /balance_group/monitor object.
See the following discussions in BRM Managing Accounts Receivable:
Managing balance groups with your custom application
Balance monitoring
Example 1-148 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 197632 0 0 PIN_FLD_PROGRAM_NAME STR [0] "Automatic Account Creation" 0 PIN_FLD_START_T TSTAMP [0] (1064290628) Mon Sep 22 21:17:08 2003 0 PIN_FLD_END_T TSTAMP [0] (1064290628) Mon Sep 22 21:17:08 2003 0 PIN_FLD_LOCALE STR [0] "en_US" 0 PIN_FLD_BAL_INFO ARRAY [0] allocated 20, used 5 1 PIN_FLD_LIMIT ARRAY [840] allocated 20, used 1 2 PIN_FLD_CREDIT_LIMIT DECIMAL [0] .0 1 PIN_FLD_POID POID [0] 0.0.0.1 /balance_group -1 0 1 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 199680 0 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 197632 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0
Updates billing information in a bill unit (/billinfo object) for a specified account.
This opcode updates an existing PIN_FLD_BILLINFO array associated with a specified account by setting new values for the array fields as specified in the input flist. Any PIN_FLD_BILLINFO array fields not included in the input flist are left unchanged.
This opcode calls the PCM_OP_CUST_POL_PREP_BILLINFO policy opcode to prepare the updated billing information for validation and then calls the PCM_OP_CUST_POL_VALID_BILLINFO policy opcode to validate the information.
See the discussion on creating billinfo objects in BRM Configuring and Running Billing.
Enables changing the brand name after account creation.
See the discussion on managing brands in BRM Managing Customers.
Sets the Locale field of a specified /account object.
See the discussion on managing and customizing locale information in BRM Managing Customers.
Updates the service login for a customer.
See the discussion on customizing login names in BRM Managing Customers.
Sets account contact information such as customer name, address, and phone number.
See the discussion on managing customer contact information in BRM Managing Customers.
Creates a new /note object or modifies an existing one. If you pass in a type-only POID, a new /note object is created. Otherwise, the opcode modifies the /note object.
The opcode generates the following events:
/event/customer/note/create
/event/customer/note/modify
Updates the service password for a customer.
See the discussion on customizing passwords in BRM Managing Customers.
Adds or updates the payment information for a bill unit (/billinfo object).
This opcode is a wrapper for the following opcodes:
PCM_OP_CUST_CREATE_PAYINFO
PCM_OP_CUST_MODIFY_PAYINFO
PCM_OP_CUST_DELETE_PAYINFO
During customer registration, this opcode creates a /payinfo object that contains information about how a customer will pay the bill (for example, by credit card, direct debit, invoice, and so on) and attaches the /payinfo object to the appropriate bill unit (/billinfo object).
During account modification, this opcode modifies the payment information for the bill unit if necessary.
This opcode creates an /event/audit/customer/payinfo object.
See the discussion on customizing customer payment information in BRM Managing Customers.
Sets the status of an /account, /billinfo, or /service object.
This opcode triggers auto-billing if bills are still pending.
Note:
For service status changes, this opcode is not called directly. The PCM_OP_CUST_UPDATE_SERVICES opcode is called, which in turn calls this opcode.See the discussion on setting account, service, and bill unit status by using your custom application in BRM Managing Customers.
Creates, modifies, or deletes a /profile/subscriber_preferences object for a specified service or account.
If a name for the profile object is not provided for PIN_FLD_NAME in the input flist, this opcode creates a profile with the default name PIN_Profile_Object.
If the PIN_FLD_POID field in the input flist contains the complete POID of the /profile/subscriber_preferences object, this opcode modifies the data in the /profile/subscriber_preferences object.
If the PIN_FLD_DELETED_FLAG field in the input flist is set to 1, this opcode deletes the /profile/subscriber_preferences object.
This opcode is called by the PCM_OP_TCF_AAA_POL_POST_PROCESS policy opcode. It can also be called from Customer Center or a custom application.
See the discussions on how the PCM_OP_TCF_AAA_POL_POST_PROCESS policy opcode works and on maintaining a subscriber's preferences data with custom client applications in BRM Telco Integration.
Adds or updates the tax information in the account object.
This opcode adds the following data:
VAT certificate
Tax exemptions
Tax incorporation
Tax residence
See the discussion on adding tax information to accounts in BRM Configuring and Running Billing.
Sets up standard top-ups and sponsored top-ups.
This is a wrapper opcode that calls other standard opcodes to create or modify /topup and /group/topup objects.
See the discussion on how BRM sets up top-up information for an account in BRM Configuring and Collecting Payments.
Updates customer account information.
See the discussion on modifying an account in BRM Managing Customers.
Modifies an account's service information for multiple services in one operation.
See the discussion on creating services in BRM Managing Customers.
Example 1-150 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 12177 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_FLAGS INT [0] 1 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /service/email 8785 -1 1 PIN_FLD_LOGIN STR [0] "ac1" 1 PIN_FLD_PASSWD_CLEAR STR [0] "password" 1 PIN_FLD_INHERITED_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_SERVICE_EMAIL SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_PATH STR [0] "/tmp"
Note:
PIN_FLD_FLAGS should be used by Telco opcodes only while calling PCM_OP_CUST_UPDATE_SERVICES.Example 1-151 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 12177 0 0 PIN_FLD_SERVICES ARRAY [0] allocated 4, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /service/email 8785 -1 1 PIN_FLD_RESULTS ARRAY [0] allocated 2, used 2 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/customer/login 205810984533632825 0 2 PIN_FLD_LOGINS ARRAY [1] allocated 1, used 1 3 PIN_FLD_LOGIN STR [0] "ac1@portal.com" 1 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/customer/password 205810984533634873 0 1 PIN_FLD_RESULTS ARRAY [3] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /service/email 8785 -1
Validates field values on the input flist based on the information contained in the /config/fld_validate object.
See the discussion on the PREP and VALID opcodes in BRM Developer's Guide.
Validates customer information during registration.
During registration, this opcode validates customer information as the information is provided. This opcode can validate partial information. When the user goes to the next screen in an application, information provided on a screen is validated even if the information is not complete.
See the discussion on validating data from account creation applications in BRM Managing Customers.
Use the opcodes listed in Table 1-25 to manage customers.
Include the ops/custcare.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Use the opcodes listed in Table 1-26 to customize device management.
Include the ops/device.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-26 Device FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Can be customized to provide validation for associations and disassociations. See the discussion on associating service and device objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation and other functionality during device creation. See the discussion on creating device objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation for device deletions. See the discussion on deleting device objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation for attribute changes. See the discussion on changing the attributes of device objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation or other functionality during a brand change. See the discussion on associating devices and brand objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation or other functionality for state changes. See the discussion on the discussion on changing the state of a device object in BRM Developer's Guide. |
Recommended |
Allows customized validation during device-to-service association and disassociation. For example, you could limit the number of associations for particular device types or trigger a state change after certain associations or disassociations.
This opcode probes the device type (PIN_FLD_OBJ_TYPE field) and may call other device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_IP_POL_DEVICE_ASSOCIATE to perform the validation checks it contains.
This opcode is a hook provided to facilitate customization.
This opcode is called by the PCM_OP_DEVICE_ASSOCIATE standard opcode.
See the discussion on associating service and device objects in BRM Developer's Guide.
Allows customized validation during device creation. For example, if devices of a particular type require a device ID with certain characteristics, you can validate the ID supplied by the input flist. Similarly, you can use the opcode to ensure that all mandatory attributes of a particular device type are included in the new object.
This opcode probes the device type (PIN_FLD_OBJ_TYPE field) and may call other device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_IP_POL_DEVICE_CREATE to perform the validation checks it contains.
This opcode is a hook provided to facilitate customization.
This opcode is called by the PCM_OP_DEVICE_CREATE standard opcode.
See the discussion on creating device objects in BRM Developer's Guide.
Allows customized validation during device deletion. For example, you can disable the service association check that is performed by default. You can also include a call to PCM_OP_DEVICE_ASSOCIATE to automatically disassociate services before device deletion.
This opcode probes the device type (PIN_FLD_OBJ_TYPE field) and may call other device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_IP_POL_DEVICE_DELETE to perform the validation checks it contains.
By default, this opcode checks whether a device is associated with any services, and if it is, aborts the transaction.
This opcode calls a different opcode to customize device deletion. For example, if PIN_FLD_OBJ_TYPE is /device/num, this policy opcode calls the PCM_OP_NUM_POL_DEVICE_DELETE policy opcode to perform the validation checks it contains.
This opcode is called by the PCM_OP_DEVICE_DELETE standard opcode.
See the discussion on deleting device objects in BRM Developer's Guide.
Allows customized validation of device attribute changes. For example, you can write code to validate that the device ID in the input flist conforms to the pattern for a particular device type.
This opcode probes the device type (PIN_FLD_OBJ_TYPE field) and may call other device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_IP_POL_DEVICE_SET_ATTR to perform the validation checks it contains.
This opcode is a hook provided to facilitate customization.
This opcode is called by the PCM_OP_DEVICE_SET_ATTR standard opcode.
See the discussion on changing the attributes of device objects in BRM Developer's Guide.
Allows customized validation of device brand changes. For example, you could limit brand changes to certain device types or situations.
This opcode probes the device type (PIN_FLD_OBJ_TYPE field) and may call other device FM opcodes. For example, if the device type is /device/apn, this opcode calls PCM_OP_APN_POL_DEVICE_SET_BRAND to perform the validation checks it contains.
This opcode is a hook provided to facilitate customization.
This opcode is called by the PCM_OP_DEVICE_SET_BRAND standard opcode.
See the discussion on associating devices and brand objects in BRM Developer's Guide.
Allows customization during device state changes. For example, you might want to customize the process for assigning a SIM card to a customer. During this process, the state is changed from Inventory to Assigned. During the first policy call by PCM_OP_DEVICE_SET_STATE, the policy opcode could check the customer's handset to ensure compatibility with the SIM card. If the two devices are compatible, the state change takes place. In the second policy call, after the state change transaction is complete, the policy opcode could provision the SIM card by calling PCM_OP_DEVICE_ASSOCIATE.
This opcode probes the device type (PIN_FLD_OBJ_TYPE field) and may call other device FM opcodes. For example, if the device type is /device/apn, this opcode calls PCM_OP_APN_POL_DEVICE_SET_STATE to perform the validation checks it contains.
This opcode is a hook provided to facilitate customization.
This opcode is called by the PCM_OP_DEVICE_SET_STATE standard opcode.
See the discussion on changing the state of a device object in BRM Developer's Guide.
The opcodes listed in Table 1-27 run device management processes.
Include the ops/device.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-27 Device FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Associates services with /device objects, or disassociates services from /device objects. See the discussion on associating service and device objects in BRM Developer's Guide. |
Recommended |
|
Creates a new /device object. See the discussion on creating device objects in BRM Developer's Guide. |
Recommended |
|
Deletes a /device object. See the discussion on deleting device objects in BRM Developer's Guide. |
Recommended |
|
Sets attribute values for a /device object. See the discussion on changing the attributes of device objects in BRM Developer's Guide. |
Recommended |
|
Sets the brand for a /device object. See the discussion on associating devices and brand objects in BRM Developer's Guide. |
Recommended |
|
Sets the state for a /device object. See the discussion on changing the state of a device object in BRM Developer's Guide. |
Recommended |
|
Changes any combination of attribute values, brand, and state of a device. |
Recommended |
Associates or disassociates /service objects with /device objects.
This opcode is called by Customer Center and other BRM device managers, and may be called by a custom device-creation application that you create.
This opcode checks the device type on the input flist (PIN_FLD_OBJ_TYPE) to determine whether to call further device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_DEVICE_POL_ASSOCIATE, which in turn calls PCM_OP_IP_POL_DEVICE_ASSOCIATE.
Note:
You specify which services can be associated with a particular device type and brand by using the pin_device_permit_map file. See the discussion on defining device-to-service associations in BRM Developer's Guide.See the discussion on associating service and device objects in BRM Developer's Guide.
Creates a /device object of the type specified in the input flist.
This opcode is called by Customer Center and other BRM device managers, and may be called by a custom device-creation application that you create.
This opcode checks the device type on the input flist (PIN_FLD_OBJ_TYPE) to determine whether to call further device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_DEVICE_POL_CREATE, which in turn calls PCM_OP_IP_POL_DEVICE_CREATE.
See the discussion on creating device objects in BRM Developer's Guide.
Deletes a /device object.
This opcode is called by Customer Center and other BRM device managers, and may be called by a custom device-creation application that you create.
This opcode checks the device type on the input flist (PIN_FLD_OBJ_TYPE) to determine whether to call further device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_DEVICE_POL_DELETE, which in turn calls PCM_OP_IP_POL_DEVICE_DELETE.
See the discussion on deleting device objects in BRM Developer's Guide.
Changes the attributes for a /device object.
This opcode is called by Customer Center and other BRM device managers, and may be called by a custom device-creation application that you create.
This opcode checks the device type on the input flist (PIN_FLD_OBJ_TYPE) to determine whether to call further device FM opcodes. For example, if the device type is /device/ip, this opcode calls PCM_OP_DEVICE_POL_SET_ATTR, which in turn calls PCM_OP_IP_POL_DEVICE_SET_ATTR.
Note:
You cannot use PCM_OP_DEVICE_SET_ATTR alone to change the brand association, device state, or service association. If the input flist includes these fields, they are ignored.See the discussion on changing the attributes of device objects in BRM Developer's Guide.
Changes the brand association of the device.
This opcode is called by Customer Center and other BRM device managers, and may be called by a custom device-creation application that you create.
This opcode checks the device type on the input flist (PIN_FLD_OBJ_TYPE) to determine whether to call further device FM opcodes. For example, if the device type is /device/apn, this opcode calls PCM_OP_DEVICE_POL_SET_BRAND, which in turn calls PCM_OP_APN_POL_DEVICE_SET_BRAND.
See the discussion on associating devices and brand objects in BRM Developer's Guide.
Sets the state for a /device object.
The validity of each device state change is checked against the /config/device_state object for the device type and brand.
This opcode is called by Customer Center and other BRM device managers, and may be called by a custom device-creation application that you create.
This opcode checks the device type on the input flist (PIN_FLD_OBJ_TYPE) to determine whether to call further device FM opcodes. For example, if the device type is /device/apn, this opcode calls PCM_OP_DEVICE_POL_SET_STATE, which in turn calls PCM_OP_APN_POL_DEVICE_SET_STATE.
Important:
This opcode uses the event notification feature. Before using this opcode, you must configure event notification for device management. See the discussion on configuring event notification for Device Management in BRM Developer's Guide.See the discussion on changing the state of a device object in BRM Developer's Guide.
Changes any combination of attribute values, brand, and state of a device in a single transaction.
This opcode is called by BRM GUI applications and BRM FMs that modify device characteristics.
This opcode calls these opcodes to perform validation checks before committing any changes:
PCM_OP_DEVICE_POL_SET_ATTR
PCM_OP_DEVICE_POL_SET_BRAND
PCM_OP_DEVICE_POL_SET_STATE
See the discussion on managing devices with BRM in BRM Developer's Guide.
Example 1-152 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "Testnap" 0 PIN_FLD_ARGS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 171904 1 1 PIN_FLD_DESCR STR [0] "TST" 1 PIN_FLD_STATE_ID INT [0] 4 0 PIN_FLD_ARGS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 171880 1 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 171856 1 1 PIN_FLD_DESCR STR [0] "TST1" 1 PIN_FLD_STATE_ID INT [0] 4 0 PIN_FLD_ARGS ARRAY [2] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 171856 1 1 PIN_FLD_DESCR STR [0] "TST2 QA3" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 171856 1
Example 1-153 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0 0 PIN_FLD_RESULTS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 171904 0 0 PIN_FLD_RESULTS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 171880 0 0 PIN_FLD_RESULTS ARRAY [2] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 171856 0
The Email Data Manager opcodes listed in Table 1-28 are base opcodes. They provide a different implementation from the standard BRM base opcodes. Unlike FM opcodes, which belong to the Connection Manager, the Email DM opcodes are part of the Email DM.
Include the ops/base.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-28 Email Data Manager Base Opcodes
Email Data Manager base opcode | Description | Use |
---|---|---|
Provides a platform-independent interface to dm_email for sending one or more email attachments. |
Recommended |
|
Queries the configuration file for the location of dm_email, and ensures the data in the PIN_FLD_MESSAGES array is valid. |
Recommended |
The opcodes listed in Table 1-29 are used to authenticate the email login and authorize the delivery of an incoming email message.
Table 1-29 Email Manager FM Opcodes
Opcode | Description | Use |
---|---|---|
Authorizes the delivery of an incoming email message. See the discussion on customizing email login authorization in BRM Email Manager. |
Recommended |
|
Authorizes a /service/email user to send and receive messages. See the discussion on customizing email delivery authorization in BRM Email Manager. |
Recommended |
This document describes the filter set opcodes listed in Table 1-30. These opcodes support BRM Pricing Center in providing separate products and discounts to the different market segments of your customer base. These opcodes allow you to divide your customers into market segments by filtering them based on criteria that you set in Pricing Center.
For information about using filters sets, see the discussion on using filter sets to apply system products and discounts in BRM Configuring Pipeline Rating and Discounting.
Include the ops/filterset.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-30 Filter Set FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates a new /filter_set/product object. See the discussion on creating filter sets in BRM Setting Up Pricing and Rating. |
Recommended |
|
Deletes a /filter_set/product object. See the discussion on deleting filter sets in BRM Setting Up Pricing and Rating. |
Recommended |
|
Modifies a /filter_set/product object. See the discussion on updating filter sets in BRM Setting Up Pricing and Rating. |
Recommended |
Creates /filter_set/product objects, which store the list of system products and discounts that belong to a particular filter set. This opcode is called directly by Pricing Center.
See the discussion on creating filter sets in BRM Setting Up Pricing and Rating.
Deletes /filter_set/product objects. This opcode is called directly by Pricing Center.
See the discussion on creating filter sets in BRM Setting Up Pricing and Rating.
Modifies the following data in /filter_set/product objects:
The filter criteria
The list of applicable system products and discounts
The validity period
This opcode is called directly by Pricing Center.
See the discussion on updating filter sets in BRM Setting Up Pricing and Rating.
Use the opcodes in Table 1-31 to customize the data in exported G/L reports.
Include the ops/gl.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Allows customization of data in the exported G/L reports.
The pin_ledger_report utility calls this policy opcode in -export mode after it generates a G/L report but before it exports the G/L report data to an XML file.
See the discussion on customizing G/L reports for export in BRM Configuring and Running Billing.
The opcode listed in Table 1-32 are used to calculate account information and create /ledger_report objects.
Include the ops/gl.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Creates /ledger_report objects, which store general ledger reports. This opcode is called directly by the pin_ledger_report utility.
When the PCM_OPFLG_READ_RESULT flag is set, the opcode returns the entire contents of the /ledger_report object.
See the discussion on how BRM stores general ledger reports in BRM Configuring and Running Billing.
Use the opcode in Table 1-33 to customize the GPRS service extensions.
Include the ops/gprs.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The opcode in Table 1-34 is used to add GPRS-specific service extensions.
Include the ops/gprs.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The opcodes listed in Table 1-35 are called by the Services Framework AAA standard opcodes to perform service-specific operations, such as building search templates and aggregating GPRS data.
For more information about GPRS AAA Manager, see the discussion on performing AAA for prepaid GPRS services in BRM Telco Integration.
Helper opcodes are called during one of these stages in the execution of a Services Framework AAA FM standard opcode:
SEARCH_SESSION
PREP_INPUT
VALIDATE_LIFECYCLE
POST_PROCESS
ACC_ON_OFF_SEARCH
You can configure Services Framework AAA opcodes to call the helper opcodes by using the load_aaa_config_opcodemap_tcf utility. See the discussion on configuring Services Framework to call helper opcodes in BRM Telco Integration.
Include the ops/gprs_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-35 GPRS AAA Manager FM Helper Policy Opcodes
Opcode | Description | Use |
---|---|---|
Builds search templates for finding /active_session/telco/gprs objects. See the discussion on building search templates for GPRS active session objects in BRM Telco Integration. |
Recommended |
|
Prepares input flists that can be used for authorizing a GPRS session. See the discussion on preparing GPRS-specific flists for authorization in BRM Telco Integration. |
Recommended |
|
Prepares flists that can be used for reauthorizing a GPRS session. See the discussion on preparing GPRS-specific flists for reauthorization in BRM Telco Integration. |
Recommended |
|
Builds search templates for finding /active_session/telco/gprs or /event/session/telco/gprs objects. See the discussion on building search templates for GPRS session objects in BRM Telco Integration. |
Recommended |
|
Prepares input flists that can be used for ending a prepaid GPRS session. See the discussion on preparing GPRS-specific flists for ending sessions in BRM Telco Integration. |
Recommended |
|
Prepares input flists that can be used for updating a prepaid GPRS session. See the discussion on preparing GPRS-specific flists for updating sessions in BRM Telco Integration. |
Recommended |
Builds a search template that can be used to find /active_session/telco/gprs objects.
This opcode is called by the PCM_OP_TCF_AAA_ACCOUNTING_OFF standard opcode when processing /service/telco/gprs events.
See the discussion on building search templates for GPRS active session objects in BRM Telco Integration.
Aggregates GPRS data and prepares an input flist for authorizing prepaid GPRS sessions.
This opcode is called by the PCM_OP_TCF_AAA_AUTHORIZE standard opcode when processing additional service types or to change which helper opcodes are called.
See the discussion on preparing GPRS-specific flists for authorization in BRM Telco Integration.
Aggregates GPRS data and prepares an input flist for reauthorizing prepaid GPRS sessions.
This opcode is called by the PCM_OP_TCF_AAA_REAUTHORIZE standard opcode when processing /service/telco/gprs events.
See the discussion on preparing GPRS-specific flists for reauthorization in BRM Telco Integration.
Builds search templates for finding /active_session/telco/gprs or /event/session/telco/gprs objects.
This opcode is called by the PCM_OP_TCF_AAA_REAUTHORIZE standard opcode when processing /service/telco/gprs events.
See the discussion on building search templates for GPRS session objects in BRM Telco Integration.
Example 1-154 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gprs -1 0 0 PIN_FLD_MSID STR [0] "380-20060918-201727-0-16576-1-blrhpdv3" 0 PIN_FLD_REQ_MODE ENUM [0] 1 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_ORIGIN_NETWORK STR [0] "Portal" 0 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_OBJ_TYPE STR [0] "gprs" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "GPRS002" 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_GPRS_INFO SUBSTRUCT [0] allocated 20, used 4 2 PIN_FLD_GGSN_ADDRESS STR [0] "gprs1" 2 PIN_FLD_SGSN_ADDRESS STR [0] "gprs1" 2 PIN_FLD_CELL_ID STR [0] "gprs1" 2 PIN_FLD_APN STR [0] "gprs1" 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gprs 561208 6 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 564952 0 0 PIN_FLD_OPCODE INT [0] 4003
Example 1-155 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /search -1 0 0 PIN_FLD_FLAGS INT [0] 256 0 PIN_FLD_AUTHORIZATION_ID STR [0] "GPRS002" 0 PIN_FLD_ARGS ARRAY [1] allocated 20, used 1 1 PIN_FLD_ACTIVE_SESSION_ID STR [0] "GPRS002" 0 PIN_FLD_INDEX_NAME STR [0] "active_session_active_id_i" 0 PIN_FLD_ARGS ARRAY [2] allocated 20, used 1 1 PIN_FLD_GPRS_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_APN STR [0] "gprs1" 0 PIN_FLD_ARGS ARRAY [3] allocated 20, used 1 1 PIN_FLD_GPRS_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_GGSN_ADDRESS STR [0] "gprs1" 0 PIN_FLD_ARGS ARRAY [4] allocated 20, used 1 1 PIN_FLD_GPRS_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_SGSN_ADDRESS STR [0] "gprs1" 0 PIN_FLD_TEMPLATE STR [0] "select X from /active_session/telco/gprs where F1 = V1 and F2 = V2 and F3 = V3 and F4 = V4 " 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 0
Aggregates GPRS data and prepares an input flist for ending a prepaid GPRS session.
This opcode is called by the PCM_OP_TCF_AAA_ACCOUNTING standard opcode when processing /service/telco/gprs events.
See the discussion on preparing GPRS-specific flists for ending sessions in BRM Telco Integration.
Example 1-156 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gprs -1 0 0 PIN_FLD_MSID STR [0] "930-20060913-135601-0-27241-1-blrhpdv3" 0 PIN_FLD_REQ_MODE ENUM [0] 2 0 PIN_FLD_SESSION_STOP_INDICATOR ENUM [0] 1 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "gprs06" 0 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_BYTES_UPLINK DECIMAL [0] 5120 0 PIN_FLD_BYTES_DOWNLINK DECIMAL [0] 5120 0 PIN_FLD_OBJ_TYPE STR [0] "gprs" 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_GPRS_INFO SUBSTRUCT [0] allocated 20, used 4 2 PIN_FLD_GGSN_ADDRESS STR [0] "gprs11" 2 PIN_FLD_SGSN_ADDRESS STR [0] "gprs11" 2 PIN_FLD_CELL_ID STR [0] "gprs11" 2 PIN_FLD_APN STR [0] "gprs11"|
Example 1-157 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gprs 546679 0 0 PIN_FLD_AUTHORIZATION_ID STR [0] "gprs06" 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 521419 0 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gprs 523723 8 0 PIN_FLD_RATING_STATUS ENUM [0] 1
Aggregates GPRS data and prepares an input flist for updating a prepaid GPRS session.
This opcode is called by the PCM_OP_TCF_AAA_REAUTHORIZE standard opcode when processing /service/telco/gprs events.
See the discussion on preparing GPRS-specific flists for updating sessions in BRM Telco Integration.
Example 1-158 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gprs -1 0 0 PIN_FLD_QUANTITY DECIMAL [0] 100 0 PIN_FLD_MSID STR [0] "930-20060913-135601-0-27241-1-blrhpdv3" 0 PIN_FLD_REQ_MODE ENUM [0] 2 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_ORIGIN_NETWORK STR [0] "Portal" 0 PIN_FLD_BYTES_UPLINK DECIMAL [0] 2048 0 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_BYTES_DOWNLINK DECIMAL [0] 3072 0 PIN_FLD_OBJ_TYPE STR [0] "gprs" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "GPRS002" 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_GPRS_INFO SUBSTRUCT [0] allocated 20, used 4 2 PIN_FLD_GGSN_ADDRESS STR [0] "gprs1" 2 PIN_FLD_SGSN_ADDRESS STR [0] "gprs1" 2 PIN_FLD_CELL_ID STR [0] "gprs1" 2 PIN_FLD_APN STR [0] "gprs1"
Use the opcode in Table 1-36 to customize generation of a unique authorization ID.
Include the ops/gprs_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The GPRS AAA Manager FM policy opcodes check if ebuf is set before performing each step. If the ebuf is set, processing stops and an ebuf exception is passed to the caller.
Generates a unique authorization ID for a GPRS session if one is not passed in the input flist. This opcode is called by the PCM_OP_GPRS_AAA_POL_SEARCH_SESSION helper opcode when processing GPRS authorization requests.
By default, this opcode generates IDs that use the following format:
APN – GGSN_Address – SGSN_Address - START_T
However, you can customize this opcode to use another ID format.
This opcode is called by the PCM_OP_TCF_AAA_AUTHORIZE standard opcode when processing additional service types or to change which helper opcodes are called.
See the discussion on customizing GPRS authorization IDs in BRM Telco Integration.
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gprs -1 0 0 PIN_FLD_MSID STR [0] "693-20060808-123322-0-2050-1-blr-insat" 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_QUANTITY DECIMAL [0] 100 0 PIN_FLD_START_T TSTAMP [0] (1155020599) 0 PIN_FLD_ORIGIN_NETWORK STR [0] "Portal" 0 PIN_FLD_OPCODE INT [0] 4002 0 PIN_FLD_OBJ_TYPE STR [0] "gprs" 0 PIN_FLD_REQ_MODE ENUM [0] 4 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] 1 PIN_FLD_GPRS_INFO SUBSTRUCT [0] 2 PIN_FLD_APN STR [0] "test1" 2 PIN_FLD_GGSN_ADDRESS STR [0] "test1" 2 PIN_FLD_SGSN_ADDRESS STR [0] "test1"
Example 1-160 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gprs 429163 0 0 PIN_FLD_EXPIRATION_T TSTAMP [0] (1155189354) Thu Aug 10 11:25:54 2006 0 PIN_FLD_QUANTITY DECIMAL [0] 50 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gprs 427563 6 0 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active 426603 0 0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 429099 1 0 PIN_FLD_BALANCES ARRAY [840] allocated 20, used 1 1 PIN_FLD_AMOUNT DECIMAL [0] 0.05 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_RATING_STATUS ENUM [0] 0 0 PIN_FLD_AUTHORIZATION_ID STR [0] "test1-1155020599-test1-test1" 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 429003 0
The opcodes listed in Table 1-37 create and delete account groups and account group members.
Include the ops/group.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-37 Group FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Adds members to a group. See the discussion on adding members to a group in BRM Managing Accounts Receivable. |
Limited |
|
Creates a new group object. See the discussion on creating a group in BRM Managing Accounts Receivable. |
Limited |
|
Deletes an existing group object. See the discussion on deleting a group in BRM Managing Accounts Receivable. |
Limited |
|
Deletes members from a group. See the discussion on deleting members from a group in BRM Managing Accounts Receivable. |
Limited |
|
Sets the parent object of a group. See the discussion on setting a group parent in BRM Managing Accounts Receivable. |
Limited |
|
Updates the inheritance fields of an existing group. See the discussion on updating the inheritance fields in a group in BRM Managing Accounts Receivable. |
Limited |
Adds one or more members to an existing group.
See the discussion on adding members to a group in BRM Managing Accounts Receivable.
Creates a new group object.
See the discussion on creating a group in BRM Managing Accounts Receivable.
Deletes an existing /group object from the database.
See the discussion on deleting a group in BRM Managing Accounts Receivable.
Deletes one or more members from an existing group.
See the discussion on deleting members from a group in BRM Managing Accounts Receivable.
The opcodes listed in Table 1-38 are called by the Services Framework AAA standard opcodes to perform service-specific operations, such as building search templates and aggregating GSM data.
For more information about GSM AAA Manager, see the discussion on performing AAA for prepaid GSM services in BRM Telco Integration.
Helper opcodes are called during one of these stages in the execution of a Services Framework AAA FM standard opcode:
SEARCH_SESSION
PREP_INPUT
VALIDATE_LIFECYCLE
ACC_ON_OFF_SEARCH
POST_PROCESS
You can configure Services Framework AAA opcodes to call the helper opcodes by using the load_aaa_config_opcodemap_tcf utility. See the discussion on configuring Services Framework to call helper opcodes in BRM Telco Integration.
Include the ops/gsm_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-38 GSM AAA Manager FM Helper Policy Opcodes
Opcode | Description | Use |
---|---|---|
Builds search templates for finding /active_session/telco/gsm objects. See the discussion on building search templates for GSM active session objects in BRM Telco Integration. |
Recommended |
|
Builds flists for authorizing GSM sessions. See the discussion on preparing GSM-specific input flists for authorization in BRM Telco Integration. |
Recommended |
|
Aggregates GSM data returned from the update and reauthorization processes. See the discussion on aggregating return GSM data in BRM Telco Integration. |
Recommended |
|
Builds flists for reauthorizing GSM sessions. See the discussion on preparing GSM-specific input flists for reauthorization in BRM Telco Integration. |
Recommended |
|
Builds search templates for finding /active_session/telco/gsm or /event/session/telco/gsm objects. See the discussion on building search templates for GSM session objects in BRM Telco Integration. |
Recommended |
|
Builds flists for ending prepaid GSM accounting sessions. See the discussion on preparing GSM-specific input flists for stopping accounting sessions in BRM Telco Integration. |
Recommended |
|
Builds flists for updating existing prepaid GSM accounting sessions. See the discussion on the discussion on preparing GSM-specific input flists for updating accounting sessions in BRM Telco Integration. |
Recommended |
Builds a search template that can be used to find /active_session/telco/gsm objects.
This opcode is called by the PCM_OP_TCF_AAA_ACCOUNTING_OFF standard opcode when processing /service/telco/gsm/data, /service/telco/gsm/fax, /service/telco/gsm/sms, and /service/telco/gsm/telephony events.
See the discussion on building search templates for GSM active session objects in BRM Telco Integration.
Example 1-161 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/telephony 0 PIN_FLD_ORIGIN_NETWORK STR [0] "Network 1234" 0 PIN_FLD_START_T TSTAMP [0] (1111737600) Fri Mar 25 00:00:00 2005
Example 1-162 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/telephony 0 PIN_FLD_RESULTS ARRAY [0] allocated 2, used 2 0 PIN_FLD_ARGS ARRAY [0] allocated 3, used 3 1 PIN_FLD_ORIGIN_NETWORK STR [0] "Network 1234" 1 PIN_FLD_FLAGS FLAG [0] ORIGIN_NETWORK 1 PIN_FLD_TEMPLATE STR [0] "select X from /active_session/telco/gsm/telephony where ORIGIN_NETWORK = Network 1234"
Aggregates GSM data and prepares an input flist for authorizing prepaid GSM sessions.
This opcode is called by the PCM_OP_TCF_AAA_ACCOUNTING_OFF standard opcode when processing /service/telco/gsm/data, /service/telco/gsm/fax, /service/telco/gsm/sms, and /service/telco/gsm/telephony events.
See the discussion on preparing GSM-specific input flists for authorization in BRM Telco Integration.
Aggregates data returned from the update and reauthorization processes.
This opcode is called by the PCM_OP_TCF_AAA_UPDATE_AND_REAUTHORIZE standard opcode when processing /service/telco/gsm/data, /service/telco/gsm/fax, /service/telco/gsm/sms, and /service/telco/gsm/telephony events.
See the discussion on aggregating return GSM data in BRM Telco Integration.
Aggregates GSM data and prepares an flist for the reauthorization process.
This opcode is called by the PCM_OP_TCF_AAA_UPDATE_AND_REAUTHORIZE standard opcode when processing /service/telco/gsm/data, /service/telco/gsm/fax, /service/telco/gsm/sms, and /service/telco/gsm/telephony events.
See the discussion on preparing GSM-specific input flists for reauthorization in BRM Telco Integration.
Builds search templates for finding /active_session/telco/gsm or /event/session/telco/gsm objects.
This opcode is called by the PCM_OP_TCF_AAA_UPDATE_AND_REAUTHORIZE standard opcode when processing /service/telco/gsm/data, /service/telco/gsm/fax, /service/telco/gsm/sms, and /service/telco/gsm/telephony events.
See the discussion on building search templates for GSM session objects in BRM Telco Integration.
Example 1-163 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "24874654" 0 PIN_FLD_DIRECTION ENUM [0] 0
Example 1-164 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /search -1 0 0 PIN_FLD_ARGS ARRAY [1] allocated 100, used 1 1 PIN_FLD_ACTIVE_SESSION_ID STR [0] "0010177121113340346110004" 0 PIN_FLD_INDEX_NAME STR [0] "active_session_active_id_i" 0 PIN_FLD_FLAGS INT [0] 256 0 PIN_FLD_TEMPLATE STR [0] "select X from /active_session/telco/gsm where F1 = V1 " 0 PIN_FLD_RESULTS ARRAY [0] NULL array ptr
Aggregates GSM data and prepares flists for ending a prepaid GSM session.
This opcode is called by the PCM_OP_TCF_AAA_STOP_ACCOUNTING standard opcode when processing /service/telco/gsm/data, /service/telco/gsm/fax, /service/telco/gsm/sms, and /service/telco/gsm/telephony events.
See the discussion on preparing GSM-specific input flists for stopping accounting sessions in BRM Telco Integration.
Aggregates GSM data and prepares flists for updating an existing prepaid GSM session.
This opcode is called by the PCM_OP_TCF_AAA_UPDATE_AND_REAUTHORIZE standard opcode when processing /service/telco/gsm/data, /service/telco/gsm/fax, /service/telco/gsm/sms, and /service/telco/gsm/telephony events.
See the discussion on preparing GSM-specific input flists for updating accounting sessions in BRM Telco Integration.
Use the opcode in Table 1-39 to customize generation of a unique authorization ID for a GSM session.
Include the ops/gsm_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The GSM AAA Manager FM policy opcodes check if ebuf is set before performing each step. If the ebuf is set, processing stops and an ebuf exception is passed to the caller.
Generates a unique authorization ID for a GSM session if one is not passed in the input flist.
This opcode is called by the PCM_OP_GSM_AAA_AUTHORIZE and PCM_OP_GSM_AUTHORIZE standard opcodes.
See the discussion on customizing GSM authorization IDs in BRM Telco Integration.
Example 1-165 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/telephony 0 PIN_FLD_MSID STR [0] "9283472938" 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_DIALED_NUMBER STR [0] "4085551212"
Example 1-166 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/telephony 0 PIN_FLD_MSID STR [0] "9283472938" 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_DIALED_NUMBER STR [0] "4085551212" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "2398472934398759 403980"
The opcodes listed in Table 1-40 process AAA requests from external networks.
Include the ops/gsm_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The GSM AAA Manager FM standard opcodes check if ebuf is set before performing each step. If the ebuf is set, processing stops and an ebuf exception is passed to the caller.
Table 1-40 GSM AAA Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Closes all open sessions when the network shuts down or encounters a problem. See the discussion on closing prepaid GSM sessions when the external network shuts down in BRM Telco Integration. |
Recommended |
|
Closes all open sessions when the external network restarts. See the discussion on closing prepaid GSM sessions when the external network restarts in BRM Telco Integration. |
Recommended |
|
Authenticates users for GSM services. See the discussion on authenticating users for GSM services in BRM Telco Integration. |
Recommended |
|
Authorizes GSM sessions. See the discussion on authorizing GSM services in BRM Telco Integration. |
Recommended |
|
Cancels an authorization and releases any reserved resources. See the discussion on canceling authorization for GSM services in BRM Telco Integration. |
Recommended |
|
Reauthorizes GSM accounting sessions. See the discussion on reauthorizing GSM sessions in BRM Telco Integration. |
Recommended |
|
Starts GSM accounting sessions. See the discussion on starting prepaid GSM sessions in BRM Telco Integration. |
Recommended |
|
Ends GSM accounting sessions. See the discussion on ending prepaid GSM sessions in BRM Telco Integration. |
Recommended |
|
Updates information about an existing GSM accounting session. See the discussion on updating a prepaid GSM session in BRM Telco Integration. |
Recommended |
|
Updates information about an existing accounting session and then reauthorizes usage. See the discussion on updating and reauthorizing GSM sessions in BRM Telco Integration. |
Recommended |
Closes all open GSM sessions when the external network shuts down or encounters a severe problem.
See the discussion on closing prepaid GSM sessions when the external network shuts down in BRM Telco Integration.
Example 1-167 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm 3215649 11 0 PIN_FLD_ORIGIN_NETWORK STR [0] "Sample Network" 0 PIN_FLD_ACC_FLAG INT [0] 0 0 PIN_FLD_START_T TSTAMP [0] (1095379771) Thu Sep 16 17:09:31 2004 0 PIN_FLD_END_T TSTAMP [0] (1095383091) Thu Sep 16 18:04:51 2004 0 PIN_FLD_TERMINATE_CAUSE ENUM [0] 10
Closes all open GSM sessions when the external network restarts.
See the discussion on closing prepaid GSM sessions when the external network restarts in BRM Telco Integration.
Example 1-169 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm 3215649 11 0 PIN_FLD_ORIGIN_NETWORK STR [0] "Sample Network" 0 PIN_FLD_ACC_FLAG INT [0] 0 0 PIN_FLD_START_T TSTAMP [0] (1095379771) Thu Sep 16 17:09:31 2004 0 PIN_FLD_END_T TSTAMP [0] (1095383091) Thu Sep 16 18:04:51 2004 0 PIN_FLD_TERMINATE_CAUSE ENUM [0] 10
Authenticates users for GSM services.
See the discussion on authenticating users for GSM services in BRM Telco Integration.
Authorizes users to access GSM services.
See the discussion on authorizing GSM services in BRM Telco Integration.
Example 1-173 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/telephony -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_MSID STR [0] "19145559876" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "asd45f898wae654fdsa" 0 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_ORIGIN_SID STR [0] "origin"
Example 1-174 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm/telephony 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 321684 10 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 2465 1 0 PIN_FLD_AUTHORIZATION_ID ENUM [0] "asd45f898wae654fdsa" 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_REASON ENUM [0] 0 0 PIN_FLD_BALANCES ARRAY [0] allocated 3, used 3 1 PIN_FLD_AMOUNT DECIMAL [0] 20.0 1 PIN_FLD_AVAILABLE_RESOURCE_LIMIT DECIMAL [0] 100.0 1 PIN_FLD_RUM_NAME STR [0] "Sample_RUM"
Cancels an existing GSM authorization and releases reserved resources back to the customer's account balance.
See the discussion on canceling authorization for GSM services in BRM Telco Integration.
Reauthorizes GSM accounting sessions.
See the discussion on reauthorizing GSM sessions in BRM Telco Integration.
Example 1-177 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/sms 0 PIN_FLD_MSID STR [0] "14085556548" 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "alkdsjfopi55a7e6ae4r" 0 PIN_FLD_AMOUNT DECIMAL [0] 25.0 0 PIN_FLD_DIRECTION ENUM [0] 1
Example 1-178 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm/sms 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 321684 10 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/sms 34564168 51 0 PIN_FLD_AUTHORIZATION_ID ENUM [0] "alkdsjfopi55a7e6ae4r" 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_REASON ENUM [0] 0 0 PIN_FLD_BALANCES ARRAY [0] allocated 3, used 3 1 PIN_FLD_AMOUNT DECIMAL [0] 25.0 1 PIN_FLD_AVAILABLE_RESOURCE_LIMI DECIMAL [0] 100 1 PIN_FLD_RUM_NAME STR [0] "sample_rum"
Starts a GSM accounting session.
See the discussion on starting prepaid GSM sessions in BRM Telco Integration.
Ends a GSM accounting session. This opcode rates any usage and records the event in the BRM database.
See the discussion on ending prepaid GSM sessions in BRM Telco Integration.
Example 1-181 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/telephony -1 0 0 PIN_FLD_MSID STR [0] "14085551234" 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "aokjgrt457a9w7t8rae2t" 0 PIN_FLD_AMOUNT DECIMAL [0] 40.0 0 PIN_FLD_DIRECTION ENUM [0] 0
Example 1-182 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm/telephony 24554 1 0 PIN_FLD_AUTHORIZATION_ID STR [0] "aokjgrt457a9w7t8rae2t" 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 7512687 11 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 267 1 0 PIN_FLD_BALANCES ARRAY [0] allocated 2, used 2 1 PIN_FLD_AMOUNT DECIMAL [0] 40.0 1 PIN_FLD_AVAILABLE_RESOURCE_LIMIT DECIMAL [0] 120.0
Updates information about an existing GSM accounting session.
See the discussion on updating a prepaid GSM session in BRM Telco Integration.
Example 1-183 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/sms -1 0 0 PIN_FLD_MSID STR [0] "14085551234" 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "aokjgrt457a9w7t8rae2t" 0 PIN_FLD_DIRECTION ENUM [0] 1 0 PIN_FLD_DIALED_NUMBER STR [0] "14085551212"
Updates the customer's usage data and reauthorizes GSM sessions in one transaction.
See the discussion on updating and reauthorizing GSM sessions in BRM Telco Integration.
Example 1-185 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/sms -1 0 0 PIN_FLD_MSID STR [0] "18065554578" 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "alkdsjfopi55a7e6ae4r" 0 PIN_FLD_AMOUNT DECIMAL [0] 25.0 0 PIN_FLD_DIRECTION ENUM [0] 1
Example 1-186 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm/sms 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 321684 10 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/sms 34564168 51 0 PIN_FLD_AUTHORIZATION_ID ENUM [0] "alkdsjfopi55a7e6ae4r" 0 PIN_FLD_RESULT ENUM [0] 1 0 PIN_FLD_REASON ENUM [0] 0 0 PIN_FLD_BALANCES ARRAY [0] allocated 3, used 3 1 PIN_FLD_AMOUNT DECIMAL [0] 25.0 1 PIN_FLD_AVAILABLE_RESOURCE_LIMI DECIMAL [0] 100 1 PIN_FLD_RUM_NAME STR [0] "sample_rum"
Use the opcode in Table 1-41 to add custom service attributes.
Include the ops/gsm.h header file in all applications that call this opcode. See the discussion on header files in BRM Developer's Guide.
Updates the service flist by adding values to customized fields for a service. This policy opcode takes as input the configuration object flist, the service flist, and the inherited information flist from the calling PCM_OP_GSM_APPLY_PARAMETER opcode.
This opcode is called by the PCM_OP_GSM_APPLY_PARAMETER standard opcode to apply any customizations.
See the discussion on modifying policy files in BRM Telco Integration.
If you added a substruct to a customized service, you can use this opcode to fill in the substruct fields. These fields will be updated in the database.
For example, a GSM service (/service/telco/gsm) could include a field for the bearer in the configuration object (/config/telco) in the service extensions array PIN_FLD_SERVICE_EXTENSIONS. You could use this opcode to add the bearer information through the service extension to update the service flist.
The opcode listed in Table 1-42 performs telco provisioning functions.
Include the ops/tcf.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Reads the service extensions from the input flist and adds corresponding GSM service values. The opcode reads the bearer service, APN name, and QoS information from the input flist's PIN_FLD_SERVICE_EXTENSIONS array and performs the following:
If the Bearer service is passed in the input flist, the opcode adds the value to the output flist's PIN_FLD_BEARER_SERVICE field of the PIN_FLD_GSM_INFO substruct.
If the APN name and QoS are passed in the input flist, the opcode adds the values to the output flist's PIN_FLD_APN array in the PIN_FLD_INHERITED_INFO substruct.
This opcodes calls the PCM_OP_GSM_POL_APPLY_PARAMETER policy opcode to apply any customizations.
The opcodes listed in Table 1-43 handle settlement information for inter-network operator usage.
Include the ops/ic.h header file in all applications that call these opcodes.See the discussion on header files in BRM Developer's Guide.
Table 1-43 IC FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Loads roaming settlement information into the BRM database. See the discussion on opcodes used for managing settlement data in BRM Configuring Roaming in Pipeline Manager. |
Limited |
|
Validates SMS aggregation data and creates or updates the SMS settlement report object. See the discussion on loading SMS data into the BRM database in BRM Configuring Roaming in Pipeline Manager. |
Limited |
The opcodes in Table 1-44 are used to update the IMT and PDC objects impacted by the product provisioning update.
Include the ops/imt.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Updates the IMT service object that was impacted by the product provisioning update.
When you add a new IMT service, you must customize this policy opcode to store attributes specific to that service in the BRM database. The attributes must match the product provisioning tags in /config/telco/imt.
Updates the PDC service object that was impacted by the product provisioning update.
When you add a new PDC service, you must customize this policy opcode to store attributes specific to that service in the BRM database. The attributes must match the product provisioning tags in /config/telco/pdc.
The opcodes listed in Table 1-45 are used to generate invoices in different formats.
Include the ops/inv.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-45 Invoicing FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Formats the invoice for printing. See the discussion on customizing the format for printed invoices in BRM Configuring and Running Billing. |
Recommended |
|
Provides DOC1 formatted invoice. See the discussion on customizing the format for DOC1 invoices in BRM Configuring and Running Billing. |
Limited |
|
Provides HTML formatted invoice. See the discussion on customizing the format for HTML invoices in BRM Configuring and Running Billing. |
Limited |
|
Provides XSL style sheet formatted invoice. See the discussion on customizing the invoice format by using an XSL style sheet in BRM Configuring and Running Billing. |
Limited |
|
Provides XML formatted invoice. See the discussion on customizing the format for XML invoices in BRM Configuring and Running Billing. |
Limited |
|
Formats invoices for viewing. See the discussion on displaying an invoice on demand in BRM Configuring and Running Billing. |
Recommended |
|
Returns any errors encountered by PCM_OP_INV_POL_SELECT when performing custom invoicing. |
Recommended |
|
Prepares the invoice. See the discussion on customizing invoice information in BRM Configuring and Running Billing. |
Recommended |
|
Provides custom search templates for items and events. See the discussion on customizing invoice search operations in BRM Configuring and Running Billing. |
Recommended |
Specifies the format in which to store invoices.
This opcode is called when invoices are generated to specify if the invoices are to be stored in XML or pin_flist format in the /invoice object. The default is pin_flist.
This opcode is called by the PCM_OP_INV_MAKE_INVOICE opcode.
See the discussion on customizing the format for printed invoices in BRM Configuring and Running Billing.
Provides the real formatted invoice for the DOC1 format.
If your system has the invoicing by service feature enabled, this opcode displays the invoice items by service instance.
This opcode is called by the PCM_OP_INV_POL_FORMAT_VIEW_INVOICE policy opcode.
See the discussion on customizing the format for DOC1 invoices in BRM Configuring and Running Billing.
Provides the real formatted invoice for the HTML format.
This opcode is called by PCM_OP_INV_POL_FORMAT_VIEW_INVOICE when the invoice format requested is for HTML.
See the discussion on customizing the format for HTML invoices in BRM Configuring and Running Billing.
Provides the real formatted invoice with an XSL style sheet format.
This opcode is called by PCM_OP_INV_POL_FORMAT_VIEW_INVOICE when the /config/invoice_templates object specifies an XSL style sheet.
See the discussion on customizing the invoice format by using an XSL style sheet in BRM Configuring and Running Billing.
Provides the real formatted invoice for the XML format.
This opcode is called by PCM_OP_INV_POL_FORMAT_VIEW_INVOICE when the invoice format requested is for XML.
See the discussion on customizing the format for XML invoices BRM Configuring and Running Billing.
Generates an invoice on the fly in the specified format.
This opcode is called when the PCM_OP_INV_VIEW_INVOICE opcode requests an invoice in a format that is not stored on the /invoice object. This opcode attempts to generate the invoice in the requested format on the fly. Invoices may be formatted as HTML or DOC1. An XML format is also available, but it displays as HTML format.
See the discussion on displaying an invoice on demand in BRM Configuring and Running Billing.
Captures and returns errors that were created due to custom invoicing operations defined in PCM_OP_INV_POL_SELECT.
This opcode is called by the PCM_OP_INV_MAKE_INVOICE standard opcode.
See the discussion on how invoices are generated in BRM Configuring and Running Billing.
Example 1-189 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /invoice -1 0 0 PIN_FLD_ERROR_CODE STR [0] "PIN_ERR_BAD_OPCODE" 0 PIN_FLD_ERROR_DESCR STR [0] "\t <location=PIN_ERRLOC_FM:5 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1 errno=PIN_ERR_BAD_OPCODE:36>\n\t <field num=0:0,0 recid=0 reserved=973 reserved2=0 time(sec:usec)=0:0>\n\t <facility=0 msg_id=0 version=0>\n"
Example 1-190 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /invoice -1 0 0 PIN_FLD_ERROR_CODE STR [0] "PIN_ERR_BAD_OPCODE" 0 PIN_FLD_ERROR_DESCR STR [0] "\t <location=PIN_ERRLOC_FM:5 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1 errno=PIN_ERR_BAD_OPCODE:36>\n\t <field num=0:0,0 recid=0 reserved=973 reserved2=0 time(sec:usec)=0:0>\n\t <facility=0 msg_id=0 version=0>\n"
Prepares invoice information prior to formatting and storing.
This policy opcode is called by the PCM_OP_INV_MAKE_INVOICE opcode.
For corrective invoicing, PIN_FLD_PREV_BILLINFO field contains the details of previous bills. Additionally, the PIN_FLD_CORRECTION_INFO array under PIN_FLD_OTHER_ITEMS contains all the special items that correspond to the corrective bill and its associated events.
The contents of value in the PIN_FLD_INV_TYPE field determines the contents of the invoice. For example, the invoice for a Detail Replacement shows all the items and events while a Detail Correction letter displays only the special items and its associated values. However, both Replacement and Correction Letter invoices show the previous amount, adjusted amount, and new amounts for events and items.
See the discussion on customizing invoice information in BRM Configuring and Running Billing.
When called by the PCM_OP_INV_MAKE_INVOICE opcode during trial invoicing for hierarchical accounts, this policy opcode checks the value of the PIN_FLD_FLAGS field. If the value is PIN_INV_TYPE_TRIAL_INVOICE plus PIN_INV_TYPE_SUBORDINATE this policy opcode adds the PIN_FLD_BILLS array and the PIN_FLD_CHECK_SPLIT_FLAGS field, which are required to generate the trial invoices for the subordinate's parent.
The PIN_FLD_BILLS array contains the following fields:
PIN_FLD_START_T
PIN_FLD_END_T
PIN_FLD_AR_BILLINFO_OBJ
PIN_FLD_DUE
PIN_FLD_ADJUSTED
PIN_FLD_WRITEOFF
PIN_FLD_DISPUTED
PIN_FLD_RECVD
The PIN_FLD_CHECK_SPLIT_FLAGS is used internally by Oracle Business Intelligence (BI) Publisher to collate subordinate invoices into the final invoice.
For more information, see the discussion on how trial invoicing works in BRM Designing and Generating Invoices.
Provides the ability to write custom search templates for items and events to be displayed on invoices.
The PIN_FLD_BOOLEAN field in the output flist determines whether this opcode is used:
PIN_BOOLEAN_TRUE (1) means the output flist is used by PCM_OP_INV_POL_POST_MAKE_INVOICE to generate the invoice.
PIN_BOOLEAN_FALSE (0) means it is not used.
This opcode is called by the PCM_OP_INV_MAKE_INVOICE standard opcode.
See the discussion on customizing invoice search operations in BRM Configuring and Running Billing.
The opcodes in Table 1-46 create and format invoices.
Include the ops/inv.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-46 Invoicing FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Decodes the value of the PIN_FLD_INVOICE_DATA field. |
Recommended |
|
Performs XSL Transformation on an invoice. See the discussion on how invoices are formatted in BRM Configuring and Running Billing. |
Limited |
|
Generates invoices. See the discussion on how invoices are generated in BRM Configuring and Running Billing. |
Recommended |
|
Displays an invoice that is stored in the database. See the discussion on customizing the format for online invoices in BRM Configuring and Running Billing. |
Recommended |
Decodes the value of the PIN_FLD_INVOICE_DATA field in the /event object, which contains cached items and events to be displayed on the invoice.
If you customized PCM_OP_INV_POL_SELECT to search for custom event data, you must call this opcode.
See the discussion on decoding cached event data for invoicing in BRM Configuring and Running Billing.
Performs XSL Transformation on an invoice.
See the discussion on how invoices are formatted in BRM Configuring and Running Billing.
Creates an invoice for a specified (regular or corrective) bill object.
For regular invoices, this opcode uses the PIN_FLD_INV_DETAIL_FLAG value in the /payinfo object to determine whether to generate a detailed invoice or a summary invoice, and the invoicing threshold parameters in the /config/business_params object to determine whether the invoices of subordinate bills in a hierarchy should be generated separately or consolidated into the invoice of the parent A/R bill.
This is the initial opcode that gets called to create an invoice for a designated bill object.
This opcode identifies corrective bills by the entries PIN_OBJ_NAME_CORRECTIVE_BILL, PIN_OBJ_NAME_CORRECTIVE_BILL_NOW, and PIN_OBJ_NAME_CORRECTIVE_BILL_ON_DEMAND in the PIN_FLD_NAME field in the bill object.
For corrective invoices, the default value for the type of corrective invoice (whether it is a Replacement Invoice or an Invoice Correction Letter, and whether that document is a summary or in detail) is obtained from the PIN_FLD_INV_TYPE field from the /event/billing/corrective_bill object. For invoices in an hierarchy, the default setting is determined by the corresponding value in the /event/billing/corrective_bill object in the parent invoice.
If PIN_FLD_INV_FLAGS is present in the input flist when this opcode is called, the opcode discards the default value and uses the PIN_FLD_INV_FLAGS value from the input flist in conjunction with the entries in the pin_inv.h file to arrive at the required type of corrective invoice.
This opcode retrieves the correction reason and previous bill number from the /event/billing/corrective_bill object and inserts them in the corrective invoice. It calls the fm_inv_get_previous_bill to retrieve the contents of the latest history_bills object.
See the discussion on how invoices are generated in BRM Configuring and Running Billing.
During trial invoicing for hierarchical accounts, the PCM_OP_BILL_MAKE_TRIAL_BILL opcode passes the PIN_FLD_INV_FLAGS field's value to this opcode. This opcode decides from the value whether to create a subordinate or parent trial invoice:
If the value is PIN_INV_TYPE_SUBORDINATE, a subordinate invoice is created.
If the value is PIN_INV_TYPE_PARENT, a parent invoice is created.
For more information, see the discussion on how trial invoicing works in BRM Designing and Generating Invoices.
Retrieves an invoice from the database.
This opcode uses the POID of the /bill object or /invoice object to locate and retrieve a specific invoice and the PIN_FLD_THRESHOLD value to determine the maximum allowable size of the invoice to be viewed.
The PIN_FLD_FLAGS value in the output flist determines the type of invoice to view, for example, a summary or detailed invoice for a nonhierarchical account, and the PIN_FLD_INV_SIZE value in the output flist specifies the size of the invoice returned.
Specify the output format of the invoice as a mime type in the PIN_FLD_TYPE_STR field on the input flist.
See the discussion on customizing the format for online invoices in BRM Configuring and Running Billing.
The opcodes in Table 1-47 are used to perform various checks and maintenance on the APN device.
Include the ops/apn.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-47 IP Address Manager APN FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Performs verification checks on the APN device and the account or service being associated. See the discussion on associating APN with an account or service in BRM Telco Integration. |
Recommended |
|
Performs validation checks during APN device creation. See the discussion on creating an APN device in BRM Telco Integration. |
Recommended |
|
Performs validation checks and deletes associated IP devices during APN device deletion. See the discussion on deleting an APN device in BRM Telco Integration. |
Recommended |
|
Verifies that an APN device is in a state to accept changes, and then makes the changes. See the discussion on modifying an APN device in BRM Telco Integration. |
Recommended |
|
Verifies that an APN device can accept a new or changed brand, and then makes the change to the APN and all associated IP devices. See the discussion on setting the brand for an APN device in BRM Telco Integration. |
Recommended |
|
Verifies that an APN device is eligible to accept a device state change, and then makes the changes. See the discussion on the discussion on changing the APN device state in BRM Telco Integration. |
Recommended |
Performs verification checks on the APN device and the account or service being associated.
This opcode is called by the PCM_OP_DEVICE_POL_ASSOCIATE policy opcode.
See the discussion on associating APN with an account or service in BRM Telco Integration.
By default, this opcode first verifies the following:
The APN device is in a new or usable state.
The account or service being associated are in the same brand as the APN device.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
Performs validation checks during APN device creation. This opcode verifies that the APN names and IDs being created are correct and determines whether there are any existing APN devices with duplicate names.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
This opcode is called by the PCM_OP_DEVICE_POL_CREATE policy opcode.
See the discussion on creating an APN device in BRM Telco Integration.
Performs validation checks and deletes associated IP devices during APN device deletion. If any associated IP devices are allocated, this opcode does not delete it or the APN device.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
This opcode is called by the PCM_OP_DEVICE_POL_DELETE policy opcode.
See the discussion on deleting an APN device in BRM Telco Integration.
Verifies that an APN device is in a state to accept changes, and then makes the changes.
By default, this opcode first confirms the following:
The APN device is associated with the correct brand.
The APN device object type is /device/apn.
None of the IP addresses associated with the APN device are in an allocated state.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
This opcode is called by the PCM_OP_DEVICE_POL_SET_ATTR policy opcode.
See the discussion on modifying an APN device in BRM Telco Integration.
Verifies that an APN device can accept a new or changed brand, and then makes the change to the APN and all associated IP devices.
This opcode is called by the PCM_OP_DEVICE_POL_SET_BRAND and PCM_OP_IP_POL_DEVICE_SET_BRAND policy opcodes.
See the discussion on setting the brand for an APN device in BRM Telco Integration.
This opcode first confirms the following:
The device type is /device/apn.
The APN device state is new or unusable.
None of the IP address devices associated with the APN are in an allocated state.
That PCM_OP_IP_POL_DEVICE_CREATE is attempting to change the APN device state from new to usable.
If these conditions are met, this opcode calls PCM_OP_DEVICE_SET_BRAND to add or change the APN device's brand. All IP address devices associated with the APN device are also given the new brand.
If any of these conditions fail, no changes is made to the APN or IP address devices.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
Verifies that an APN device is eligible to accept a device state change, and then makes the changes.
This opcode is called by the PCM_OP_DEVICE_POL_SET_STATE policy opcode.
See the discussion on changing the APN device state in BRM Telco Integration.
By default, this opcode first confirms the following:
If the state change is from usable to unusable, none of its associated IP devices are in an allocated state. If any are, an error is returned, and the entire transaction is rolled back.
If the APN device state change is from new to usable, PCM_OP_IP_POL_DEVICE_CREATE was used to call this opcode.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
The opcodes in Table 1-48 are used to perform various checks and maintain the state of the IP address device.
Include the ops/ip.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-48 IP Address Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Changes the state of an IP address device when services are assigned to, or removed from the device. See the following discussions in BRM Telco Integration:
|
Recommended |
|
Executes verification checks before creating a /device/ip object. See the following discussions in BRM Telco Integration:
|
Recommended |
|
Verifies that an IP address device is not in an allocated state, and then deletes the /device/ip object. See the discussion on deleting an IP address device in BRM Telco Integration. |
Recommended |
|
Verifies that an IP address device is not in an allocated or returned state, and then changes an attribute of the /device/ip object. See the discussion on modifying an IP address device in BRM Telco Integration. |
Recommended |
|
Verifies that an IP address device is eligible to change brands, and then makes the change. See the discussion on setting the brand on an IP device in BRM Telco Integration. |
Recommended |
|
Changes the state of all instances of an IP device. See the discussion on changing IP device states from unallocated to returned in BRM Telco Integration. |
Recommended |
Changes the state of an IP address device when services are assigned to, or removed from the device.
When a service is assigned to an IP device, this opcode changes the state of the IP device from new or unallocated to allocated.
When all services are removed from an IP device, this opcode changes the state of the IP device from allocated to unallocated.
This opcode is called by the PCM_OP_DEVICE_POL_ASSOCIATE and PCM_OP_IP_POL_DEVICE_SET_STATE policy opcodes.
See the following discussions in BRM Telco Integration:
Associating an IP address with accounts or services
Disassociating an IP address device from accounts or services
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
Executes verification checks before creating a /device/ip object.
This opcode verifies that no existing IP address devices have the same IP address and APN combination.
This opcode is called by the PCM_OP_DEVICE_POL_CREATE and PCM_OP_IP_POL_DEVICE_SET_STATE policy opcodes.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
See the following discussions in BRM Telco Integration:
Creating a single IP address device
Creating a range of IP address devices
Verifies that an IP address device is not in an allocated state, and then deletes the /device/ip object.
This opcode is designed as a hook for you to add any additional verification checks or business that your implementation requires.
This opcode is called by the PCM_OP_DEVICE_POL_DELETE policy opcode.
See the discussion on deleting an IP address device in BRM Telco Integration.
Verifies that an IP address device is not in an allocated or returned state, and then changes an attribute for the /device/ip object.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
This opcode is called by the PCM_OP_DEVICE_POL_SET_ATTR and PCM_OP_IP_POL_DEVICE_SET_STATE policy opcodes.
See the discussion on modifying an IP address device in BRM Telco Integration.
Verifies that an IP address device is eligible to change brands, and then makes the change.
This opcode is called by the PCM_OP_DEVICE_POL_SET_BRAND policy opcode.
See the discussion on setting the brand on an IP device in BRM Telco Integration.
By default, this opcode first verifies the following:
The calling opcode is PCM_OP_IP_POL_DEVICE_SET_BRAND.
The IP device is not in a new or unallocated state.
This opcode also checks whether the brand passed in matches the brand the IP address already has. If so, it returns a debug message.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
Changes the state for all instances of an IP device. This opcode searches for all instances of an IP address in the database and changes their states. If the IP device is associated with multiple APNs, they are all changed.
This opcode is called by the PCM_OP_DEVICE_POL_SET_STATE policy opcode.
See the discussion on changing IP device states from unallocated to returned in BRM Telco Integration.
This opcode determines whether the IP state change is from or to the allocated state.
If the state change is from or to allocated, it calls PCM_OP_IP_POL_DEVICE_ASSOCIATE to perform the change.
For all other state changes, it calls PCM_OP_IP_DEVICE_SET_STATE to make the state change.
This opcode is designed as a hook for you to add any additional verification checks or business logic that your implementation requires.
The opcodes in Table 1-49 create, delete, and maintain the attributes and state of one or more IP address devices.
Include the ops/ip.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-49 IP Address Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates one or more IP address devices. See the discussion on creating a single IP address device and creating a range of IP address devices in BRM Telco Integration. |
Recommended |
|
Deletes one or more IP address devices. See the discussion on deleting an IP address device in BRM Telco Integration. |
Recommended |
|
Sets attributes for one or more IP devices. See the discussion on modifying an IP address device in BRM Telco Integration. |
Recommended |
|
Sets the device state for one or more IP devices. See the discussion on changing IP device states from unallocated to returned in BRM Telco Integration. |
Recommended |
Creates one or more IP address devices. This opcode calls PCM_OP_DEVICE_CREATE. Add any validation checks or business logic that your business requires before creating and IP device to PCM_OP_IP_POL_DEVICE_CREATE.
See the discussion on creating a single IP address device and creating a range of IP address devices in BRM Telco Integration.
When creating multiple IP devices, this opcode creates a contiguous range of IP addresses devices based on starting and ending IP addresses you supply. The opcode creates a /device/ip object for each device.
You have the option of using wildcard characters in the last two octets of the PIN_FLD_START_ADDRESS field. If they are used, this opcode creates a range using them.
If wildcard characters are not used, this opcode performs one of the following actions:
Creates a range using the end address
Creates a range using subnet mask
Creates a single IP device
Example 1-204 Sample Input Flists
All of these sample input flists work.
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0 0 PIN_FLD_OBJ_TYPE STR [0] "/ext" 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_START_ADDRESS STR [0] "207.1.2.10" 0 PIN_FLD_END_ADDRESS STR [0] "207.1.2.19" 0 PIN_FLD_APN_OBJ POID [0] 0.0.0.1 /device/apn 68728 0 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] 1 PIN_FLD_ORDER_INFO SUBSTRUCT [0] 2 PIN_FLD_ORDER_ORIGIN STR [0] "northcoast"
Or
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_START_ADDRESS STR [0] "207.1.2.10" 0 PIN_FLD_APN_OBJ POID [0] 0.0.0.1 /device/apn 68728 0
Or
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_START_ADDRESS STR [0] "207.1.2.10" 0 PIN_FLD_SUBNET_MASK STR [0] "255.255.255.192" 0 PIN_FLD_APN_OBJ POID [0] 0.0.0.1 /device/apn 68728 0
Or
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_START_ADDRESS STR [0] "207.1.*.*" 0 PIN_FLD_APN_OBJ POID [0] 0.0.0.1 /device/apn 68728 0
Example 1-205 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0 0 PIN_FLD_RESULTS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 2723 0 0 PIN_FLD_RESULTS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 5654 0 0 PIN_FLD_RESULTS ARRAY [2] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 7653 0 0 PIN_FLD_RESULTS ARRAY [3] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 90283 0 0 PIN_FLD_RESULTS ARRAY [4] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 3754 0
Deletes one or more IP address devices. This opcode calls PCM_OP_IP_DEVICE_DELETE. This opcode deletes one IP device at a time. You must call it once for each device to delete.
For more information and the calling sequence, see the discussion on deleting an IP address device in BRM Telco Integration.
Example 1-206 Sample Input Flists
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip -1 0(Routing POID) 0 PIN_FLD_PROGRAM_NAME STR [0] "Testnap" 0 PIN_FLD_ARGS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 742181 1 0 PIN_FLD_ARGS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 742949 1 0 PIN_FLD_ARGS ARRAY [2] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 743717 1
Sets the attributes for one or more IP address devices. This opcode calls PCM_OP_DEVICE_SET_ATTR. Add any validation checks or business logic before setting IP device attributes to PCM_OP_IP_POL_DEVICE_SET_ATTR. To set attributes for a range of devices, send in start and end POIDs and this opcode make changes to all IP devices within that contiguous range.
See the discussion on modifying an IP address device in BRM Telco Integration.
Example 1-208 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 0 0 /device/ip -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "Testnap" 0 PIN_FLD_ARGS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 743717 1 1 PIN_FLD_DESCR STR [0] "North" 1 PIN_FLD_DEVICE_IP PIN_FLDT_SUBSTRUCT [0] 2 PIN_FLD_APN_OBJ POID [0] 0.0.0.1 /device/apn 732512 1 0 PIN_FLD_ARGS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 743718 1 1 PIN_FLD_DEVICE_IP PIN_FLDT_SUBSTRUCT [0] 2 PIN_FLD_APN_OBJ POID [0] 0.0.0.1 /device/apn 732512 1 0 PIN_FLD_ARGS ARRAY [2] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 745253 1 1 PIN_FLD_DESCR STR [0] "North"
Sets the device state for one or more IP devices. This opcode calls PCM_OP_DEVICE_SET_STATE. Add any validation checks or business logic required before setting device states to PCM_OP_IP_POL_DEVICE_SET_STATE.
When setting states for multiple IP devices, this opcode operates on a contiguous range of IP addresses devices based on starting and ending IP addresses you supply. The opcode sets the state for all /device/ip objects in that range.
See the discussion on changing IP device states from unallocated to returned in BRM Telco Integration.
Example 1-210 Sample Input Flists
0 PIN_FLD_POID POID [0] 0.0.0.1 0 0 /device/ip -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "Testnap" 0 PIN_FLD_ARGS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 766144 1 1 PIN_FLD_NEW_STATE INT [0] 4 0 PIN_FLD_ARGS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /device/ip 766145 1 1 PIN_FLD_NEW_STATE INT [0] 4
The opcodes listed in Table 1-50 are the standard opcodes to create, modify, or delete the /job_template objects.
Include the ops/job.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The opcodes listed in Table 1-51 are the base opcodes as implemented by LDAP Manager. These Base opcodes may be used by any of the opcodes in the BRM system to perform basic operations. Unlike all other opcodes, which belong to the Connection Manager, the base opcodes are part of the Data Manager.
Note:
Each of the DMs included with BRM uses a different implementation of the base opcodes depending on the DM and the storage system it interacts with. For example, the base opcode PCM_OP_SEARCH is implemented differently for the DM_ORACLE and the DM_LDAP.Include the ops/base.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Opcode | Description | Use |
---|---|---|
Creates an entry in the directory server. See the discussion on creating directory server entries in BRM LDAP Manager. |
Recommended |
|
Deletes values and attributes in an entry using the LDAP modify operation. See the discussion on deleting attributes from an existing directory server entry in BRM LDAP Manager. |
Recommended |
|
Invokes the delete entry semantics of the LDAP modify operation in the directory server. See the discussion on deleting directory server entries in BRM LDAP Manager. |
Recommended |
|
Reads attributes from a directory server entry from the database using the LDAP search operation. See the discussion on reading attributes from the directory server entry in BRM LDAP Manager. |
Recommended |
|
Reads an entire object from the database using the LDAP search operation. See the discussion on reading objects from the directory server in BRM LDAP Manager. |
Recommended |
|
Searches the directory server based on a specified search criteria. See the discussion on searching the directory server for entries in BRM LDAP Manager. |
Recommended |
|
Tests directory server connections. |
Recommended |
|
Updates attributes in an entry or renames entries using the LDAP modify operation. See the discussion on changing directory server entries in BRM LDAP Manager. |
Recommended |
Creates new directory server entries or reuses entries in the directory server for replication purposes.
See the discussion on creating directory server entries in BRM LDAP Manager.
Deletes values and attributes in a directory server entry.
This opcode performs the delete operation by using the LDAP modify operation, which imposes delete semantics.
See the discussion on deleting attributes from an existing directory server entry in BRM LDAP Manager.
Deletes an entire entry from the directory server.
See the discussion on deleting directory server entries in BRM LDAP Manager.
Reads attributes from a directory server.
See the discussion on reading attributes from the directory server entry in BRM LDAP Manager.
Reads objects from a directory server entry using the LDAP search operation.
See the discussion on reading objects from the directory server in BRM LDAP Manager.
Searches the directory server based on a specified search criteria that you supply as a template in the input flist.
Important:
Only those objects and attributes that you define in the mapping file can be returned by the LDAP Data Manager in the output flist.See the discussion on searching the directory server for entries in BRM LDAP Manager.
Tests directory server connections.
Verifies that the LDAP Data Manager and the directory server daemon/service processes are running and communicating with each other.
Updates attributes in a directory server entry or renames entries.
This opcodes performs the following operations:
Updates attributes by using the LDAP modify operation.
Uses the replace semantics of the LDAP modify operation.
Renames directory server entries
See the discussion on changing directory server entries in BRM LDAP Manager.
Use the opcodes in Table 1-52 to customize Number Manager.
Include the ops/num.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-52 Number Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Handles number normalization, for example, removes punctuation characters. See the discussion on customizing number normalization in BRM Telco Integration. |
Recommended |
|
Validates that numbers are associated with services correctly. See the discussion on customizing how numbers are associated with services in BRM Telco Integration. |
Recommended |
|
Validates the default telephone number attributes when a number is created. See the discussion on customizing telephone number attributes in BRM Telco Integration. |
Recommended |
|
Checks the state of the device. |
||
Specifies how a number can be changed, for example, which digits can be changed. See the discussion on customizing how a number can be changed in BRM Telco Integration. |
Recommended |
|
Changes a block's brand, and the brand of all numbers in the block. See the discussion on changing a block's brand in BRM Telco Integration. |
Recommended |
Handles number normalization when receiving numbers from applications and outputting numbers to other opcodes or applications.
This opcode is called by:
PCM_OP_NUM_CREATE_BLOCK
PCM_OP_NUM_MODIFY_BLOCK
PCM_OP_NUM_PORT_IN
See the discussion on customizing number normalization in BRM Telco Integration.
Example 1-212 Sample Input Flists
This example shows a typical input format:
0 PIN_FLD_POID POID [0] 0.0.0.1 0 0 0 PIN_FLD_NUMBERS ARRAY [0] 1 PIN_FLD_NUMBER STR [0] "1 (408) 572-3333"
This example shows how multiple numbers are handled:
0 PIN_FLD_POID POID [0] 0.0.0.1 0 0 0 PIN_FLD_NUMBERS ARRAY [0] 1 PIN_FLD_NUMBER STR [0] "1 (408) 572-3000" 0 PIN_FLD_NUMBERS ARRAY [1] 1 PIN_FLD_NUMBER STR [0] "1 (408) 572-3999"
Specifies the rules for associating or disassociate a number and a service.
This opcode is called by the PCM_OP_DEVICE_POL_ASSOCIATE opcode when a number is associated or disassociated with a service.
See the discussion on customizing how numbers are associated with services in BRM Telco Integration.
Validates a new number to make sure it is unique in the database.
You can customize this policy opcode if you extend the number device attributes and require additional validation, or if you want to change existing validations.
This opcode is called by the PCM_OP_DEVICE_POL_CREATE policy opcode.
See the discussion on customizing telephone number attributes in BRM Telco Integration.
Checks the state of the device.
If the device state is PIN_NUM_STATE_NEW or PIN_NUM_STATE_UNASSIGNED, allows you to delete the device; otherwise, it generates an error and does not allow you to delete the device.
This policy opcode is called by the PCM_OP_DEVICE_POL_DELETE policy opcode.
Specifies which digits in a number can be changed.
By default, it supports changing US area codes by using the following logic: If the number starts with 001 and is 13 digits long, allow changing digits 4-6.
This opcode is called by the PCM_OP_DEVICE_POL_SET_ATTR policy opcode.
See the discussion on customizing how a number can be changed in BRM Telco Integration.
The opcodes listed in Table 1-53 are used to create and modify blocks of numbers, manage number quarantine, and manage number portability.
Include the ops/num.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-53 Number Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates a block of telephone numbers. See the discussion on creating blocks of numbers in BRM Telco Integration. |
Recommended |
|
Modifies a block of numbers, for example, changes the block name, brand, numbers, or splits the block. See the discussion on modifying blocks of numbers in BRM Telco Integration. |
Recommended |
|
Creates a number device with the provided number. See the discussion on managing number portability in BRM Telco Integration. |
Limited |
|
Sets the status of the provided number device to quarantine_port_out. See the discussion on managing number portability in BRM Telco Integration. |
Limited |
|
Either creates or deletes a /schedule/device object to manage the telephone number quarantine. See the discussion on managing number quarantine in BRM Telco Integration. |
Recommended |
|
Splits an existing block of numbers into two or more blocks. See the discussion on splitting blocks of numbers in BRM Telco Integration. |
Recommended |
Creates a block of telephone numbers. This opcode creates a /block object and the specified number of telephone numbers, created as /device/num objects.
See the discussion on creating blocks of numbers in BRM Telco Integration.
Example 1-216 Sample Input Flist
0 PIN_FLD_NAME STR[0] "Cupertino" 0 PIN_FLD_START_NUMBER STR[0] "1 (408) 572-0000" 0 PIN_FLD_END_NUMBER STR[0] "1 (408) 572-9999" 0 PIN_FLD_PROGRAM_NAME STR[0] "Number Administrator" 0 PIN_FLD_NUMBER_INFO ARRAY[0] 1 PIN_FLD_CATEGORY_ID INT[0] 2 1 PIN_FLD_CATEGORY_VERSION INT[0] 1 1 PIN_FLD_NETWORK_ELEMENT STR[0] "HLR1" 1 PIN_FLD_VANITY ENUM[0] 0 1 PIN_FLD_PERMITTED STR[0] "/service/telco/gsm/telephony"
Modifies a block of numbers, for example, changes the block name, brand, or numbers.
The opcode identifies whether you want to modify the block or extend/shrink the block. If the value of the PIN_FLD_REQ_MODE flag is True, the PCM_OP_NUM_MODIFY_BLOCK opcode extends or shrinks the number block. If the value of the flag is False, the PCM_OP_NUM_MODIFY_BLOCK opcode modifies the number block.
See the discussion on modifying blocks of numbers in BRM Telco Integration.
Creates a number device using the provided number.
See the discussion on managing number portability in BRM Telco Integration.
Example 1-220 Sample Input Flist
0 PIN_FLD_NAME STR [0] "PORT_IN_123" 0 PIN_FLD_PORT_IN_NUMBER STR [0] "14085723700" 0 PIN_FLD_POID POID [0] 0.0.0.1 /block -1 0 0 PIN_FLD_NUMBER_INFO ARRAY[0] 1 PIN_FLD_PERMITTED STR [0] "/service/gsm" 1 PIN_FLD_VANITY ENUM [0] 0 1 PIN_FLD_CATEGORY_ID INT [0] 0 1 PIN_FLD_NETWORK_ELEMENT STR [0] "sample_network_element_1" 1 PIN_FLD_ORIGIN_NETWORK_ID STR [0] "Donor Service Provider" 1 PIN_FLD_RECENT_NETWORK_ID STR [0] "sample_network_element_2" 1 PIN_FLD_CATEGORY_VERSION INT [0] 0
Sets the status of the provided number device to quarantine_port_out.
See the discussion on managing number portability in BRM Telco Integration.
Creates or deletes a /schedule/device object to manage the telephone number quarantine.
See the discussion on managing number quarantine in BRM Telco Integration.
Splits a block of numbers into two or more blocks.
See the discussion on splitting blocks of numbers in BRM Telco Integration.
Example 1-225 Sample Input Flist
This example shows a block split into two blocks:
0 PIN_FLD_POID POID [0] 0.0.0.1 /block 15649 0 PIN_FLD_ATTRIBUTES ARRAY [0] 1 PIN_FLD_NAME STR [0] "Ohio, Summit County, Akron" 1 PIN_FLD_START_NUMBER STR [0] "12167772000" 1 PIN_FLD_END_NUMBER STR [0] "12167772499" 0 PIN_FLD_ATTRIBUTES ARRAY [1] 1 IN_FLD_NAME STR [0] "Ohio, Summit County, Akron" 1 PIN_FLD_START_NUMBER STR [0] "12167772500" 1 PIN_FLD_END_NUMBER STR [0] "12167772999"
Use the opcodes in Table 1-54 to customize order management.
Include the ops/device.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-54 Order FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Can be customized to provide validation for associations and disassociations. See the discussion on associating and disassociating order objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation and other functionality during device creation. See the discussion on creating order objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation for device deletions. See the discussion on deleting order objects in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation for processing order response files. See the discussion on processing order response files in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation for attribute changes. See the discussion on changing order object attributes in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation or other functionality during a brand change. See the discussion on changing order object brand associations in BRM Developer's Guide. |
Recommended |
|
Can be customized to provide validation or other functionality for state changes. See the discussion on setting the state in order objects in BRM Developer's Guide. |
Recommended |
Allows custom validation during order association and disassociation.
This opcode is called by the PCM_OP_ORDER_ASSOCIATE standard opcode and takes the same input as the PCM_OP_ORDER_ASSOCIATE standard opcode.
See the discussion on associating and disassociating order objects in BRM Developer's Guide.
Example 1-227 Sample Input Flist
Associating an order with a master order:
0 PIN_FLD_POID POID [0] 0.0.0.1 /order 10337 0 0 PIN_FLD_PROGRAM_NAME STR [0] ”testnap” 0 PIN_FLD_FLAGS INT [0] 1 0 PIN_FLD_ORDERS ARRAY [0] 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 10433 0 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 11841 0
Disassociating an order from a master order:
0 PIN_FLD_POID POID [0] 0.0.0.1 /order 10337 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_FLAGS INT [0] 0 0 PIN_FLD_SERVICES ARRAY [0] 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 10433 0
Allows customized validation during order creation.
This opcode is called by the PCM_OP_ORDER_CREATE standard opcode during order creation and takes the same input as the PCM_OP_ORDER_CREATE standard opcode.
See the discussion on creating order objects in BRM Developer's Guide.
Allows customized validation during order deletion.
This opcode is called by the PCM_OP_ORDER_DELETE standard opcode and takes the same input as the PCM_OP_ORDER_DELETE standard opcode.
See the discussion on deleting order objects in BRM Developer's Guide.
Allows customized processing of the order response.
This opcode is called by the PCM_OP_ORDER_PROCESS standard opcode during order processing and takes the same input as the PCM_OP_ORDER_PROCESS standard opcode.
See the discussion on processing order response files in BRM Developer's Guide.
Allows customized validation of order attribute changes.
This opcode is called by the PCM_OP_ORDER_SET_ATTR standard opcode during attribute changes and takes the same input as the PCM_OP_ORDER_SET_ATTR standard opcode.
See the discussion on changing order object attributes in BRM Developer's Guide.
Allows customized validation of brand changes of the order.
This opcode is called by the PCM_OP_ORDER_SET_BRAND standard opcode during brand changes and takes the same input as the PCM_OP_ORDER_SET_BRAND standard opcode.
See the discussion on changing order object brand associations in BRM Developer's Guide.
Allows customization during state changes.
This policy opcode can be called by PCM_OP_ORDER_SET_STATE standard opcode during state changes. Policy opcodes called during state changes are specified in the /config/order_state object.
Note:
This opcode is supplied as the default policy for state changes.See the discussion on setting the state in order objects in BRM Developer's Guide.
The opcodes described in Table 1-55 create, delete, and update /order objects.
Include the ops/order.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-55 Order FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Associates or disassociates an order with a master /order object. See the discussion on associating and disassociating order objects in BRM Developer's Guide. |
Recommended |
|
Creates a new /order object. See the discussion on creating order objects in BRM Developer's Guide. |
Recommended |
|
Deletes an /order object. See the discussion on deleting order objects in BRM Developer's Guide. |
Recommended |
|
Processes the response of the order. See the discussion on processing order response files in BRM Developer's Guide. |
Recommended |
|
Sets attribute values for an /order object. See the discussion on changing order object attributes in BRM Developer's Guide. |
Limited |
|
Sets the brand for an /order object. See the discussion on changing order object brand associations in BRM Developer's Guide. |
Limited |
|
Sets the state for an /order object. See the discussion on setting the state in order objects in BRM Developer's Guide. |
Limited |
|
Updates the state, brand, or attributes for an /order object. See the discussion on updating order objects in BRM Developer's Guide. |
Recommended |
Associates or disassociates /order objects with a master object.
See the discussion on associating and disassociating order objects in BRM Developer's Guide.
Example 1-236 Sample Input Flist
Associating an order with a master order:
0 PIN_FLD_POID POID [0] 0.0.0.1 /order 10337 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_FLAGS INT [0] 1 0 PIN_FLD_ORDERS ARRAY [0] 1 PIN_FLD_ORDER_OBJ POID [0] 0.0.0.1 /order/num 10433 0
Disassociating an order from a master order:
0 PIN_FLD_POID POID [0] 0.0.0.1 /order 10337 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_FLAGS INT [0] 0 0 PIN_FLD_ORDERS ARRAY [0] 1 PIN_FLD_ORDER_OBJ POID [0] 0.0.0.1 /order/num 10433 0
Creates an /order object.
See the discussion on creating order objects in BRM Developer's Guide.
Deletes an /order object.
See the discussion on deleting order objects in BRM Developer's Guide.
Processes the response to the order.
See the discussion on processing order response files in BRM Developer's Guide.
Example 1-242 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /order/voucher 14549 1 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_ORDERS_INFO ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /order/voucher 14549 1 1 PIN_FLD_SOURCE STR [0] "SRC1" 1 PIN_FLD_MANUFACTURER STR [0] "Clear Tech" 1 PIN_FLD_MODEL STR [0] "PrePaid" 1 PIN_FLD_OBJ_TYPE STR [0] "/voucher" 1 PIN_FLD_DEVICES ARRAY [0] 2 PIN_FLD_POID POID [0] 0.0.0.1 /device/voucher -1 0 2 PIN_FLD_DEVICE_ID STR [0] "1101"
Changes the attributes for an /order object.
See the discussion on changing order object attributes in BRM Developer's Guide.
Changes the brand association of the order.
See the discussion on changing order object brand associations in BRM Developer's Guide.
Sets the state for an /order object.
See the discussion on setting the state in order objects in BRM Developer's Guide.
Updates the attributes, state, or brand for an /order object.
See the discussion on updating order objects in BRM Developer's Guide.
The opcodes listed in Table 1-56 create and manage the offer profile. See the discussion on managing offer profiles with offer profile opcodes in BRM Setting Up Pricing and Rating.
Include the ops/offer_profile.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-56 Offer Profile FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Based on the offer profile passed in the input flist, gets the dynamic information for a service POID and the resource ID. See the discussion on readjusting quota for requests to update and authorize in BRM Setting Up Pricing and Rating. |
Limited |
|
Creates, modifies, or deletes the offer profiles (/offer_profile objects). See the discussion on the PCM_OP_OFFER_PROFILE_SET_OFFER_PROFILE opcode in BRM Setting Up Pricing and Rating. |
Limited |
For policy-driven charging, this opcode uses the offer profiles passed in the input flist to retrieve the dynamic information for a given service POID and resource ID.
When the balances (without current impact) are passed in the BALANCES array of the opcode's input flist, the opcode returns if any threshold breach notifications result from the balance impacts due to the resource usage.
When the additional quota reported by the network is passed in the QUANTITY field of the opcode's input flist, the opcode readjusts the quota for requests to update and authorize.
See the following discussions in BRM Setting Up Pricing and Rating:
Readjusting quota for requests to update and authorize
Determining if balance impacts trigger notifications
The opcodes listed in Table 1-57 create and manage Access Control Lists (ACLs), which specify the CSRs that can access customer accounts in a brand or account group. See the discussion on configuring a branded database in BRM Managing Customers.
Include the ops/perm.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-57 Permissioning FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Retrieves a list of billing subgroups. |
Limited |
|
Creates a /group/acl object. |
Limited |
|
Deletes a /group/acl object. |
Limited |
|
Modifies a /group/acl object. |
Limited |
|
Adds a group member to a /group/acl. |
Limited |
|
Deletes a group member from a /group/acl |
Limited |
|
Finds user authorized /group/acl. |
Limited |
|
Retrieves a list of brands. |
Limited |
|
Sets the connection scope to a brand. |
Limited |
Retrieves a particular /group/billing hierarchy beneath the provided access control list.
See the discussion on managing permission by using a custom application in BRM Managing Customers.
Creates a /group/acl object.
See the discussion on managing permission by using a custom application in BRM Managing Customers.
Deletes a /group/acl object.
Important:
Deleting an ACL does not delete the brand account or affect services. It simply removes the ACL. This opcode is used when an administrator removes existing service authorizations for a brand account.See the discussion on managing permission by using a custom application in BRM Managing Customers.
Modifies the attributes in a /group/acl object.
See the discussion on managing permission by using a custom application in BRM Managing Customers.
Adds group members to a /group/acl object.
See the discussion on managing permission by using a custom application in BRM Managing Customers.
Deletes a member from a /group/acl object.
See the discussion on managing permission by using a custom application in BRM Managing Customers.
Retrieves a list of Access Control Lists (ACLs) to which a CSR belongs and returns user specified information about each ACL.
See the discussion on managing permission by using a custom application in BRM Managing Customers.
Retrieves a list of ACLs, brand accounts, and billing groups that can access an application. This opcode is useful to developers of multi-brand applications who often need to know which brands have access to an application.
See the discussion on managing permission by using a custom application in BRM Managing Customers.
The opcodes listed in Table 1-58 create, delete, and modify price list components, including plans, deals, products, and rates.
Include the ops/price.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-58 Price List FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Verifies that deleting a /deal object is permitted. See the discussion on customizing how to create and delete deals in BRM Setting Up Pricing and Rating. |
Recommended |
|
Verifies that deleting a /dependency object is permitted. See the discussion on customizing how to create and delete dependencies in BRM Setting Up Pricing and Rating. |
Recommended |
|
Verifies that deleting a /discount object is permitted. See the discussion on customizing how to create and delete discounts in BRM Setting Up Pricing and Rating. |
Recommended |
|
Verifies that deleting a /product object is permitted. See the discussion on customizing how to create and delete products in BRM Setting Up Pricing and Rating. |
Recommended |
|
Verifies that deleting a /transition object is permitted. See the discussion on customizing how to create and delete transitions in BRM Setting Up Pricing and Rating. |
Recommended |
|
Passes the values for a /deal object. See the discussion on customizing how to create and delete deals in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows data modification during /dependency object creation. See the discussion on customizing how to create and delete dependencies in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows data modification during /discount object creation. See the discussion on customizing how to create and delete discounts in BRM Setting Up Pricing and Rating. |
Recommended |
|
Passes the values for a /product object. See the discussion on customizing how to create and delete products in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows data modification during /transition object creation. See the discussion on customizing how to create and delete transitions in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows validation during /deal object creation. See the discussion on customizing how to create and delete deals in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows validation during /dependency object creation. See the discussion on customizing how to create and delete dependencies in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows validation during /discount object creation. See the discussion on customizing how to create and delete discounts in BRM Setting Up Pricing and Rating. |
Recommended |
|
Passes the input fields for a new or changed /product object. See the discussion on customizing how to create and delete products in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows validation during /transition object creation. See the discussion on customizing how to create and delete transitions in BRM Setting Up Pricing and Rating. |
Recommended |
Verifies that deleting a /deal object is permitted.
Use this opcode to perform validations in addition to those performed by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_DEAL standard opcode.
See the discussion on customizing how to create and delete deals in BRM Setting Up Pricing and Rating.
Verifies that deleting a /dependency object is permitted.
Use this opcode to perform validations in addition to those performed by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_DEPENDENCY standard opcode.
See the discussion on customizing how to create and delete dependencies in BRM Setting Up Pricing and Rating.
Verifies that deleting a /discount object is permitted.
Performs validations in addition to those performed by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_DISCOUNT standard opcode.
See the discussion on customizing how to create and delete discounts in BRM Setting Up Pricing and Rating.
Verify that deleting a /product object is permitted.
Use this opcode to perform validations in addition to those performed by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_PRODUCT standard opcode.
See the discussion on customizing how to create and delete products in BRM Setting Up Pricing and Rating.
Verifies that deleting a /transition object is permitted.
Use this opcode to perform validations in addition to those performed by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_TRANSITION standard opcode.
See the discussion on customizing how to create and delete transitions in BRM Setting Up Pricing and Rating.
Use this opcode to enhance /deal objects with additional data not provided by either the GUI application or by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_DEAL standard opcode.
See the discussion on customizing how to create and delete deals in BRM Setting Up Pricing and Rating.
Use this opcode to enhance /dependency objects with additional data not provided by either the GUI application or by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_DEPENDENCY standard opcode.
See the discussion on customizing how to create and delete dependencies in BRM Setting Up Pricing and Rating.
Use this opcode to enhance /discount objects with additional data not provided by either the GUI application or by the Price List FM.
This opcode is called by the PCM_OPPRICE_COMMIT_SPONSORSHIP standard opcode.
See the discussion on customizing how to create and delete discounts in BRM Setting Up Pricing and Rating.
Use this opcode to enhance /product objects with additional data not provided by either the GUI application or by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_PRODUCT standard opcode.
See the discussion on customizing how to create and delete products in BRM Setting Up Pricing and Rating.
Use this opcode to enhance /transition objects with additional data not provided by either the GUI application or by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_TRANSITION standard opcode.
See the discussion on customizing how to create and delete transitions in BRM Setting Up Pricing and Rating.
Validates data during /deal object creation.
This policy opcode can be used to perform validations in addition to those performed by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_DEAL standard opcode.
See the discussion on customizing how to create and delete deals in BRM Setting Up Pricing and Rating.
Validates data during /dependency object creation.
This policy opcode can be used to change /dependency relationships without using Pricing Center.
This opcode is called by the PCM_OP_PRICE_SET_PRICE_LIST and PCM_OP_PRICE_COMMIT_DEPENDENCY standard opcodes.
See the discussion on customizing how to create and delete dependencies in BRM Setting Up Pricing and Rating.
Validates data during /discount object creation.
This policy opcode can be used to enhance /discount objects with additional data not provided by either Pricing Center or by other opcodes in the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_TRANSITION standard opcode.
See the discussion on customizing how to create and delete discounts in BRM Setting Up Pricing and Rating.
Validates data during /product object creation.
This policy opcode can be used to perform validations in addition to those performed by the Price List FM.
This opcode is called by the PCM_OP_PRICE_COMMIT_PRODUCT standard opcode.
See the discussion on customizing how to create and delete products in BRM Setting Up Pricing and Rating.
Validates data during /transition object creation.
This policy opcode can be used to change /transition relationships without using Pricing Center.
This policy opcode is called by the PCM_OP_PRICE_COMMIT_TRANSITION standard opcode.
See the discussion on customizing how to create and delete transitions in BRM Setting Up Pricing and Rating.
The opcodes listed in Table 1-59 create, delete, and modify price list components, such as plans, deals, products, and rates.
Include the ops/price.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-59 Price List FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates, changes, or deletes a /deal object. See the discussion on managing deal objects in BRM Setting Up Pricing and Rating. |
Limited |
|
Creates, changes, or deletes a /dependency object. See the discussion on managing dependency objects in BRM Setting Up Pricing and Rating. |
Recommended |
|
Creates, changes, or deletes a /discount object. See the discussion on managing discount objects in BRM Setting Up Pricing and Rating. |
Limited |
|
Creates, changes, or deletes a /plan object. See the discussion on managing plan objects in BRM Setting Up Pricing and Rating. |
Limited |
|
Validates and commits a /group/plan_list object into the database. See the discussion on managing group plan_list objects in BRM Setting Up Pricing and Rating. |
Limited |
|
Validates and commits /product objects. See the discussion on managing product objects in BRM Setting Up Pricing and Rating. |
Limited |
|
Creates, changes, or deletes a /sponsorship object. See the discussion on managing sponsorship objects in BRM Setting Up Pricing and Rating. |
Limited |
|
Creates, changes, or deletes a /transition object. See the discussion on managing transition objects in BRM Setting Up Pricing and Rating. |
Recommended |
|
Retrieves real-time discount data along with pipeline discount model data. See the discussion on retrieving discount data in BRM Setting Up Pricing and Rating. |
Recommended |
|
Retrieves pricing objects from the BRM database. See the discussion on retrieving price list data from the BRM database in BRM Setting Up Pricing and Rating. |
Recommended |
|
Retrieves information about the product specified in the input flist, including pipeline rate plan information and provisioning tag information. See the discussion on retrieving product details in BRM Managing Customers. |
Recommended |
|
Assembles an flist for creating a customized /product object. See the discussion on creating customized product objects in BRM Managing Customers. |
Recommended |
|
Commits pricing objects to the database. See the discussion on committing price list data to the BRM database in BRM Setting Up Pricing and Rating. |
Recommended |
Creates, changes, or deletes a /deal object.
Important:
This opcode overwrites data in existing /deal objects, so be sure you pass in the correct object to modify.See the discussion on managing deal objects in BRM Setting Up Pricing and Rating.
Creates, modifies, or deletes a /dependency object.
See the discussion on managing dependency objects in BRM Setting Up Pricing and Rating.
Creates, changes, or deletes a /discount object.
Important:
This opcode overwrites data in existing /discount objects, so be sure you pass in the correct object to modify.See the discussion on managing discount objects in BRM Setting Up Pricing and Rating.
Creates, changes, or deletes a /plan object.
Important:
This opcode overwrites data in existing /plan objects, so be sure you pass in the correct object to modify.See the discussion on managing plan objects in BRM Setting Up Pricing and Rating.
Commits the /group/plan_list object to the database.
See the discussion on managing group plan_list objects in BRM Setting Up Pricing and Rating.
Commits product pricing information to the database.
This opcode validates and commits the following objects from a product flist: /rate, /rate_plan, /rate_plan_selector, and /rollover. Products are created or modified and, if the delete flag is sent in, deleted.
This opcode also publishes an /event/notification/price/products/modify notification event.
See the discussion on managing product objects in BRM Setting Up Pricing and Rating.
Creates, changes, or deletes a /sponsorship object.
Important:
This opcode overwrites data in existing /sponsorship objects, so be sure you pass in the correct object to modify.See the discussion on managing sponsorship objects in BRM Setting Up Pricing and Rating.
Creates, changes, or deletes a /transition object.
See the discussion on managing transition objects in BRM Setting Up Pricing and Rating.
Retrieves real-time discount data along with pipeline discount model data from the BRM database. The discount model information retrieved includes the following:
Discount model version and configuration
Discount/ chargeshare trigger
Discount/ chargeshare condition
Discount/ chargeshare rules
Discount/ chargeshare master
Discount/ chargeshare detail
Discount/ chargeshare step
Balance impact
See the discussion on retrieving discount data in BRM Setting Up Pricing and Rating.
Retrieves pricing objects from the BRM database.
See the discussion on retrieving price list data from the BRM database in BRM Setting Up Pricing and Rating.
Retrieves information about the product specified in the input flist, including:
Pipeline rate plan information, if the product includes events configured for pipeline rating.
Provisioning tag details from the /config/provisioning_tag object (for nontelco services) or the /config/telco/* object (for telco services), if a product is configured with a provisioning tag.
The opcode retrieves information from the /product object specified in the input flist. It also retrieves the content of /rate_plan_selector, /rate_plan, /rate, and /rollover objects contained in the /product object.
This opcode analyzes the usage maps in the /product object. If a usage map array includes an event to be rated by a pipeline rate plan, the opcode optionally retrieves pipeline rate plan data from the database. You specify whether the opcode retrieves pipeline rate plan data by passing the FM_PRICE_SUPPRESS_PIPELINE_DATA flag in the opcode call.
See the following discussions:
Retrieving product details in BRM Managing Customers for more information about FM_PRICE_SUPPRESS_PIPELINE_DATA flag
Understanding the PCM API and the PIN library in BRM Developer's Guide for more information about passing flags in opcode calls
Working with provisioning tags in BRM Setting Up Pricing and Rating
This opcode assembles an flist for creating or modifying a customized /product object. The opcode calculates new rates for the product based on the list of resources and override percentages in the PIN_FLD_TAILORMADE_DATA field in the input flist.
The input flists for creating or modifying a customized /product object are similar except for two fields:
The PIN_FLD_POID field in the PIN_FLD_PRODUCTS array is a type-only POID when creating a customized product. When modifying a customized product, it is the POID of the existing customized /product object.
The PIN_FLD_NAME field in the PIN_FLD_PRODUCTS array is the name of the base product when creating a customized product. When modifying a customized product, it is the name of the existing customized /product object.
For new customized /product objects, the opcode assigns a name to the customized product object by prepending the current time in seconds, represented in hexadecimal, to the base product name. For example, if the base product name is StandardGSMTelephony, the generated name for the customized product might be AE9C6890_StandardGSMTelephony.
After processing, the opcode returns a complete customized /product flist. You pass this flist to PCM_OP_PRICE_SET_PRICE_LIST.
The opcode is called by Customer Center or another CRM applications during the creation or modification of a customized product.
Example 1-252 Sample Input Flists
The following input produces an flist for a /product object with a customized real-time rate plan.
0 PIN_FLD_POID POID [0] 0.0.0.1 /product 58676 0 0 PIN_FLD_PRODUCTS ARRAY [0] allocated 25, used 25 1 PIN_FLD_POID POID [0] 0.0.0.1 /product -1 1 1 PIN_FLD_CREATED_T TSTAMP [0] (1157359113) Mon Sep 4 14:08:33 2006 1 PIN_FLD_MOD_T TSTAMP [0] (1157359113) Mon Sep 4 14:08:33 2006 1 PIN_FLD_READ_ACCESS STR [0] "B" 1 PIN_FLD_WRITE_ACCESS STR [0] "S" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_BASE_PRODUCT_OBJ POID [0] 0.0.0.1 /product 58676 1 1 PIN_FLD_DESCR STR [0] "Testing" 1 PIN_FLD_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_NAME STR [0] "TMP_Prod_111" 1 PIN_FLD_OWN_MAX DECIMAL [0] NULL 1 PIN_FLD_OWN_MIN DECIMAL [0] NULL 1 PIN_FLD_PARTIAL ENUM [0] 0 1 PIN_FLD_PERMITTED STR [0] "/service/ip" 1 PIN_FLD_PRIORITY DECIMAL [0] 0 1 PIN_FLD_PROVISIONING_TAG STR [0] "" 1 PIN_FLD_PURCHASE_MAX DECIMAL [0] NULL 1 PIN_FLD_PURCHASE_MIN DECIMAL [0] NULL 1 PIN_FLD_START_T TSTAMP [0] (0) <null> 1 PIN_FLD_TAILORMADE INT [0] 0 1 PIN_FLD_TAX_SUPPLIER INT [0] 0 1 PIN_FLD_TYPE ENUM [0] 602 1 PIN_FLD_ZONEMAP_NAME STR [0] "" 1 PIN_FLD_USAGE_MAP ARRAY [0] allocated 20, used 12 2 PIN_FLD_EVENT_TYPE STR [0] "/event/session" 2 PIN_FLD_FLAGS INT [0] 0 2 PIN_FLD_INCR_QUANTITY DECIMAL [0] 1 2 PIN_FLD_INCR_UNIT ENUM [0] 0 2 PIN_FLD_MIN_QUANTITY DECIMAL [0] 1 2 PIN_FLD_MIN_UNIT ENUM [0] 0 2 PIN_FLD_RATE_PLAN_NAME STR [0] "Session Event" 2 PIN_FLD_RATE_PLAN_SELECTOR_OBJ POID [0] 0.0.0.0 0 0 2 PIN_FLD_ROUNDING_MODE ENUM [0] 0 2 PIN_FLD_RUM_NAME STR [0] "Duration" 2 PIN_FLD_TIMEZONE_MODE ENUM [0] 0 2 PIN_FLD_TOD_MODE ENUM [0] 0 1 PIN_FLD_RATE_PLANS ARRAY [0] allocated 20, used 17 2 PIN_FLD_POID POID [0] 0.0.0.1 /rate_plan 58164 0 2 PIN_FLD_CREATED_T TSTAMP [0] (1157359113) Mon Sep 4 14:08:33 2006 2 PIN_FLD_MOD_T TSTAMP [0] (1157359113) Mon Sep 4 14:08:33 2006 2 PIN_FLD_READ_ACCESS STR [0] "B" 2 PIN_FLD_WRITE_ACCESS STR [0] "S" 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 2 PIN_FLD_BILL_OFFSET INT [0] 0 2 PIN_FLD_CURRENCY INT [0] 840 2 PIN_FLD_CYCLE_FEE_FLAGS INT [0] 0 2 PIN_FLD_EVENT_TYPE STR [0] "/event/session" 2 PIN_FLD_NAME STR [0] "Session Event" 2 PIN_FLD_OFFSET_UNIT ENUM [0] 0 2 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 58676 0 2 PIN_FLD_TAX_CODE STR [0] "" 2 PIN_FLD_TAX_WHEN ENUM [0] 0 2 PIN_FLD_RATE_TIERS ARRAY [0] allocated 20, used 5 3 PIN_FLD_DATE_RANGE_TYPE ENUM [0] 0 3 PIN_FLD_NAME STR [0] "Tier 1" 3 PIN_FLD_PRIORITY DECIMAL [0] 0 3 PIN_FLD_RATE_OBJ POID [0] 0.0.0.1 /rate 11111 0 3 PIN_FLD_RATE_INDEX INT [0] 0 2 PIN_FLD_RATES ARRAY [0] allocated 20, used 15 3 PIN_FLD_POID POID [0] 0.0.0.1 /rate 11111 1 3 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 3 PIN_FLD_DESCR STR [0] "Rate 1" 3 PIN_FLD_PRORATE_FIRST ENUM [0] 702 3 PIN_FLD_PRORATE_LAST ENUM [0] 701 3 PIN_FLD_RATE_PLAN_OBJ POID [0] 0.0.0.1 /rate_plan 58164 0 3 PIN_FLD_STEP_RESOURCE_ID INT [0] 0 3 PIN_FLD_STEP_TYPE ENUM [0] 0 3 PIN_FLD_TAILORMADE_DATA STR [0] "USD,-20"
The following input produces an flist for a /product object with a customized pipeline rate plan.
0 PIN_FLD_POID POID [0] 0.0.0.1 /product 59229 0 0 PIN_FLD_PRODUCTS ARRAY [0] allocated 20, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /product -1 1 1 PIN_FLD_NAME STR [0] "TMP_pipe_111" 1 PIN_FLD_BASE_PRODUCT_OBJ POID [0] 0.0.0.1 /product $(product_poid) 0 1 PIN_FLD_PIPELINE_RATEPLANS ARRAY [1] allocated 20, used 14 2 PIN_FLD_RATE_PLAN_NAME STR [0] "Standard" 2 PIN_FLD_SEQUENCE_NUM INT [0] 20001 2 PIN_FLD_RATE_PLAN_CODE STR [0] "Standard" 2 PIN_FLD_STATUS_STR STR [0] "A" 2 PIN_FLD_MODEL_TYPE STR [0] "R" 2 PIN_FLD_SPLITTING STR [0] "1" 2 PIN_FLD_CALENDAR INT [0] 20000 2 PIN_FLD_UTC_TIMEOFFSET STR [0] "+0100" 2 PIN_FLD_CURRENCY_NAME STR [0] "EUR" 2 PIN_FLD_TAX_TREATMENT INT [0] 0 2 PIN_FLD_TAILORMADE INT [0] 0 2 PIN_FLD_CALENDAR_CODE STR [0] "ALL_RATE" 2 PIN_FLD_CALENDAR_NAME STR [0] "Wireless Sample Calendar" 2 PIN_FLD_RATEPLAN_VER ARRAY [1] allocated 20, used 11 3 PIN_FLD_VERSION_ID INT [0] 1 3 PIN_FLD_VALID_FROM TSTAMP [0] (915148800) Fri Jan 1 05:30:00 1999 3 PIN_FLD_STATUS_STR STR [0] "A" 3 PIN_FLD_ZONEMODEL INT [0] 20000 3 PIN_FLD_BASIC INT [0] 1 3 PIN_FLD_ZONEMODEL_CODE STR [0] "ALL_RATE" 3 PIN_FLD_ZONEMODEL_NAME STR [0] "Wireless Sample ZoneModel to be used for all services (TEL, SMS, GPRS, WAP)" 3 PIN_FLD_RATEPLAN_CNF ARRAY [3] allocated 20, used 16 4 PIN_FLD_VERSION_ID INT [0] 1 4 PIN_FLD_SVC_CODE STR [0] "TEL" 4 PIN_FLD_SVC_CLASS STR [0] "DEF" 4 PIN_FLD_IMPACT_CATEGORY STR [0] "EUROPE" 4 PIN_FLD_TIMEMODEL_INT INT [0] 20003 4 PIN_FLD_TIMEZONE INT [0] 20003 4 PIN_FLD_ADDON_TYPE STR [0] "P" 4 PIN_FLD_ADDON_CHARGE DECIMAL [0] 0 4 PIN_FLD_PASSTHROUGH INT [0] 0 4 PIN_FLD_PRICE_MODEL_INDEX INT [0] 16 4 PIN_FLD_SVC_CODE_NAME STR [0] "Telephony" 4 PIN_FLD_IMP_CAT_NAME STR [0] "Usage within Europe (outside 0049)" 4 PIN_FLD_TIMEMODEL_CODE STR [0] "EUROPEAN" 4 PIN_FLD_TIMEMODEL_NAME STR [0] "European TimeModel" 4 PIN_FLD_TIMEZONE_CODE STR [0] "WEEKOFF2" 4 PIN_FLD_TIMEZONE_NAME STR [0] "Weekdays OffPeak 2" 3 PIN_FLD_RATEPLAN_CNF ARRAY [45] allocated 20, used 16 4 PIN_FLD_VERSION_ID INT [0] 1 4 PIN_FLD_SVC_CODE STR [0] "TEL" 4 PIN_FLD_SVC_CLASS STR [0] "DEF" 4 PIN_FLD_IMPACT_CATEGORY STR [0] "NAT_PREM" 4 PIN_FLD_TIMEMODEL_INT INT [0] 20001 4 PIN_FLD_TIMEZONE INT [0] 20003 4 PIN_FLD_ADDON_TYPE STR [0] "P" 4 PIN_FLD_ADDON_CHARGE DECIMAL [0] 0 4 PIN_FLD_PASSTHROUGH INT [0] 0 4 PIN_FLD_PRICE_MODEL_INDEX INT [0] 14 4 PIN_FLD_SVC_CODE_NAME STR [0] "Telephony" 4 PIN_FLD_IMP_CAT_NAME STR [0] "National Premium Calls" 4 PIN_FLD_TIMEMODEL_CODE STR [0] "NATIONAL" 4 PIN_FLD_TIMEMODEL_NAME STR [0] "National TimeModel" 4 PIN_FLD_TIMEZONE_CODE STR [0] "WEEKOFF2" 4 PIN_FLD_TIMEZONE_NAME STR [0] "Weekdays OffPeak 2" 3 PIN_FLD_PRICE_MODELS ARRAY [14] allocated 20, used 4 4 PIN_FLD_PRICE_MODEL_CODE STR [0] "T1.99_60" 4 PIN_FLD_SEQUENCE_NUM INT [0] 20030 4 PIN_FLD_PRICE_MODEL_NAME STR [0] "TEL 1.99 EUR, beat: 60" 4 PIN_FLD_TAILORMADE_DATA STR [0] "EURO,-10" 3 PIN_FLD_PRICE_MODELS ARRAY [16] allocated 20, used 4 4 PIN_FLD_PRICE_MODEL_CODE STR [0] "T0.10_60" 4 PIN_FLD_SEQUENCE_NUM INT [0] 20036 4 PIN_FLD_PRICE_MODEL_NAME STR [0] "TEL 0.10 EUR, beat: 60" 4 PIN_FLD_TAILORMADE_DATA STR [0] "EURO,-20"
Creates, modifies, or deletes the following price list data in the BRM database in a single transaction: /best_pricing, /discount, /group/plan_list, /plan, /deal, /product, /dependency, /transition, and /sponsorship.
See the discussion on committing price list data to the BRM database in BRM Setting Up Pricing and Rating.
The opcodes in Table 1-60 are called by billing utilities and Pipeline Manager to create audit objects with revenue assurance data.
For more information about collecting revenue assurance data, see the discussion on understanding Revenue Assurance Manager in BRM Configuring and Running Billing.
Includes the BRM_Home/include/ops/process_audit.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-60 Process Audit FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Gets fields from /config objects, checks for duplicate fields, and validates the data. See the discussion on customizing audit object validation in BRM Configuring and Running Billing. |
Recommended |
|
Checks for duplicate objects of /process_audit/batchstat storable class. See the discussion on customizing /process_audit/batchstat object validation in BRM Configuring and Running Billing. |
Recommended |
|
Sends email messages when configuration thresholds are crossed. See the discussion on customizing alert behavior in BRM Configuring and Running Billing. |
Recommended |
|
Maps the fields of /suspended_usage/telco to the corresponding fields of /process_audit/batchstat storable class. See the discussion on customizing the revenue assurance written-off event data record (EDR) summaries in BRM Configuring and Running Billing. |
Recommended |
Checks for duplication of audit objects and validates audit data.
You can customize this opcode by modifying the fields in the flist, modifying duplicate checks, and adding validation checks.
This opcode is called by the PCM_OP_PROCESS_AUDIT_CREATE standard opcode.
See the discussion on customizing audit object validation in BRM Configuring and Running Billing.
Checks for duplication of audit objects and entries.
You can customize this opcode by modifying the fields in the flist, modifying duplicate checks, and adding validation checks.
This opcode is called by the PCM_OP_PROCESS_AUDIT_CREATE_AND_LINK standard opcode.
See the discussion on customizing process_audit batchstat object validation in BRM Configuring and Running Billing.
Sends email messages when configured threshold values are crossed.
You can customize this opcode to notify an external system and change the message body or subject of the email.
This opcode is not called by any opcode.
See the discussion on customizing alert behavior in BRM Configuring and Running Billing.
Called by PCM_OP_PROCESS_AUDIT_CREATE_WRITEOFF_SUMMARY opcode to map the fields of /suspended_usage/telco storable class to the corresponding fields of /process_audit/batchstat/status storable class.
You can customize this opcode to read and aggregate any fields of the /suspended_usage/xxx storable class where xxx are subclasses of /suspended_usage and map them to corresponding fields in /process_audit/batchstat/status storable class.
This opcode is called by the PCM_OP_PROCESS_AUDIT_CREATE_WRITEOFF_SUMMARY standard opcode.
See the discussion on customizing the revenue assurance written-off EDR summaries in BRM Configuring and Running Billing.
The opcodes listed in Table 1-61 are called by billing utilities and Pipeline Manager to create audit objects with revenue assurance data.
For more information about collecting revenue assurance data, see the discussion on understanding Revenue Assurance Manager in BRM Configuring and Running Billing.
Includes the BRM_Home/include/ops/process_audit.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-61 Process Audit FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates /process_audit/pipeline and /process_audit billing audit objects. See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing. |
Recommended |
|
Creates /process_audit/batchstat objects. See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing. |
Recommended |
|
Links /process_audit/batchstat objects. See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing. |
Recommended |
|
Creates /process_audit/batchstat/status objects with revenue assurance data for written-off EDRs. Checks the PIN_FLD_FLG in the input flist during bulk suspense operations:
See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing. |
Recommended |
|
Retrieves summary and detail data for control points. |
Recommended |
Creates audit objects for revenue assurance.
Called by the BRM billing applications and the Universal Event Loader.
See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing.
Creates /process_audit/batchstat objects.
See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing.
Links the /process_audit/batchstat objects according to the specified configuration.
See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing.
Creates a summary of the written-off EDRs.
See the discussion on the Revenue Assurance Manager opcodes in BRM Configuring and Running Billing.
Retrieves summary and detail data for control points for /process_audit/batchstat/batchstat objects and its subclasses.
This opcode returns an error message if the control point name or batch type is invalid.
See the discussion on the Revenue Assurance Manager opcodes in the BRM documentation in BRM Configuring and Running Billing.
Use the opcode in Table 1-62 to customize provisioning.
Include the ops/prov.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Validates and modifies parameters for updating service orders.
The input flist to this opcode includes the complete response from the provisioning applications. Based on the type of the service order, you can modify or validate the response flist.
This opcode is called by the PCM_OP_PROV_UPDATE_SVC_ORDER standard opcode when a response is received from a provisioning system.
See the discussion on managing GSM service provisioning in BRM Managing Customers.
Example 1-253 Sample Input Flist
This sample shows an input flist for a GSM service:
0 PIN_FLD_POID POID 0x100 [0] 0.0.0.1 /event/provisioning/service_order/telco/gsm 175921 0 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 10 1 PIN_FLD_PARAMS ARRAY [0] allocated 20, used 5 2 PIN_FLD_ACTION STR 0x100 [0] "A" 2 PIN_FLD_NAME STR 0x100 [0] "VM" 2 PIN_FLD_STATUS ENUM [0] 0 2 PIN_FLD_VALUE STR 0x100 [0] "" 1 PIN_FLD_PARAMS ARRAY [1] allocated 20, used 5 2 PIN_FLD_ACTION STR 0x100 [0] "A" 2 PIN_FLD_NAME STR 0x100 [0] "CLID" 2 PIN_FLD_STATUS ENUM [0] 0 2 PIN_FLD_VALUE STR 0x100 [0] "" 1 PIN_FLD_PARAMS ARRAY [7] allocated 20, used 5 2 PIN_FLD_ACTION STR 0x100 [0] "A" 2 PIN_FLD_NAME STR 0x100 [0] "SIM" 2 PIN_FLD_STATUS ENUM [0] 0 2 PIN_FLD_VALUE STR 0x100 [0] "240192" 1 PIN_FLD_PARAMS ARRAY [8] allocated 20, used 5 2 PIN_FLD_ACTION STR 0x100 [0] "A" 2 PIN_FLD_NAME STR 0x100 [0] "IMSI" 2 PIN_FLD_STATUS ENUM [0] 0 2 PIN_FLD_VALUE STR 0x100 [0] "" 1 PIN_FLD_PARAMS ARRAY [9] allocated 20, used 5 2 PIN_FLD_ACTION STR 0x100 [0] "A" 2 PIN_FLD_NAME STR 0x100 [0] "MSISDN" 2 PIN_FLD_STATUS ENUM [0] 0 2 PIN_FLD_VALUE STR 0x100 [0] "0014085722000".
Example 1-254 Sample Output Flist
This sample shows an output flist for a GSM service:
0 PIN_FLD_POID POID 0x100 [0] 0.0.0.1 /event/provisioning/service_order/telco/gsm 175921 0 0 PIN_FLD_SERVICE_ORDER_INFO ARRAY [0] allocated 10, used 10 1 PIN_FLD_POID POID 0x100 [0] 0.0.0.1 /service/telco/gsm/telephony 12524 4 1 PIN_FLD_ACTION STR 0x100 [0] "A" 1 PIN_FLD_NAME STR 0x100 [0] "" 1 PIN_FLD_PARAMS ARRAY [0] allocated 2, used 2 2 PIN_FLD_NAME STR 0x100 [0] "VM" 2 PIN_FLD_ACTION STR 0x100 [0] "A" 1 PIN_FLD_PARAMS ARRAY [1] allocated 2, used 2 2 PIN_FLD_NAME STR 0x100 [0] "CLID" 2 PIN_FLD_ACTION STR 0x100 [0] "A" 0 PIN_FLD_SERVICE_ORDER_INFO ARRAY [1] allocated 5, used 5 1 PIN_FLD_POID POID 0x100 [0] 0.0.0.1 /device/sim 8763 1 1 PIN_FLD_ACTION STR 0x100 [0] "A" 1 PIN_FLD_NAME STR 0x100 [0] "" 1 PIN_FLD_PARAMS ARRAY [0] allocated 2, used 2 2 PIN_FLD_NAME STR 0x100 [0] "SIM" 2 PIN_FLD_ACTION STR 0x100 [0] "A" 1 PIN_FLD_PARAMS ARRAY [1] allocated 2, used 2 2 PIN_FLD_NAME STR 0x100 [0] "IMSI" 2 PIN_FLD_ACTION STR 0x100 [0] "A" 0 PIN_FLD_SERVICE_ORDER_INFO ARRAY [2] allocated 4, used 4 1 PIN_FLD_POID POID 0x100 [0] 0.0.0.1 /device/num 8529 1 1 PIN_FLD_ACTION STR 0x100 [0] "A" 1 PIN_FLD_NAME STR 0x100 [0] "" 1 PIN_FLD_PARAMS ARRAY [0] allocated 2, used 2 2 PIN_FLD_NAME STR 0x100 [0] "MSISDN" 2 PIN_FLD_ACTION STR 0x100 [0] "A"
Example 1-255 Sample Input Flist
This sample shows an input flist for a GSM device service order with format transformed for BRM:
0 PIN_FLD_POID POID [0] 0.0.0.1 /event/provisioning/service_order/telco/gsm 17592186111335 0 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 5 1 PIN_FLD_PARAMS ARRAY [0] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "SIM" 2 PIN_FLD_ACTION STR [0] "I" 2 PIN_FLD_STATUS ENUM [0] 0 1 PIN_FLD_PARAMS ARRAY [1] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "MSISDN" 2 PIN_FLD_ACTION STR [0] "I" 2 PIN_FLD_STATUS ENUM [0] 0 1 PIN_FLD_PARAMS ARRAY [2] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "IMSI" 2 PIN_FLD_ACTION STR [0] "I" 2 PIN_FLD_STATUS ENUM [0] 0 1 PIN_FLD_PARAMS ARRAY [3] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "KI" 2 PIN_FLD_ACTION STR [0] "I" 2 PIN_FLD_STATUS ENUM [0] 0 1 PIN_FLD_PARAMS ARRAY [4] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "NET" 2 PIN_FLD_ACTION STR [0] "I" 2 PIN_FLD_STATUS ENUM [0] 0
Example 1-256 Sample output list
This shows a sample output flist for a GSM device service order:
0 PIN_FLD_POID POID [0] 0.0.0.1 /event/provisioning/service_order/telco/gsm 17592186111335 0 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_SERVICE_ORDER_INFO ARRAY [0] allocated 20, used 3 2 PIN_FLD_POID POID [0] 0.0.0.1 /device/sim 67175 0 2 PIN_FLD_ACTION STR [0] "P" 2 PIN_FLD_NAME STR [0]
The opcodes in Table 1-63 manage service order provisioning.
Include the ops/prov.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-63 Provisioning FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Publishes a service order. See the discussion on managing GSM service provisioning in BRM Managing Customers. |
Recommended |
|
Updates a service order. See the discussion on managing GSM service provisioning in BRM Managing Customers. |
Recommended |
Sends a /event/provisioning/service_order/* event to the Provisioning Data Manager.
See the discussion on managing GSM service provisioning in BRM Managing Customers.
Updates the status of an /event/provisioning/service_order/* event.
An /event/provisioning/service_order/* event stores the service order and information such as the status, service order type, and actions required.
When a response is received from a provisioning platform, this opcode uses information in the input flist to update the status of an /event/provisioning/service_order/* event.
See the discussion on managing GSM service provisioning in BRM Managing Customers.
The opcodes listed in Table 1-64 manipulate A/R functions and collect payments from customers.
Include the ops/pymt.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-64 Payment FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Provides the ability to preprocess, filter, and extend the information available in failed payment fee events. See the following discussions in BRM Configuring and Collecting Payments:
|
Recommended |
|
Maps payment status responses from the payment gateway to the BRM database. See the discussion on customizing payment failure reason code in BRM Configuring and Collecting Payments. |
Limited |
|
For a specific account, evaluates online collection results and specifies further action as needed. See the discussion on customizing how the results of credit-card transactions are processed in BRM Configuring and Collecting Payments. |
Recommended |
|
Enriches the input flist by specifying attributes used by real-time rating to determine whether a payment incentive can be granted. Also provides additional fields that are recorded when creating the /event/billing/incentive object. See the discussion on customizing how to grant payment incentives in BRM Configuring and Collecting Payments. |
Recommended |
|
Contains the default payment distribution logic to distribute the submitted account-level payment to multiple bill units. See the discussion on allocating account-level payments to multiple bill units in BRM Configuring and Collecting Payments. |
Recommended |
|
Determines action if money received is more than the sum of the total due of all the open items selected. See the discussion on handling overpayments and underpayments in BRM Configuring and Collecting Payments. |
Recommended |
|
Performs policy checks before the charge or payment occurs. See the following discussions in BRM Configuring and Running Billing:
|
Recommended |
|
Determines the payment date that should be considered when provisioning incentives. See the discussion on customizing how to trigger payment incentives in BRM Configuring and Collecting Payments. |
Recommended |
|
Applies discounts to topped up account balances. See the discussion on offering discount incentives with top-ups in BRM Configuring and Collecting Payments. |
Recommended |
|
For an account, specifies how much should be collected during registration. See the discussion on customizing whether to charge at registration in BRM Managing Customers. |
Recommended |
|
Specifies whether the payment method should be validated during registration. See the discussion on customizing the account used for credit card validation in BRM Managing Customers. |
Recommended |
|
Provides information that directs a payment marked for suspense to the payment suspense account. See the discussion on customizing payment guidance to suspense in BRM Configuring and Collecting Payments. |
Recommended |
|
Determines action if money received is less than the sum of the total due of all the open items selected. See the discussion on handling overpayments and underpayments in BRM Configuring and Collecting Payments. |
Recommended |
|
Interacts with voucher management systems such as Voucher Manager to validate vouchers. See the discussion on customizing voucher validation in BRM Telco Integration. |
Recommended |
|
Determines the success or failure of online validation results. See the discussion on changing how BRM handles Paymentech address validation return codes in BRM Configuring and Collecting Payments. |
Recommended |
|
Validates payments to determine whether they can be successfully posted. Also determines whether a failed, unconfirmed payment needs reversal and whether write-off reversals should be performed. See the following discussions in BRM Configuring and Collecting Payments:
|
Recommended |
Allows customization of payment fees by preprocessing, filtering, and extending the information available in failed payment fee events.
This opcode also enhances the /event/billing/fee/failed_payment object by providing additional fields that will be recorded in the object.
This opcode is called by the PCM_OP_PYMT_APPLY_FEE standard opcode.
See the following discussions in BRM Configuring and Collecting Payments:
Storing additional information with payment fees
How payment fees are applied
Customizing payment fees
Provides the ability to map the online and offline payment result to the payment status and the reason IDs defined in the /strings object.
In the output flist PIN_FLD_REASONS array, the array of PIN_FLD_REASON_ID fields contains the failure reasons sent by the payment processor. You can configure this opcode to apply fees for failed credit card and direct debit transactions based on the reason for failure.
This opcode is called by the PCM_OP_PYMT_CHARGE standard opcode.
See the discussion on customizing payment failure reason codes in BRM Configuring and Collecting Payments.
Processes the result of a credit card transaction for a specified account.
This opcode does the following:
Sets the PIN_FLD_RESULT and PIN_FLD_DESCR values returned in the output flist.
Specifies the payment events (for example, payment fees, payment reversals, and write-off reversals) to be performed on the account in the PIN_FLD_EVENTS array.
Based on the results of the credit card transaction, specifies the actions to be performed on the account by returning a PIN_FLD_ACTIVITIES array.
This opcode is called by the PCM_OP_PYMT_COLLECT standard opcode after the credit card has been charged.
See the discussion on customizing how the results of credit-card transactions are processed in BRM Configuring and Collecting Payments.
Enriches the input flist for PCM_OP_PYMT_GRANT_INCENTIVE by specifying additional event attributes used by real-time rating to determine whether a payment incentive will be granted.
This opcode is called by the PCM_OP_PYMT_GRANT_INCENTIVE standard opcode.
See the discussion on customizing how to grant payment incentives in BRM Configuring and Collecting Payments.
Contains the default payment distribution logic to distribute the submitted account-level payment to multiple bill units.
This opcode is called by the PCM_OP_PYMT_MBI_DISTRIBUTE standard opcode.
This opcode searches for all the open /bill objects for the given /account object, sorted by the bill due date.
Default payment distribution follows these rules:
Bills having older due dates receive the payment amount first.
If all bills have the same due date, the bills with the higher due amounts are considered first for payment distribution.
In case of overpayment, the excess payment amount remains unallocated to the default bill unit of the account.
In case of underpayment, bills with later due dates or low due amounts do not get any payment amount.
For hierarchical accounts, the bills for the parent are considered first.
Note:
By default, this opcode provides bill-level distribution. So, BRM considers only the open bill items for payment distribution. However, you can update this opcode to return bill-unit-level payment distribution. If bill-unit-level distribution is passed to PCM_OP_PYMT_SELECT_ITEMS, payment considers all the open items, even if an open item is a bill item or an A/R item.See the discussion on allocating account-level payments to multiple bill units in BRM Configuring and Collecting Payments.
Allocates overpayment of funds. By default, this opcode returns the amount overpaid on the output flist. Excess monies remains in the payment item until they are manually redistributed with Payment Tool.
This opcode is called by the PCM_OP_PYMT_SELECT_ITEMS standard opcode.
See the discussion on handling overpayments and underpayments in BRM Configuring and Collecting Payments.
Checks a batch of charges and refunds for any amounts below minimums before charging and refunding customers.
This opcode is called by the PCM_OP_PYMT_COLLECT standard opcode.
You can change the minimum credit card charge amount by modifying the default minimum payment amount in this opcode.
You can also customize this opcode to retrieve soft descriptor information that enables you to display the name under which you do business (your DBA name), product name, and customer service number on your customer's checking account or credit card statement.
See the following discussions in BRM Configuring and Running Billing:
Setting the minimum amount to charge
Customizing the policy source file for soft descriptors
Determines the payment date that should be considered when provisioning incentives. By default, this opcode reads the PIN_FLD_END_T field to obtain the timestamp.
You can customize this opcode to provide the timestamp from a field other than PIN_FLD_END_T (for example, PIN_FLD_EFFECTIVE_T) or to apply business logic that determines the payment date. For example, you can customize this opcode to use the payment receipt date as the payment timestamp for all credit card payments and three days after the payment receipt date for all check payments.
This opcode is called by the PCM_OP_PYMT_PROVISION_INCENTIVE standard opcode.
See the discussion on customizing how to trigger payment incentives in BRM Configuring and Collecting Payments.
Applies custom discounts and incentives to account balances when an account is topped up.
This opcode is called by the PCM_OP_PYMT_TOPUP standard opcode.
See the discussion on offering discount incentives with top-ups in BRM Configuring and Collecting Payments.
Specifies how much should be collected from an account after a specified action has been performed. This opcode allows you to determine whether to charge the customer immediately for all or part of the current account balances during registration.
This opcode is called by the PCM_OP_CUST_COMMIT_CUSTOMER standard opcode.
See the discussion on customizing whether to charge at registration in BRM Managing Customers.
Changes the account used for credit card validation.
When validating a credit card at registration, BRM needs an account to validate the card with. By default, this is the root account. You cannot store this information with each account because the credit card validation is done before the account is created.
This opcode is called by the PCM_OP_CUST_PREP_CUSTOMER standard opcode.
See the discussion on customizing the account used for credit card validation in BRM Managing Customers.
Provides information that guides a payment marked for suspense to the payment suspense account.
Use this opcode to customize the process for guiding payments to suspense.
This opcode is called by the PCM_OP_PYMT_COLLECT standard opcode whenever it receives a payment that has the PIN_FLD_STATUS field set to PIN_PYMT_SUSPENSE. It checks the /config/psm object to determine the POID of the payment suspense account, and it returns all payment information in the output flist to PCM_OP_PYMT_COLLECT so BRM can post the payment to the payment suspense account as an unallocated payment.
See the discussion on customizing payment guidance to suspense in BRM Configuring and Collecting Payments.
Allocates underpayment of funds.
By default, this opcode pays the billed items in the order they are listed on the input flist (item[0] first, then item[1], item [2], etc.). It then returns the items paid on the output flist. Items that are partially paid are returned with a new amount due. Items not paid are not returned.
This opcode is called by the PCM_OP_PYMT_SELECT_ITEMS standard opcode.
See the discussion on handling overpayments and underpayments in BRM Configuring and Collecting Payments.
Interacts with voucher management systems such as Voucher Manager to validate vouchers.
This opcode is called by the PCM_OP_PYMT_TOPUP standard opcode during voucher top-up operations.
To interact with a voucher management system, this opcode calls the PCM_OP_VOUCHER_ASSOCIATE_VOUCHER standard opcode. See the discussion on performing top-ups with PCM_OP_PYMT_TOPUP in BRM Configuring and Collecting Payments.
To enable this opcode to work with a custom voucher management system, see the discussion on customizing voucher validation in BRM Telco Integration.
Returns the result of validating a credit card transaction, including a description of that result.
This opcode is called by the PCM_OP_PYMT_VALIDATE standard opcode.
See the discussion on changing how BRM handles Paymentech address validation return codes in BRM Configuring and Collecting Payments.
Validates payments to determine whether they can be successfully posted or whether a failed, unconfirmed payment needs reversal.
This opcode also identifies if the account-level payment is made to accounts with multiple bill units. During validation, this opcode tries to find any missing data needed to process payments. If automatic write-off reversals are enabled, this opcode also determines whether BRM should perform a write-off reversal.
This opcode is called by the PCM_OP_PYMT_VALIDATE_PAYMENT standard opcode.
See the following discussions:
Customizing payment suspense validation in BRM Configuring and Collecting Payments
Allocating externally initiated payments by due amount in BRM Configuring and Collecting Payments
Allocating account-level payments to multiple bill units in BRM Configuring and Collecting Payments
The opcodes in Table 1-65 collect payments and validate payment methods.
Include the ops/pymt.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-65 Payment FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Records failed payments and applies payment fees. See the discussion on how payment fees are applied in BRM Configuring and Collecting Payments. |
Recommended |
|
Performs a BRM-initiated payment transaction. See the discussion on how BRM-initiated payment transactions are performed in BRM Configuring and Collecting Payments. |
Limited |
|
Performs an online credit card transaction. See the discussion on how BRM performs credit-card charges in BRM Configuring and Collecting Payments. |
Last Resort |
|
Performs a Paymentech direct debit transaction. See the discussion on how BRM performs a batch of direct-debit charges in BRM Configuring and Collecting Payments. |
Recommended |
|
Performs a direct debit card transaction. See the discussion on how BRM performs direct-debit charges in BRM Configuring and Collecting Payments. |
Recommended |
|
Performs payment collections and refunds. See the following discussions:
|
Recommended |
|
Finds the /event/billing/adjustment/account events associated with sponsored top-ups. See the discussion on viewing sponsored top-up history in BRM Configuring and Collecting Payments. |
Limited |
|
Retrieves the database ID of the DM interfacing with the automated clearing house using available information such as vendor name or element ID in the /config/ach object. |
Recommended |
|
Applies a payment incentive to a bill during the billing run. See the discussion on how payment incentives work in BRM Configuring and Collecting Payments. |
Limited |
|
Searches the /item object with a variable number of input parameters. See the discussion on finding items in BRM Managing Accounts Receivable. |
Limited |
|
Distributes the account-level payment to multiple bill units. See the discussion on allocating account-level payments to multiple bill units in BRM Configuring and Collecting Payments. |
Limited |
|
Retrieves the bills or item across multiple bill units of the account. See the discussion on allocating an account-level payment to multiple bill units in BRM Configuring and Collecting Payments. |
Limited |
|
Evaluates a payment to determine whether a payment incentive should be provisioned and, if so, sets the payment incentive trigger. See the discussion on how payment incentives are triggered in BRM Configuring and Collecting Payments. |
Limited |
|
Checks results of charges sent in a batch. See the discussion on how BRM checks the results of BRM-initiated batch payment operations in BRM Configuring and Collecting Payments. |
Recommended |
|
Checks results of credit card charges sent in a batch. See the discussion on how BRM checks the results of BRM-initiated batch payment operations in BRM Configuring and Collecting Payments. |
Limited |
|
Checks the results of direct debit charges sent in a batch. See the discussion on how BRM checks the results of BRM-initiated batch payment operations in BRM Configuring and Collecting Payments. |
Limited |
|
Removes a payment from the payment suspense account and posts it to the correct account. See the discussion on how payments are recycled to and from suspense in BRM Configuring and Collecting Payments. |
Limited |
|
During payment suspense processing, returns a list of distributed payments and retrieves recycled payment information for PCM_OP_PYMT_RECYCLE_PAYMENT for processing. See the discussion on how recycled payments are retrieved in BRM Configuring and Collecting Payments. |
Limited |
|
Reverses a payment incentive, provided the incentive has not yet been applied. See the discussion on how payment incentives are reversed in BRM Configuring and Collecting Payments. |
Limited |
|
Identifies a list of items based on the input fields and the accounting type of the account. See the discussion on selecting the items to which payments are applied in BRM Configuring and Collecting Payments. |
Limited |
|
Performs standard top-ups and sponsored top-ups. See the discussion on how BRM performs top-ups in BRM Configuring and Collecting Payments. |
Recommended |
|
Performs generic payment validations. See the discussion on how BRM validates credit card and direct debit transactions in BRM Configuring and Collecting Payments. |
Recommended |
|
Performs a batch of credit card validations and applies the validation policy to the results. See the discussion on how BRM validates credit card and direct debit transactions in BRM Configuring and Collecting Payments. |
Limited |
|
Performs a batch of credit card validations and applies the validation policy to the results. See the discussion on how BRM validates credit card and direct debit transactions in BRM Configuring and Collecting Payments. |
Limited |
|
Validates payments and prepares payments for posting by enriching the payment information. See the discussion on how payments are suspended during payment processing in BRM Configuring and Collecting Payments. |
Recommended |
Creates payment fees for payments that fail; for example, due to insufficient account funds or an expired credit card.
This opcode calls PCM_OP_ACT_USAGE to create the payment fee event to be rated.
This opcode is called by PCM_OP_PYMT_COLLECT.
See the discussion on how payment fees are applied in BRM Configuring and Collecting Payments.
Performs a BRM-initiated payment transaction.
This opcode is called by PCM_OP_PYMT_COLLECT, and is the recommended entry point opcode for all BRM-initiated payment activities.
The input flist contains an array of specific operations to perform, so any number of operations can be batched together into a single call. The command is specified in each operation, so a single batch can contain a mixture of different commands.
This opcode calls the opcode responsible for processing the relevant payment method; for example, PCM_OP_PYMT_CHARGE_CC and PCM_OP_PYMT_CHARGE_DD for credit card charges and direct debit charges, respectively.
See the discussion on how BRM-initiated payment transactions are performed in BRM Configuring and Collecting Payments.
Performs an online credit card transaction. The input flist contains an array of specific operations to perform, so any number of operations can be batched together into a single call. The command is specified in each operation, so a single batch can contain a mixture of different commands.
This opcode supports all commands handled by PCM_OP_PYMT_CHARGE.
See the discussion on how BRM performs credit-card charges in BRM Configuring and Collecting Payments.
Performs a batch of Paymentech direct debit transactions.
This opcode supports all commands handled by PCM_OP_PYMT_CHARGE, except that it does not create a payment structure and handles transaction charges of $1 only. See the "PCM_OP_PYMT_CHARGE" opcode for a list of the PIN result codes from BRM-initiated payment transactions.
See the discussion on how BRM performs a batch of direct-debit charges in BRM Configuring and Collecting Payments.
Performs a debit card transaction. This opcode is used for the Paymentech direct debit implementation shipped with BRM and used in creating a custom direct debit implementation for the bank or payment clearing house you choose.
Important:
Debit cards that require a personal identification number (PIN) are not supported.See the discussion on how BRM performs direct-debit charges in BRM Configuring and Collecting Payments.
Performs payment collections and refunds.
This opcode allocates the payment to open items for each bill unit (/billinfo object) specified for the account. This opcode calls other standard opcodes to validate payments and calls various policy opcodes that allow you to customize payment collection.
See the discussion on how BRM collects payments in BRM Configuring and Collecting Payments.
Finds the /event/billing/adjustment/account event associated with sponsored top-ups.
By default, this opcode returns data from all the fields in an event. To return data from only particular event fields, specify the fields in the PIN_FLD_RESULTS array in this opcode's input flist.
See the discussion on viewing sponsored top-up history in BRM Configuring and Collecting Payments.
Gets the Oracle database ID of the DM interfacing with the automated clearing house using available information such as vendor name or element ID in the /config/ach object.
Applies a payment incentive to a bill during the billing run.
See the discussion on how payment incentives work in BRM Configuring and Collecting Payments.
Searches for /item objects with a variable number of input parameters. This opcode calls PCM_OP_SEARCH based on the input argument fields.
For collective bills, this opcode checks the RejectPaymentsForPreviousBill business parameter.
If RejectPaymentsForPreviousBill is enabled, the opcode does not accept the payment. BRM sends such a payment to the suspense payment account.
If the RejectPaymentsForPreviousBill is disabled, the opcode can accept the payment. In such a case, the opcode searches for the bill in the history_bills objects. If the bill is located in the history_bills objects, the payment is accepted for the bill with the same POID as the bill being processed. If such a bill is not located in history_bills objects, the payment is sent to a suspense payment account.
See the discussion on finding items in BRM Managing Accounts Receivable.
Distributes the account-level payment to multiple bill units.
This opcode is called by PCM_OP_PYMT_COLLECT or by Payment Tool.
This opcode calls the PCM_OP_PYMT_POL_MBI_DISTRIBUTE policy opcode.
See the discussion on allocating account-level payments to multiple bill units in BRM Configuring and Collecting Payments.
Gets all the items of the bill units in a tree view. The bills are displayed under their corresponding bill units, and the items for a bill are displayed under their corresponding bill.
This opcode is called by Payment Tool only while manually allocating the payment.
This opcode calls PCM_OP_PYMT_ITEM_SEARCH.
See the discussion on allocating an account-level payment to multiple bill units in BRM Configuring and Collecting Payments.
Evaluates a payment to determine whether a payment incentive should be provisioned and, if so, sets the payment incentive trigger.
This opcode is called by PCM_OP_BILL_ITEM_TRANSFER immediately after payment allocation, provided BRM is configured for payment incentives. This opcode determines whether the payment resulted in an early, in-full settlement of the last bill. If so, the current bill may be eligible for a payment incentive. This opcode creates a trigger for payment incentive processing to apply an incentive.
See the discussion on how payment incentives are triggered in BRM Configuring and Collecting Payments.
Checks results of charges sent in a batch and posts results of charges for which no information was returned.
See the discussion on how BRM checks the results of BRM-initiated batch payment operations in BRM Configuring and Collecting Payments.
Checks results of credit card charges sent in a batch and posts results of credit card charges for which no information was returned.
This opcode is specific to the Paymentech DM.
See the discussion on how BRM checks the results of BRM-initiated batch payment operations in BRM Configuring and Collecting Payments.
Checks results of direct debit charges sent in a batch. The results are passed back and used for transaction reconciliation.
This opcode is specific to the Paymentech DM.
See the discussion on how BRM checks the results of BRM-initiated batch payment operations in BRM Configuring and Collecting Payments.
Processes payment reversals during payment recycling and assigns action owner codes to suspended payments. This opcode is called by Payment Center when a single payment or a list of distributed payments is transferred between the payment suspense account and one or more customer accounts.
This opcode uses the source account referenced in the input flist's PIN_FLD_EVENT_OBJ field and the destination account POID in the PIN_FLD_ACCOUNT_OBJ field to determine the direction of the payment transfer; from the payment suspense account to a customer account, or to the payment suspense account from a customer account. This opcode then uses the number of payments in the CHARGES array to determine whether the reversal is for a single payment or a list of distributed payments.
For account-level payment to multiple bill units, there can be more than one event generated for an individual payment. So, the output flist of this opcode shows all the payment events.
See the discussion on how payments are recycled to and from suspense in BRM Configuring and Collecting Payments.
Searches for recycled payments that have not been reversed, including those recycled to the payment suspense account.
This opcode is called by PCM_OP_PYMT_RECYCLE_PAYMENT and returns a list of distributed payments to PCM_OP_PYMT_RECYCLE_PAYMENT for processing. This opcode also returns recycled payment information such as the payment amount, transaction ID, subtransaction ID, and account number to PCM_OP_PYMT_RECYCLE_PAYMENT for processing.
See the discussion on how recycled payments are retrieved in BRM Configuring and Collecting Payments.
Reverses a payment incentive, provided the incentive has not yet been applied.
See the discussion on how payment incentives are reversed in BRM Configuring and Collecting Payments.
Identifies a list of items based on the input fields and the accounting type of the account.
When an account-level payment is made to an account having multiple bill units, this opcode processes more than one bill unit to get the item-level distribution corresponding to each bill unit.
In case of overpayment to an account, this opcode contains more than two PIN_FLD_BILLINFO arrays for the default bill unit. This opcode does not perform an item-level distribution for the second PIN_FLD_BILLINFO array for the default bill unit and sets the select status as PIN_SELECT_STATUS_OVER_PAYMENT. This restriction prevents the opcode from doing item-level distribution twice in two different PIN_FLD_BILLINFO arrays.
See the discussion on selecting the items to which payments are applied in BRM Configuring and Collecting Payments.
Performs standard top-ups and sponsored top-ups.
See the discussion on how BRM performs top-ups in BRM Configuring and Collecting Payments.
Validates a credit card or direct debit transaction.
This opcode reads the /config/payment object to determine the transaction type and the opcode to call and then calls the appropriate opcode to validate the transaction.
This opcode also calls the PCM_OP_PYMT_POL_VALIDATE policy opcode to determine the success or failure of a BRM-initiated payment transaction validation.
See the discussion on how BRM validates credit card and direct debit transactions in BRM Configuring and Collecting Payments.
Performs a batch of online credit card validations and applies the validation policy to the results.
See the discussion on how BRM validates credit card and direct debit transactions in BRM Configuring and Collecting Payments.
Performs a batch of online direct debit validations and applies the validation policy to the results.
This opcode calls the appropriate DM to process validations and returns the results to the Internet.
See the discussion on how BRM validates credit card and direct debit transactions in BRM Configuring and Collecting Payments.
Validates payment records.
This opcode is called by PCM_OP_PYMT_COLLECT or by Payment Tool.
When this opcode receives a payment to validate, it determines whether the payment should be suspended and prepares it for posting by enriching the flist with any missing information.
See the discussion on how payments are suspended during payment processing in BRM Configuring and Collecting Payments.
Use the opcodes listed in Table 1-66 to customize RADIUS Manager.
Include the ops/term.h header file in all applications that call these opcodes. For more information, see the discussion on header files in BRM Developer's Guide.
Table 1-66 RADIUS Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Facilitates arbitrary storing of incoming RADIUS attributes. See the discussion on customizing RADIUS Manager opcodes in BRM RADIUS Manager. |
Recommended |
|
Merges attributes from the NAS and a user's account into a list to be returned to the NAS. See the discussion on customizing RADIUS Manager opcodes in BRM RADIUS Manager. |
Recommended |
|
Maps the IP address to the relevant account and service objects. See the discussion on customizing RADIUS Manager opcodes in BRM RADIUS Manager. |
Recommended |
Facilitates arbitrary storing of incoming RADIUS attributes.
This opcode can be customized to set the event type (such as /event/session/dialup/ascend) and extract extra fields from PIN_FLD_ARGS and PIN_FLD_INHERITED_INFO. You can then add these fields to an extended /event/session/dialup event.
This opcode is called by the PCM_OP_TERM_IP_DIALUP_START_ACCOUNTING and PCM_OP_TERM_IP_DIALUP_UPDATE_ACCOUNTING standard opcodes.
See the discussion on customizing RADIUS Manager opcodes in BRM RADIUS Manager.
Merges attributes from the NAS (Network Access Server) and a user's account into a list to be returned to the NAS.
This opcode is called by the PCM_OP_TERM_IP_DIALUP_AUTHORIZE standard opcode.
See the discussion on customizing RADIUS Manager opcodes in BRM RADIUS Manager.
Finds open event session for given IP address and returns user information based on that session.
Is called by relevant IP address applications to map an IP address to the relevant account and service objects. Use it to find the user of a given IP address.
This opcode is not called by any opcode.
See the discussion on customizing RADIUS Manager opcodes in BRM RADIUS Manager.
The opcodes listed in Table 1-67 are used by the RADIUS Manager for authentication, authorization, and accounting.
Include the ops/term.h header file in all applications that call these opcodes. For more information, see the discussion on header files in BRM Developer's Guide.
Table 1-67 RADIUS Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Records the end of accounting. See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager. |
Recommended |
|
Enables the RADIUS Manager to tell BRM that it is ready for service. See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager. |
Recommended |
|
Authenticates a user. See the discussion on how RADIUS Manager performs authentication and authorization in BRM RADIUS Manager. |
Recommended |
|
Assembles information from the NAS and a user's account. See the discussion on how RADIUS Manager performs authentication and authorization in BRM RADIUS Manager. |
Recommended |
|
Records the start of a previously authenticated IP dialup session. See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager. |
Recommended |
|
Closes out a previously started IP dialup session. See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager. |
Recommended |
|
Updates a previously started IP dialup session. See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager. |
Recommended |
Records the end of accounting.
See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager.
Enables the RADIUS Manager to tell BRM that it is ready for service.
See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager.
Authenticates a user.
See the discussion on how RADIUS Manager performs authentication and authorization in BRM RADIUS Manager.
Assembles information from the NAS and a user's account.
See the discussion on how RADIUS Manager performs authentication and authorization in BRM RADIUS Manager.
Records the start of a previously authenticated IP dialup session.
See the discussion on how RADIUS Manager performs accounting in BRM RADIUS Manager.
The opcodes listed in Table 1-68 are called by Activity FM opcodes to calculate charges and taxes for an event.
Include the ops/rate.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-68 Rating FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Returns the zone map name and impact category for an event. See the discussion on getting zone maps and impact categories from the Pipeline Manager database in BRM Setting Up Pricing and Rating. |
Recommended |
|
Returns a list of all available taxcodes. See the discussion on retrieving a list of tax codes in BRM Configuring and Running Billing. |
Recommended |
|
Returns a list of all available tax suppliers. See the discussion on retrieving a list of tax suppliers in BRM Configuring and Running Billing. |
Recommended |
|
Returns the tax_supplier POID or the tax supplier information, such as the ship-from and ship-to addresses and the business location code, from the tax_supplier_map lookup table. See the discussion on retrieving tax supplier data in BRM Configuring and Running Billing. |
Recommended |
|
Modifies /event object information after it has been rated. See the discussion on modifying rated events in BRM Setting Up Pricing and Rating. |
Recommended |
|
Calls the PCM_OP_RATE_POL_PROCESS_ERAS opcode to retrieve the usage type of an event. See the discussion on rating an event based on extended rating attributes in BRM Setting Up Pricing and Rating. |
Recommended |
|
Adds extended rating attribute (ERA) information to an event. See the discussion on rating an event based on extended rating attributes in BRM Setting Up Pricing and Rating. |
Recommended |
|
Modifies tax data after tax calculation. See the discussion on modifying tax data after calculating taxes in BRM Configuring and Running Billing. |
Recommended |
|
Modifies tax data before tax calculation. See the discussion on modifying tax data before calculating taxes in BRM Configuring and Running Billing. |
Recommended |
|
Returns the tax-related locations for an account. See the discussion on retrieving tax location data in BRM Configuring and Running Billing. |
Last Resort |
Returns the zone map name and impact category for an event from the Pipeline Manager database.
You can customize this policy to add new event storable classes that you have created, if those event storable classes use a real-time zoning pipeline.
This opcode is not called by any opcode.
See the discussion on getting zone maps and impact categories from the Pipeline Manager database in BRM Setting Up Pricing and Rating.
Returns a list of all the taxcodes that were loaded from the taxcodes.map file and cached by the CM during initialization. For example, Pricing Center uses this opcode to display a list of taxcodes used to configure rate plans for taxation.
You can customize this opcode to return additional cached taxcode information.
This opcode is not called by any opcode.
See the discussion on retrieving a list of tax codes in BRM Configuring and Running Billing.
This opcode returns a list of tax suppliers from the /profile/tax_supplier object.
You can customize this opcode by modifying the fields on the output flist. You can specify which fields are validated by adding or removing them from the input flist.
This opcode is not called by any opcode.
See the discussion on retrieving a list of tax suppliers in BRM Configuring and Running Billing.
Provides tax supplier information from the tax supplier map file or from the products array of the account. You can customize this policy to change how a tax supplier is derived for a specific BRM event.
This opcode is called by the PCM_OP_BILL_TAX_EVENT standard opcode.
See the discussion on retrieving tax supplier data in BRM Configuring and Running Billing.
Use the PCM_OP_RATE_POL_POST_RATING policy opcode to modify rated /event objects, for example, change the G/L ID of an event.
The input flist matches the /event object that you are modifying. The output flist contains the event field to be changed in the rated object.
This opcode is called by the PCM_OP_ACT_USAGE standard opcode.
See the discussion on modifying rated events in BRM Setting Up Pricing and Rating.
Caution:
Before calling the PCM_OP_RATE_POL_POST_RATING opcode, the PCM_OP_ACT_USAGE opcode stores the balance of a rated event in a balance group cache rather than in the BRM database. If you customize the PCM_OP_RATE_POL_POST_RATING opcode to call a standard opcode to change the balance of the rated event directly in the database or in a different cache, the balance group cache from which the PCM_OP_ACT_USAGE opcode fetches the final balance impact of the event may not reflect the change made by the PCM_OP_RATE_POL_POST_RATING opcode.Use this opcode to modify events before rating.
This opcode calls the PCM_OP_RATE_POL_PROCESSS_ERAS policy opcode to get the usage type of an event.
This opcode supports most-called-number discounts. When the event being rated is of the type /event/billing/cycle/discount/mostcalled, the opcode searches for usage events that match the event type and impact category specified in the /profile/mostcalled object that applies to the discount.
This opcode is called by the PCM_OP_RATE_AND_DISCOUNT_EVENT standard opcode.
See the discussion on discounts based on query values in BRM Configuring Pipeline Rating and Discounting.
Adds extended rating attribute (ERA) information to an event.
This policy opcode calls the PCM_OP_RATE_GET_ERAS standard opcode to find the valid service-level and account-level ERAs for an event. This opcode then populates the PIN_FLD_USAGE_TYPE field with the names of valid ERAs and populates the PIN_FLD_PROFILE_LABEL_LIST field with ERA label names.
This opcode returns the output to the PCM_OP_RATE_POL_PRE_RATING policy opcode.
This opcode is called by the PCM_OP_RATE_POL_PRE_RATING policy opcode.
Use this opcode to modify data after taxes are calculated.
You can use this opcode to process the output flist that your tax calculation software returns after calculating taxes.
This opcode is called by the PCM_OP_RATE_TAX_CALC standard opcode.
See the discussion on modifying tax data after calculating taxes in BRM Configuring and Running Billing.
Use this opcode to modify data before you send the data to the taxation DM for calculating taxes.
By default, this opcode returns the input flist as the output flist.
In the default implementation, this opcode is called by the PCM_OP_RATE_TAX_CALC standard opcode before determining the tax package to use for tax calculation.
See the discussion on modifying tax data before calculating taxes in BRM Configuring and Running Billing.
The opcodes listed in Table 1-69 are called by Activity FM opcodes to calculate charges and taxes for an event.
Include the ops/rate.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-69 Rating FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Applies rates and taxes to an event. See the discussion on FM Rate opcodes called by PCM_OP_ACT_USAGE in BRM Setting Up Pricing and Rating. |
Last Resort |
|
Retrieves the extended rating attribute (ERAs) for an event. See the discussion on rating an event based on extended rating attributes in BRM Setting Up Pricing and Rating. |
Last Resort |
|
Retrieves the list of products owned by an account and filters them with input criteria. See the discussion on FM Rate opcodes called by PCM_OP_ACT_USAGE in BRM Setting Up Pricing and Rating. |
Last Resort |
|
Calculates taxes due. See the discussion on how BRM calculates taxes in BRM Configuring and Running Billing. |
Last Resort |
|
Directs tax calculation. See the discussion on how BRM calculates taxes in BRM Configuring and Running Billing. |
Last Resort |
Applies rates and taxes to an event. Uses the index value in the /product object's PIN_FLD_TAX_SUPPLIER field to locate the correct tax supplier in the cache.
When the optional timestamp field PIN_FLD_WHEN_T is present in the input flist, the opcode searches for the price list that is valid at the time specified in the field. It uses the price list to rate the event.
This opcode also locates any rollover objects for events, and returns details of the rollover object to the calling opcode.
See the discussion on FM Rate opcodes called by PCM_OP_ACT_USAGE in BRM Setting Up Pricing and Rating.
Retrieves the extended rating attribute (ERAs) for an event. This opcode does the following:
Reads the /profile/serv_extrating and /profile/acct_extrating objects associated with the service and account in the event.
Reads /group/sharing/profile objects to identify profile sharing groups associated with the services or subscription services in the event. If a profile sharing group is found and is active at the time of the event, the opcode reads the /profile/serv_extrating or /profile/acct_extrating object associated with the group.
Checks whether each ERA was valid at the time of the event.
Returns the name of each valid ERA and the names of ERA labels belonging to each valid ERA to the calling policy opcode, PCM_OP_RATE_POL_PROCESS_ERAS.
Retrieves the list of products owned by the account based on the combination of service and event type in the input flist. The list includes customized products that are currently valid as well as base products owned by the account.
See the discussion on FM Rate opcodes called by PCM_OP_ACT_USAGE in BRM Setting Up Pricing and Rating.
Calculates taxes due at the time of purchase or billing.
This opcode is called by:
PCM_OP_RATE_TAX_EVENT to calculate taxes on items that are taxable when purchased.
PCM_OP_BILL_CYCLE_TAX to calculate taxes on items that are totalled and taxed at billing time.
See the discussion on how BRM calculates taxes in BRM Configuring and Running Billing.
The opcode in Table 1-70 is used to retrieve the quantity to rate for a customized ratable usage metric (RUM).
Include the ops/remit.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The opcodes listed in Table 1-71 are used to manage remittance.
Include the ops/remit.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-71 Remittance FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Retrieves a list of remittance accounts that need to be remitted when a particular event occurs. See the discussion on retrieving remittance accounts in BRM Configuring and Running Billing. |
Limited |
|
Calculates the remittance amount. See the discussion on calculating the remittance amount in BRM Configuring and Running Billing. |
Limited |
|
Validates remittance criteria. See the discussion on verifying the remittance specification file in BRM Configuring and Running Billing. |
Limited |
Retrieves the list of remittance accounts that need to be remitted when a particular event occurs and then stores the information in /remittance_info objects. This data is later used by PCM_OP_REMIT_REMIT_PROVIDER to calculate the remittance amount owed to the service provider.
See the discussion on retrieving remittance accounts in BRM Configuring and Running Billing.
The opcode in Table 1-72 implements the translation logic for /account and /service objects.
Include the ops/repl.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-72 Replication FM Policy Opcode
Opcode | Description | Use |
---|---|---|
Implements the translation logic for /account and /service objects and publishes data to the LDAP database specified in PIN_FLD_CONSUMER_OBJ value the input flist. See the discussion on understanding the replication policy push operation in BRM LDAP Manager. |
Recommended |
Implements the translation logic for /account and /service objects.
This opcode is the BRM interface for the LDAP Data Manager mapping operations. By default, the LDAP Data Manager implements a single-entry mapping operation.
This opcode is not called by any opcode.
See the discussion on understanding the replication policy push operation in BRM LDAP Manager.
For more information on the user mapping scheme, see the discussion on defining the user mapping scheme in BRM LDAP Manager.
The opcode in Table 1-73 calls other standard opcodes to create /job/rerate objects and /job_batch/rerate objects.
Include the ops/rerate.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Use the opcodes in Table 1-74 to customize processing of the reservation.
Include the ops/reserve.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-74 Resource Reservation FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Creates a reservation for a disputed amount to prevent misuse of resources during the course of the dispute. See the discussion on disputing events in BRM Managing Accounts Receivable. |
Recommended |
|
Releases the reservation against a disputed amount as part of the settlement process. See the discussion on settling disputed events in BRM Managing Accounts Receivable. |
Recommended |
|
Allows customization before releasing resources. See the discussion on customizing the rules for releasing a reservation in BRM Configuring and Collecting Payments. |
Recommended |
|
Determines the availability of resources for creating a reservation object. See the discussion on customizing resource reservation rules in BRM Configuring and Collecting Payments. |
Recommended |
|
Determines the availability of resources for extending a reservation amount. See the discussion on customizing the rules for extending a reservation in BRM Configuring and Collecting Payments. |
Recommended |
Creates a reservation for a disputed amount to prevent misuse of resources during the dispute. PCM_OP_RESERVE_POL_POST_DISPUTE allows you to perform custom processing of the reservation that it creates for the dispute. BRM calls this opcode to reserve resources equivalent to the dispute amount for as long as the dispute is active.
This opcode is called by the PCM_OP_ACT_USAGE standard opcode.
See the discussion on disputing events in BRM Managing Accounts Receivable.
Releases the reservation against a disputed amount as part of the settlement process. PCM_OP_RESERVE_POL_POST_SETTLEMENT allows you to perform custom processing of the reservation that it releases during the settlement. BRM calls this opcode to release resources reserved by PCM_OP_RESERVE_POL_POST_DISPUTE.
This opcode is called by the PCM_OP_ACT_USAGE standard opcode.
See the discussion on settling disputed events in BRM Managing Accounts Receivable.
Specifies how to handle any unused resources when releasing a /reservation or /reservation/active object. By default, it is an empty hook provided to facilitate customization.
You can customize this opcode to offer customers the option of transferring unused resources to a different account.
This opcode is called by the PCM_OP_RESERVE_RELEASE standard opcode before it releases resources.
See the discussion on customizing the rules for releasing a reservation in BRM Configuring and Collecting Payments.
Determines the availability of resources for creating a reservation.
You can customize this policy opcode to include custom resource reservation rules. For example, you can:
Reserve whatever resource is available, even if the available resource is less than the requested amount.
Specify a tolerance for credit limits.
This opcode is called by the PCM_OP_RESERVE_CREATE standard opcode before it creates a /reservation or /reservation/active object.
See the discussion on customizing resource reservation rules in BRM Configuring and Collecting Payments.
Determines the availability of resources for extending a reservation amount.
You can customize this policy opcode to include custom reservation rules. For example, you can:
Extend the reserved amount even if the available resource is less than the requested amount.
Extend reserved resources by specifying a resource limit and floor.
This opcode is called by the PCM_OP_RESERVE_EXTEND standard opcode before it extends the reservation amount.
See the discussion on customizing the rules for extending a reservation in BRM Configuring and Collecting Payments.
The opcodes in Table 1-75 manage reservations for prepaid services.
Include the ops/reserve.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-75 Resource Reservation FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates a /reservation or /reservation/active object. See the discussion on creating reservations in BRM Configuring and Collecting Payments. |
Recommended |
|
Associates a session object with a reservation object. See the discussion on associating a session with a reservation in BRM Configuring and Collecting Payments. |
Recommended |
|
Extends a reservation amount. See the discussion on extending the reservation amount in BRM Configuring and Collecting Payments. |
Recommended |
|
Finds one or more /reservation or /reservation/active objects. See the discussion on finding a reservation in BRM Configuring and Collecting Payments. |
Recommended |
|
Releases a /reservation or /reservation/active object. See the discussion on releasing reservations in BRM Configuring and Collecting Payments. |
Recommended |
|
Extends a reservation expiration time. See the discussion on extending the expiration time for a reservation in BRM Configuring and Collecting Payments. |
Recommended |
Creates a /reservation or /reservation/active object.
See the discussion on creating reservations in BRM Configuring and Collecting Payments.
If PIN_FLD_PIGGYBACK_FLAG is enabled in the input flist, this opcode returns information on the credit threshold breached in the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of the output flist.
See the discussion on providing credit threshold breach information in in-session notifications for network connectivity applications in BRM Telco Integration.
Associates an /event/session or /active_session object with a /reservation or /reservation/active object.
See the discussion on associating a session with a reservation in BRM Configuring and Collecting Payments.
Extends the amount reserved in an existing /reservation or /reservation/active object.
See the discussion on extending the reservation amount in BRM Configuring and Collecting Payments.
If PIN_FLD_PIGGYBACK_FLAG is enabled in the input flist, this opcode returns the credit threshold breached in the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of the output flist.
See the discussion on providing credit threshold breach information in in-session notifications for network connectivity applications in BRM Telco Integration.
Finds one or more /reservation or /reservation/active objects.
See the discussion on finding a reservation in BRM Configuring and Collecting Payments.
Releases one or more /reservation or /reservation/active objects. The opcode either keeps or deletes the reservation object and returns any unused resources back to the customer's account balance.
Note:
If a reservation object is not specified, this opcode searches for and releases all expired /reservation and /reservation/active objects.See the discussion on releasing reservations in BRM Configuring and Collecting Payments.
The opcodes listed in Table 1-76 add, delete, and modify data dictionary components, including opcode mapping, storable classes, and fields.
Include the ops/sdk.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-76 SDK FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Deletes field specifications. See the discussion on deleting field specifications in BRM Developer's Guide. |
Limited |
|
Deletes BRM storable class specifications. See the discussion on deleting storable class specifications in BRM Developer's Guide. |
Limited |
|
Gets field specifications. See the discussion on retrieving field specifications in BRM Developer's Guide. |
Limited |
|
Gets BRM storable class specifications. See the discussion on retrieving storable class specifications in BRM Developer's Guide. |
Limited |
|
Creates or modifies field specifications. See the discussion on creating and modifying field specifications in BRM Developer's Guide. |
Limited |
|
Creates or modifies BRM storable classes. See the discussion on creating and modifying storable classes in BRM Developer's Guide. |
Limited |
Deletes field specifications from all database schemas in your BRM system.
Caution:
If you delete field specifications for fields that have been instantiated, you will corrupt your database. For example, never delete PIN_FLD_POID from a base BRM system. Because of this danger, we recommend that you do not use this opcode on a production system.See the discussion on deleting field specifications in BRM Developer's Guide.
Deletes storable class specifications from the data dictionary of all database schemas in your BRM system.
Note:
The opcode deletes data from the data dictionary only. To drop the actual table created by PCM_OP_SDK_SET_OBJ_SPECS, you must drop it manually.Caution:
If you delete a storable class that has been instantiated, you will corrupt your database. For example, never delete the /account object. Because of this danger, we recommend that you do not use this opcode on a production system.See the discussion on deleting storable class specifications in BRM Developer's Guide.
Example 1-259 Sample Input Flist
This flist deletes a specification for a storable class of type /my_class:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/objects 0 0 0 PIN_FLD_OBJ_DESC ARRAY [*] allocated 2, used 2 1 PIN_FLD_ACTION STR [0] "delete" 1 PIN_FLD_NAME STR [0] "/my_class"
Example 1-260 Sample Output Flist
This flist is the returned when a specification for a storable class of type /my_class is deleted:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/objects 0 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_DESCR STR [0] "DELETE FROM dd_objects_t WHERE obj_id0 = 100064 " 0 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 1 PIN_FLD_DESCR STR [0] "-- DROP TABLE my_class_t " 0 PIN_FLD_RESULTS ARRAY [2] allocated 1, used 1 1 PIN_FLD_DESCR STR [0] "DELETE FROM dd_objects_fields_t WHERE obj_id0 = 100064 AND ( rec_id = 100065 OR (rec_id = 0 AND parent_element_id = 100065 ))"
Retrieves one or more field specifications. You specify the field specifications to return on the input flist.
Important:
If no fields are specified, this opcode returns all field specifications in the BRM database, which could take a long time.See the discussion on retrieving field specifications in BRM Developer's Guide.
Example 1-261 Sample Input Flist
Specify the field to search for by using its name or ID number. This example uses the field name:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/objects 0 0 0 PIN_FLD_FIELD ARRAY [0] allocated 1, used 1 1 PIN_FLD_FIELD_NAME STR [0] "PIN_FLD_BILLINFO"
Example 1-262 Sample Output Flist
This flist is returned when specifications are retrieved for the PIN_FLD_BILLINFO field:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/fields 0 0 0 PIN_FLD_FIELD ARRAY [0] allocated 5, used 5 1 PIN_FLD_DESCR STR [0] NULL 1 PIN_FLD_FIELD_NAME STR [0] "PIN_FLD_BILLINFO" 1 PIN_FLD_FIELD_NUM ENUM [0] 126 1 PIN_FLD_FIELD_TYPE INT [0] 9 1 PIN_FLD_STATUS ENUM [0] 3
Retrieves one or more storable class specifications.
See the discussion on retrieving storable class specifications in BRM Developer's Guide.
Example 1-263 Sample Input Flist
This flist retrieves specifications for the /event/batch storable class:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/objects 0 0 0 PIN_FLD_OBJ_DESC ARRAY [0] allocated 1, used 1 1 PIN_FLD_NAME STR [0] "/event/batch"
Example 1-264 Sample Output Flist
This flist is returned when specifications are retrieved for the /event/batch storable class:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/objects 0 0 0 PIN_FLD_OBJ_DESC ARRAY [1160] allocated 10, used 10 1 PIN_FLD_READ_ACCESS STR [0] "BrandLineage" 1 PIN_FLD_WRITE_ACCESS STR [0] "BrandLineage" 1 PIN_FLD_AUDIT_FLAG INT [0] 0 1 PIN_FLD_AU_SM_INFO STR [0] NULL 1 PIN_FLD_CREATE_ACCESS STR [0] "Any" 1 PIN_FLD_DESCR STR [0] "Abstract class to indicate batch load session data" 1 PIN_FLD_LABEL STR [0] NULL 1 PIN_FLD_NAME STR [0] "/event/batch" 1 PIN_FLD_SM_INFO STR [0] NULL 1 PIN_FLD_STATUS ENUM [0] 3
Creates or modifies field specifications.
Caution:
If you change field specifications for fields that have been instantiated, you will corrupt your database.Important:
Instead of using this opcode, it is safer and more reliable to create or modify field specifications by using the Storable Class Editor in Developer Center.See the discussion on creating and modifying field specifications in BRM Developer's Guide.
Example 1-265 Sample Input Flist
This flist creates a field specification for a field named MY_INT_FIELD:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/fields 0 0 0 PIN_FLD_FIELD ARRAY [0] allocated 4, used 4 1 PIN_FLD_DESCR STR [0] "test field" 1 PIN_FLD_FIELD_NAME STR [0] "MY_INT_FIELD" 1 PIN_FLD_FIELD_NUM ENUM [0] 10005 1 PIN_FLD_FIELD_TYPE INT [0] 5
Creates or modifies a storable class.
Caution:
If you change a storable class after it has been instantiated and populated with data, you will corrupt your database.Important:
Instead of using this opcode, it is safer and more reliable to create or modify storable class specifications by using the Storable Class Editor in Developer Center.See the discussion on creating and modifying storable classes in BRM Developer's Guide.
Example 1-266 Sample Input Flist
This flist creates specifications for a storable class of type /my_class:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/objects 0 0 0 PIN_FLD_OBJ_DESC ARRAY [0] allocated 4, used 4 1 PIN_FLD_READ_ACCESS STR [0] "BrandLineage" 1 PIN_FLD_WRITE_ACCESS STR [0] "BrandLineage" 1 PIN_FLD_NAME STR [0] "/my_class" 1 PIN_FLD_SM_ITEM_NAME STR [0] "my_class_t"
Example 1-267 Sample Output Flist
This flist is returned when specifications are created for a class of type /my_class:
0 PIN_FLD_POID POID [0] 0.0.0.1 /dd/objects 0 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 1 PIN_FLD_DESCR STR [0] "INSERT INTO dd_objects_t ( obj_id0, name, mod_t, state, permission, label, descr, sm_info, seq_start, read_access, write_ access, create_access, audit_flag, au_sm_info ) VALUES ( 1522, '/my_class', 0, 1, 0, '', '', '', 1, 'L', 'L', 'N', 0, '' )" 0 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 1 PIN_FLD_DESCR STR [0] "CREATE TABLE my_class_t ( poid_DB int , poid_ID0 int , poid_TYPE varchar2 (255) , poid_REV int , created_t int , mod_t int , read_access varchar2 (1) , write_access varchar2 (1) ) " 0 PIN_FLD_RESULTS ARRAY [2] allocated 1, used 1 1 PIN_FLD_DESCR STR [0] "INSERT INTO dd_objects_ fields_t ( obj_id0, rec_id, parent_element_id, field_name, field_type, state, permission, length, encryptable, sm_info, label, descr, field_order, auditable, sm_item_name ) VALUES ( 1522, 1523, 0, 'PIN_FLD_MAIN', 11, 1, 1, 0, 0, '', '', '', 0.0, 0, 'my_class_t' )"
The opcodes listed in Table 1-77 perform service-specific functions.
Helper opcodes are called by Services Framework AAA Manager FM standard opcodes during any of the following stages in the standard opcode's execution:
SEARCH_SESSION
PREP_INPUT
VALIDATE_LIFECYCLE
ACC_ON_OFF_SEARCH
POST_PROCESS
You can configure an opcode to call the helper opcodes by using the load_aaa_config_opcodemap_tcf utility. See the discussion on configuring Services Framework to call helper opcodes in BRM Telco Integration.
All opcodes check if ebuf is set before performing each step. If the ebuf is set, processing stops and the ebuf exception is passed to the caller.
Include the ops/tcf_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-77 Services Framework AAA Manager FM Helper Opcodes
Opcode | Description | Use |
---|---|---|
Prepares service-specific input flists for activity events. See the discussion on preparing service-specific flists for activity events in BRM Telco Integration. |
Recommended |
|
Prepares service-specific input flists for authorization. See the discussion on preparing service-specific flists for authorization in BRM Telco Integration. |
Recommended |
|
Sends data about the current call to the policy opcode specified in the /config/opcodemap/tcf object and then tags the current call as either a continuation call or a normal call. See the discussion on how real-time rating detects dropped calls and continuation calls in BRM Telco Integration. |
Recommended |
|
Prepares service-specific input flists for reauthorization. See the discussion on preparing service-specific flists for reauthorization in BRM Telco Integration. |
Recommended |
|
Builds search templates for finding service-specific /active_session and /event/session objects. See the discussion on building service-specific search templates in BRM Telco Integration. |
Recommended |
|
Prepares service-specific input flists for ending prepaid accounting sessions. See the discussion on preparing service-specific flists for ending accounting sessions in BRM Telco Integration. |
Recommended |
|
Prepares service-specific input flists for updating prepaid accounting sessions. See the discussion on preparing service-specific flists for updating accounting sessions in BRM Telco Integration. |
Recommended |
|
During authorization of a request for a service that uses a custom service life cycle, applies business rules in the /config/lifecycle_states object associated with the service to validate the request. See the discussion on managing service life cycles in BRM Managing Customers. |
Recommended |
Aggregates service-specific data and then creates an input flist for rating activity events.
See the discussion on preparing service-specific flists for activity events in BRM Telco Integration.
Aggregates service-specific data and then creates an flist for authorizing prepaid sessions.
See the discussion on preparing service-specific flists for authorization in BRM Telco Integration.
Sends data about the current call to the policy opcode specified in the /config/opcodemap/tcf object and then tags the current call as either a continuation call or a normal call.
The PCM_OP_TCF_AAA_DETECT_CONTINUATION_CALL helper opcode performs the following:
Finds the dropped call ERA associated with the service.
Searches through the existing /active_session objects in memory to find objects with the same service type and caller number as the current call. It sorts by PIN_FLD_CREATED_T, in descending order, all /active_session objects that meet the criteria and then finds the /active_session objects that match the termination cause specified in the service-specific /config/aaa/gsm/xxx object.
At the MATCH_CONTINUOUS_CALL processing stage, sends the current call, the dropped call, configuration information from the service-specific /config/aaa/gsm/xxx object, billing information, a list of intermediate /active_session objects, and the dropped call ERA to the policy opcode specified in the /config/opcodemap/tcf object.
Depending on the value returned by the policy opcode, tags the current call as either a normal call or a continuation call.
Optionally deletes any redundant /active_session objects from memory. This includes /active_session objects that meet all of these criteria:
Have the same caller number as the current call
Have the same service type as the current call
Have any of the following:
A timestamp that exceeds the maximum duration specified in the dropped call ERA
A call counter that surpasses the maximum number of intermediate calls specified in the dropped call ERA
A billing cycle that is different than that of the current call
By default, this helper opcode is called by PCM_OP_TCF_AAA_AUTHORIZE and PCM_OP_TCF_AAA_STOP_ACCOUNTING at the TAG_SESSION processing stage.
See the discussion on how real-time rating detects dropped calls and continuation calls in BRM Telco Integration.
Example 1-268 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 116229 0 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_ACTIVE_SESSION_ID STR [0] "parag001_16" 0 PIN_FLD_START_T TSTAMP [0] (1154606400) Thu Aug 3 05:00:00 2006 0 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active -1 0 0 PIN_FLD_DROPPED_CALL_QUANTITY DECIMAL [0] 0 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 2 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 3 2 PIN_FLD_NETWORK_SESSION_ID STR [0] "parag001_16" 2 PIN_FLD_CALLING_FROM STR [0] "0049100050" 2 PIN_FLD_CALLED_TO STR [0] "0049100109" 1 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_RATING_INFO SUBSTRUCT [0] allocated 20, used 2 1 PIN_FLD_EVENT SUBSTRUCT [0] allocated 20, used 11 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 116229 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 2 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 2 PIN_FLD_ACTIVE_SESSION_ID STR [0] "parag001_16" 2 PIN_FLD_START_T TSTAMP [0] (1154606400) Thu Aug 3 05:00:00 2006 2 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active -1 0 2 PIN_FLD_DROPPED_CALL_QUANTITY DECIMAL [0] 0 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 5 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "parag001_16" 3 PIN_FLD_CALLING_FROM STR [0] "0049100050" 3 PIN_FLD_CALLED_TO STR [0] "0049100109" 3 PIN_FLD_BYTES_UPLINK DECIMAL [0] 0 3 PIN_FLD_BYTES_DOWNLINK DECIMAL [0] 0 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 3 3 PIN_FLD_DIRECTION ENUM [0] 0 3 PIN_FLD_BYTES_IN INT [0] 0 3 PIN_FLD_BYTES_OUT INT [0] 0 2 PIN_FLD_END_T TSTAMP [0] (1154606401) Thu Aug 3 05:00:01 2006 1 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 0 PIN_FLD_CONFIG_INFO SUBSTRUCT [0] allocated 20, used 17 1 PIN_FLD_POID POID [0] 0.0.0.1 /config/aaa/gsm/telephony 136864 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1154524127) Wed Aug 2 06:08:47 2006 1 PIN_FLD_MOD_T TSTAMP [0] (1154523291) Wed Aug 2 05:54:51 2006 1 PIN_FLD_READ_ACCESS STR [0] "L" 1 PIN_FLD_WRITE_ACCESS STR [0] "L" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DESCR STR [0] "" 1 PIN_FLD_HOSTNAME STR [0] "-" 1 PIN_FLD_NAME STR [0] "Telco AAA Params Configuration" 1 PIN_FLD_PROGRAM_NAME STR [0] "load_pin_telco_aaa_params" 1 PIN_FLD_VALUE STR [0] "" 1 PIN_FLD_VERSION STR [0] "" 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 4 2 PIN_FLD_DELETED_FLAG INT [0] 3 2 IN_FLD_DUPLICATE_CHECK_TYPE ENUM [0] 1 2 PIN_FLD_EXPIRATION_T TSTAMP [0] (0) <null> 2 PIN_FLD_SUBSESSION_MODE ENUM [0] 2 1 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE_ARRAY ARRAY [0] allocated 20, used 1 2 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE ENUM [0] 4 1 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE_ARRAY ARRAY [1] allocated 20, used 1 2 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE ENUM [0] 5 1 PIN_FLD_RESERVATION_INFO ARRAY [0] allocated 20, used 8 2 PIN_FLD_INCR_QUANTITY DECIMAL [0] 50 2 PIN_FLD_IS_PRIMARY_RUM ENUM [0] 0 2 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 2 PIN_FLD_QUANTITY DECIMAL [0] 50 2 PIN_FLD_RATIO INT [0] 0 2 PIN_FLD_REQ_MODE ENUM [0] 2 2 PIN_FLD_RUM_NAME STR [0] "Duration" 2 PIN_FLD_UNIT ENUM [0] 0 1 PIN_FLD_RESERVATION_INFO ARRAY [1] allocated 20, used 8 2 PIN_FLD_INCR_QUANTITY DECIMAL [0] 50 2 PIN_FLD_IS_PRIMARY_RUM ENUM [0] 0 2 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 2 PIN_FLD_QUANTITY DECIMAL [0] 50 2 PIN_FLD_RATIO INT [0] 0 2 PIN_FLD_REQ_MODE ENUM [0] 1 2 PIN_FLD_RUM_NAME STR [0] "Amount" 2 PIN_FLD_UNIT ENUM [0] 0 0 PIN_FLD_OPCODE INT [0] 4002
Example 1-269 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 116229 0 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_ACTIVE_SESSION_ID STR [0] "parag001_16" 0 PIN_FLD_START_T TSTAMP [0] (1154606400) Thu Aug 3 05:00:00 2006 0 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active -1 0 0 PIN_FLD_DROPPED_CALL_QUANTITY DECIMAL [0] 0 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 2 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 3 2 PIN_FLD_NETWORK_SESSION_ID STR [0] "parag001_16" 2 PIN_FLD_CALLING_FROM STR [0] "0049100050" 2 PIN_FLD_CALLED_TO STR [0] "0049100109" 1 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_RATING_INFO SUBSTRUCT [0] allocated 20, used 2 1 PIN_FLD_EVENT SUBSTRUCT [0] allocated 20, used 11 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 116229 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 2 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 2 PIN_FLD_ACTIVE_SESSION_ID STR [0] "parag001_16" 2 PIN_FLD_START_T TSTAMP [0] (1154606400) Thu Aug 3 05:00:00 2006 2 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active -1 0 2 PIN_FLD_DROPPED_CALL_QUANTITY DECIMAL [0] 0 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 5 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "parag001_16" 3 PIN_FLD_CALLING_FROM STR [0] "0049100050" 3 PIN_FLD_CALLED_TO STR [0] "0049100109" 3 PIN_FLD_BYTES_UPLINK DECIMAL [0] 0 3 PIN_FLD_BYTES_DOWNLINK DECIMAL [0] 0 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 3 3 PIN_FLD_DIRECTION ENUM [0] 0 3 PIN_FLD_BYTES_IN INT [0] 0 3 PIN_FLD_BYTES_OUT INT [0] 0 2 PIN_FLD_END_T TSTAMP [0] (1154606401) Thu Aug 3 05:00:01 2006 1 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 0 PIN_FLD_CONFIG_INFO SUBSTRUCT [0] allocated 20, used 17 1 PIN_FLD_POID POID [0] 0.0.0.1 /config/aaa/gsm/telephony 136864 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1154524127) Wed Aug 2 06:08:47 2006 1 PIN_FLD_MOD_T TSTAMP [0] (1154523291) Wed Aug 2 05:54:51 2006 1 PIN_FLD_READ_ACCESS STR [0] "L" 1 PIN_FLD_WRITE_ACCESS STR [0] "L" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DESCR STR [0] "" 1 PIN_FLD_HOSTNAME STR [0] "-" 1 PIN_FLD_NAME STR [0] "Telco AAA Params Configuration" 1 PIN_FLD_PROGRAM_NAME STR [0] "load_pin_telco_aaa_params" 1 PIN_FLD_VALUE STR [0] "" 1 PIN_FLD_VERSION STR [0] "" 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 4 2 PIN_FLD_DELETED_FLAG INT [0] 3 2 PIN_FLD_DUPLICATE_CHECK_TYPE ENUM [0] 1 2 PIN_FLD_EXPIRATION_T TSTAMP [0] (0) <null> 2 PIN_FLD_SUBSESSION_MODE ENUM [0] 2 1 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE_ARRAY ARRAY [0] allocated 20, used 1 2 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE ENUM [0] 4 1 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE_ARRAY ARRAY [1] allocated 20, used 1 2 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE ENUM [0] 5 1 PIN_FLD_RESERVATION_INFO ARRAY [0] allocated 20, used 8 2 PIN_FLD_INCR_QUANTITY DECIMAL [0] 50 2 PIN_FLD_IS_PRIMARY_RUM ENUM [0] 0 2 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 2 PIN_FLD_QUANTITY DECIMAL [0] 50 2 PIN_FLD_RATIO INT [0] 0 2 PIN_FLD_REQ_MODE ENUM [0] 2 2 PIN_FLD_RUM_NAME STR [0] "Duration" 2 PIN_FLD_UNIT ENUM [0] 0 1 PIN_FLD_RESERVATION_INFO ARRAY [1] allocated 20, used 8 2 PIN_FLD_INCR_QUANTITY DECIMAL [0] 50 2 PIN_FLD_IS_PRIMARY_RUM ENUM [0] 0 2 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 2 PIN_FLD_QUANTITY DECIMAL [0] 50 2 PIN_FLD_RATIO INT [0] 0 2 PIN_FLD_REQ_MODE ENUM [0] 1 2 PIN_FLD_RUM_NAME STR [0] "Amount" 2 PIN_FLD_UNIT ENUM [0] 0 0 PIN_FLD_OPCODE INT [0] 4002 0 PIN_FLD_CALL_TYPE INT [0] 0
The opcode returns the PIN_FLD_CALL_TYPE flist field set to one of the following to indicate whether the current call matches the criteria for a continuation call:
0 specifies this is a normal call.
1 specifies this is a dropped call.
2 specifies this is a continuation call.
3 specifies this is both a dropped call and a continuation call.
If the call is a continuation call, the opcode also returns the PIN_FLD_DROPPED_CALL_QUANTITY flist field set to the duration of the associated dropped call and the PIN_FLD_DROPPED_CALL_ASO_POID flist field set to the POID of the dropped call's /active_session object.
Aggregates service-specific data and then creates an flist for reauthorizing prepaid sessions.
See the discussion on preparing service-specific flists for reauthorization in BRM Telco Integration.
Builds search templates for finding /active_session and /event/session objects.
See the discussion on building service-specific search templates in BRM Telco Integration.
Example 1-270 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco 0 PIN_FLD_PROGRAM_NAME STR [0] "sample_act" 0 PIN_FLD_AUTHORIZATION_ID STR [0] "24874654" 0 PIN_FLD_DIRECTION ENUM [0] 0
Example 1-271 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /search -1 0 0 PIN_FLD_ARGS ARRAY [1] allocated 100, used 1 1 PIN_FLD_ACTIVE_SESSION_ID STR [0] "0010177121113340346110004" 0 PIN_FLD_INDEX_NAME STR [0] "active_session_active_id_i" 0 PIN_FLD_FLAGS INT [0] 256 0 PIN_FLD_TEMPLATE STR [0] "select X from /active_session/telco where F1 = V1 " 0 PIN_FLD_RESULTS ARRAY [0] NULL array ptr
Aggregates service-specific data and create an flist for ending prepaid accounting sessions.
See the discussion on preparing service-specific flists for ending accounting sessions in BRM Telco Integration.
Aggregates service-specific data and then creates an flist for a prepaid accounting sessions.
See the discussion on preparing service-specific flists for updating accounting sessions in BRM Telco Integration.
Does the following for all AAA requests except start accounting, update accounting, and stop accounting in normal mode:
Checks the SubscriberLifeCycle business parameter associated with a service's bill unit:
If the parameter is set to disabled, returns the authorization flow to the calling opcode, setting the PIN_FLD_RESULT output flist field to PIN_TCF_AAA_VALIDATION_NOT_REQUIRED.
If the parameter is set to enabled, continues the validation process.
Checks the PIN_FLD_LIFECYCLE_STATE value in the specified /service object:
If the value is 0, returns the authorization flow to the calling opcode.
If the value is not 0, continues the validation process.
Calls the PCM_OP_CUST_GET_LIFECYCLE_STATE opcode to get the life cycle states configuration object (/config/lifecycle_states) for the specified /service object.
Validates the call based on the business rules defined for the current state of the service.
Does one of the following:
If validation fails, sets the PIN_FLD_RESULT field in its output flist to PIN_BOOLEAN_FALSE and returns the authorization flow to the calling opcode. This triggers the calling opcode to return PIN_FLD_RESULT set to PIN_BOOLEAN_FALSE and PIN_FLD_REASON set to 7 (PIN_TCF_AAA_VALIDATION_FAILED) to its caller.
If validation succeeds, does one of the following:
If the current state of the service is Preactive or Dormant, allows the call and triggers a service state change by setting these output flist fields as follows:
PIN_FLD_NEXT_STATE to ACTIVE
PIN_FLD_RESULT to PIN_TCF_AAA_TRANSITION_REQUIRED
If the current state of the service is anything except Preactive or Dormant, sets the PIN_FLD_RESULT output flist field to PIN_BOOLEAN_TRUE.
Regardless of the validation results, calls the PCM_OP_TCF_AAA_POL_VALIDATE_LIFECYCLE policy opcode to complete the validation process.
This helper opcode is called during the VALIDATE_LIFECYCLE stage of the Services Framework AAA Manager FM standard opcodes. It can be called by any of those opcodes except the following:
PCM_OP_TCF_AAA_START_ACCOUNTING
PCM_OP_TCF_AAA_UPDATE_ACCOUNTING
PCM_OP_TCF_AAA_STOP_ACCOUNTING in normal mode (when in direct debit mode, this standard opcode can call the helper opcode)
See the discussion on managing service life cycles in BRM Managing Customers.
The opcodes in Table 1-78 process authentication, authorization, and accounting (AAA) requests for any prepaid service type.
For more information about prepaid AAA, see the discussion on processing AAA requests for prepaid services in BRM Telco Integration.
Include the ops/tcf_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
All opcodes check whether ebuf is set before performing each step. If the ebuf is set, processing stops and the ebuf exception is passed to the caller.
Table 1-78 Services Framework AAA Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Allows customizations when deploying BRM. See the discussion on customizing the information received by the policy controller in BRM Setting Up Pricing and Rating. |
Recommended |
|
Determines whether the current call is a continuation call. See the discussion on how real-time rating detects dropped calls and continuation calls in BRM Telco Integration. |
Recommended |
|
Sets up in-session notifications for use by network connectivity applications. See the discussion on providing in-session notifications in BRM Telco Integration. |
Recommended |
|
During authorization of a request for a service that uses a custom life cycle, validates the request against the MO_ENABLED, MT_ENABLED, and custom business rules configured for the current service state. See the discussion on managing service life cycles in BRM Managing Customers. |
Recommended |
Customizes the information your network policy controller retrieves from BRM.
This policy opcode is called by the PCM_OP_TCF_AAA_GET_SUBSCRIBER_PROFILE opcode.
See the discussion on customizing the information received by the policy controller in BRM Setting Up Pricing and Rating.
Important:
The source code for this policy opcode is not shipped with BRM. To modify how BRM finds continuation calls, you must create a custom policy opcode. See the discussion on specifying the rules for finding continuation calls in BRM Telco Integration.Determines whether the current call is a continuation call by using the criteria specified in the dropped call extended rating attribute (ERA). The input to the policy opcode includes data about the current call, the dropped call, the dropped call ERA, the service-specific /config/aaa/gsm object, the billing cycle, and the list of intermediate /active_session objects.
See the discussion on how real-time rating detects dropped calls and continuation calls in BRM Telco Integration.
Example 1-272 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 116229 0 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_ACTIVE_SESSION_ID STR [0] "parag001_16" 0 PIN_FLD_START_T TSTAMP [0] (1154606400) Thu Aug 3 05:00:00 2006 0 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active -1 0 0 PIN_FLD_DROPPED_CALL_QUANTITY DECIMAL [0] 0 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 2 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 3 2 PIN_FLD_NETWORK_SESSION_ID STR [0] "parag001_16" 2 PIN_FLD_CALLING_FROM STR [0] "0049100050" 2 PIN_FLD_CALLED_TO STR [0] "0049100109" 1 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_DIRECTION ENUM [0] 0 0 PIN_FLD_RATING_INFO SUBSTRUCT [0] allocated 20, used 2 1 PIN_FLD_EVENT SUBSTRUCT [0] allocated 20, used 11 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/session/telco/gsm -1 0 2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 116229 0 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 2 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 2 PIN_FLD_ACTIVE_SESSION_ID STR [0] "parag001_16" 2 PIN_FLD_START_T TSTAMP [0] (1154606400) Thu Aug 3 05:00:00 2006 2 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active -1 0 2 PIN_FLD_DROPPED_CALL_QUANTITY DECIMAL [0] 0 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 5 3 PIN_FLD_NETWORK_SESSION_ID STR [0] "parag001_16" 3 PIN_FLD_CALLING_FROM STR [0] "0049100050" 3 PIN_FLD_CALLED_TO STR [0] "0049100109" 3 PIN_FLD_BYTES_UPLINK DECIMAL [0] 0 3 PIN_FLD_BYTES_DOWNLINK DECIMAL [0] 0 2 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 3 3 PIN_FLD_DIRECTION ENUM [0] 0 3 PIN_FLD_BYTES_IN INT [0] 0 3 PIN_FLD_BYTES_OUT INT [0] 0 2 PIN_FLD_END_T TSTAMP [0] (1154606401) Thu Aug 3 05:00:01 2006 1 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 0 PIN_FLD_CONFIG_INFO SUBSTRUCT [0] allocated 20, used 17 1 PIN_FLD_POID POID [0] 0.0.0.1 /config/aaa/gsm/telephony 136864 0 1 PIN_FLD_CREATED_T TSTAMP [0] (1154524127) Wed Aug 2 06:08:47 2006 1 PIN_FLD_MOD_T TSTAMP [0] (1154523291) Wed Aug 2 05:54:51 2006 1 PIN_FLD_READ_ACCESS STR [0] "L" 1 PIN_FLD_WRITE_ACCESS STR [0] "L" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0 1 PIN_FLD_DESCR STR [0] "" 1 PIN_FLD_HOSTNAME STR [0] "-" 1 PIN_FLD_NAME STR [0] "Telco AAA Params Configuration" 1 PIN_FLD_PROGRAM_NAME STR [0] "load_pin_telco_aaa_params" 1 PIN_FLD_VALUE STR [0] "" 1 PIN_FLD_VERSION STR [0] "" 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 4 2 PIN_FLD_DELETED_FLAG INT [0] 3 2 PIN_FLD_DUPLICATE_CHECK_TYPE ENUM [0] 1 2 PIN_FLD_EXPIRATION_T TSTAMP [0] (0) <null> 2 PIN_FLD_SUBSESSION_MODE ENUM [0] 2 1 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE_ARRAY ARRAY [0] allocated 20, used 1 2 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE ENUM [0] 4 1 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE_ARRAY ARRAY [1] allocated 20, used 1 2 PIN_FLD_DROPPED_CALL_TERMINATE_CAUSE ENUM [0] 5 1 PIN_FLD_RESERVATION_INFO ARRAY [0] allocated 20, used 8 2 PIN_FLD_INCR_QUANTITY DECIMAL [0] 50 2 PIN_FLD_IS_PRIMARY_RUM ENUM [0] 0 2 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 2 PIN_FLD_QUANTITY DECIMAL [0] 50 2 PIN_FLD_RATIO INT [0] 0 2 PIN_FLD_REQ_MODE ENUM [0] 2 2 PIN_FLD_RUM_NAME STR [0] "Duration" 2 PIN_FLD_UNIT ENUM [0] 0 1 PIN_FLD_RESERVATION_INFO ARRAY [1] allocated 20, used 8 2 PIN_FLD_INCR_QUANTITY DECIMAL [0] 50 2 PIN_FLD_IS_PRIMARY_RUM ENUM [0] 0 2 PIN_FLD_MIN_QUANTITY DECIMAL [0] 0 2 PIN_FLD_QUANTITY DECIMAL [0] 50 2 PIN_FLD_RATIO INT [0] 0 2 PIN_FLD_REQ_MODE ENUM [0] 1 2 PIN_FLD_RUM_NAME STR [0] "Amount" 2 PIN_FLD_UNIT ENUM [0] 0 0 PIN_FLD_OPCODE INT [0] 4002 0 PIN_FLD_LAST_BILL_T TSTAMP [0] (1154516538) Wed Aug 2 04:02:18 2006 0 PIN_FLD_NEXT_BILL_T TSTAMP [0] (1157180400) Sat Sep 2 00:00:00 2006 0 PIN_FLD_PROFILE_INFO SUBSTRUCT [0] allocated 20, used 7 1 PIN_FLD_PROFILE_NAME STR [0] "DROPPED_CALL" 1 PIN_FLD_POID POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 1 PIN_FLD_DATA_ARRAY ARRAY [0] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "MAX_INTERVENING_CALLS" 2 PIN_FLD_VALID_FROM TSTAMP [0] (1154516554) Wed Aug 2 04:02:34 2006 2 PIN_FLD_VALID_TO TSTAMP [0] (1185993000) Wed Aug 1 11:30:00 2007 2 PIN_FLD_VALUE STR [0] "10" 1 PIN_FLD_DATA_ARRAY ARRAY [1] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "SAME_CALLED_PARTY" 2 PIN_FLD_VALID_FROM TSTAMP [0] (1154516554) Wed Aug 2 04:02:34 2006 2 PIN_FLD_VALID_TO TSTAMP [0] (1185993000) Wed Aug 1 11:30:00 2007 2 PIN_FLD_VALUE STR [0] "1" 1 PIN_FLD_DATA_ARRAY ARRAY [2] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "MAX_TIME_TO_CONTINUATION_CALL" 2 PIN_FLD_VALID_FROM TSTAMP [0] (1154516554) Wed Aug 2 04:02:34 2006 2 PIN_FLD_VALID_TO TSTAMP [0] (1185993000) Wed Aug 1 11:30:00 2007 2 PIN_FLD_VALUE STR [0] "600" 1 PIN_FLD_DATA_ARRAY ARRAY [4] allocated 20, used 4 2 PIN_FLD_NAME STR [0] "" 2 PIN_FLD_VALID_FROM TSTAMP [0] (0) <null> 2 PIN_FLD_VALID_TO TSTAMP [0] (0) <null> 2 PIN_FLD_VALUE STR [0] "" 1 PIN_FLD_EXTRATING SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_LABEL STR [0] "" 0 PIN_FLD_INTERMEDIATE_ASO_LIST SUBSTRUCT [0] allocated 0, used 0 0 PIN_FLD_DROPPED_CALL_INFO SUBSTRUCT [0] allocated 24, used 24 1 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm 136769 2 1 PIN_FLD_CREATED_T TSTAMP [0] (1154523667) Wed Aug 2 06:01:07 2006 1 PIN_FLD_MOD_T TSTAMP [0] (1154523687) Wed Aug 2 06:01:27 2006 1 PIN_FLD_READ_ACCESS STR [0] "L" 1 PIN_FLD_WRITE_ACCESS STR [0] "L" 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 116229 0 1 PIN_FLD_ACTIVE_SESSION_ID STR [0] "parag001_13" 1 PIN_FLD_AMOUNT DECIMAL [0] -1 1 PIN_FLD_CALL_TYPE INT [0] 0 1 PIN_FLD_DROPPED_CALL_ASO_POID POID [0] 0.0.0.0 0 0 1 PIN_FLD_DROPPED_CALL_QUANTITY DECIMAL [0] 0 1 PIN_FLD_END_T TSTAMP [0] (1154606700) Thu Aug 3 05:05:00 2006 1 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 1169 8 1 PIN_FLD_SESSION_ID INT [0] 0 1 PIN_FLD_SESSION_OBJ POID [0] 0.0.0.1 /event/session/telco/gsm 28992567 0 1 PIN_FLD_SESSION_TYPE ENUM [0] 0 1 PIN_FLD_START_T TSTAMP [0] (1154606400) Thu Aug 3 05:00:00 2006 1 PIN_FLD_STATUS ENUM [0] 5 1 PIN_FLD_TIMEZONE_ID STR [0] "" 1 PIN_FLD_USAGE_TYPE STR [0] "" 1 PIN_FLD_RESERVATION_LIST ARRAY [0] allocated 20, used 1 2 PIN_FLD_RESERVATION_OBJ POID [0] 0.0.0.1 /reservation/active 138817 0 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 14 2 PIN_FLD_BYTES_DOWNLINK DECIMAL [0] 0 2 PIN_FLD_BYTES_UPLINK DECIMAL [0] 0 2 PIN_FLD_CALLED_TO STR [0] "0049100110" 2 PIN_FLD_CALLING_FROM STR [0] "0049100050" 2 PIN_FLD_DESTINATION_NETWORK STR [0] "" 2 PIN_FLD_NETWORK_SESSION_CORRELATION_ID STR [0] "" 2 PIN_FLD_NETWORK_SESSION_ID STR [0] "parag001_13" 2 PIN_FLD_ORIGIN_NETWORK STR [0] "" 2 PIN_FLD_PRIMARY_MSID STR [0] "" 2 PIN_FLD_SECONDARY_MSID STR [0] "" 2 PIN_FLD_SVC_CODE STR [0] "" 2 PIN_FLD_SVC_TYPE STR [0] "" 2 PIN_FLD_TERMINATE_CAUSE ENUM [0] 4 2 PIN_FLD_USAGE_CLASS STR [0] "" 1 PIN_FLD_GSM_INFO SUBSTRUCT [0] allocated 20, used 14 2 PIN_FLD_BYTES_IN INT [0] 0 2 PIN_FLD_BYTES_OUT INT [0] 0 2 PIN_FLD_CALLED_NUM_MODIF_MARK ENUM [0] 0 2 PIN_FLD_CELL_ID STR [0] "" 2 PIN_FLD_DESTINATION_SID STR [0] "" 2 PIN_FLD_DIALED_NUMBER STR [0] "" 2 PIN_FLD_DIRECTION ENUM [0] 0 2 PIN_FLD_IMEI STR [0] "" 2 PIN_FLD_LOC_AREA_CODE STR [0] "" 2 PIN_FLD_NUMBER_OF_UNITS INT [0] 0 2 PIN_FLD_ORIGIN_SID STR [0] "" 2 PIN_FLD_QOS_NEGOTIATED ENUM [0] 0 2 PIN_FLD_QOS_REQUESTED ENUM [0] 0 2 PIN_FLD_SUB_TRANS_ID STR [0] ""
Example 1-273 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /active_session/telco/gsm -1 0 0 PIN_FLD_RESULT ENUM [0] 0
The opcode returns PIN_FLD_RESULT set to one of the following to indicate whether the current call matches the criteria for a continuation call:
0 specifies this is not a continuation call.
1 specifies this is a continuation call.
2 specifies this is not a continuation call because the maximum time duration or maximum number of intermediate calls between a dropped call and a continuation call was exceeded.
Important:
The source code for this policy opcode is not shipped with BRM. To modify how BRM finds continuation calls, you must create a custom policy opcode. See the discussion on providing in-session notifications in BRM Telco Integration.The following opcodes call the PCM_OP_TCF_AAA_POL_POST_PROCESS policy opcode as the last step in their process:
PCM_OP_TCF_AAA_AUTHORIZE
PCM_OP_TCF_AAA_REAUTHORIZE
PCM_OP_TCF_AAA_STOP_ACCOUNTING
PCM_OP_TCF_AAA_UPDATE_AND_REAUTHORIZE
The PCM_OP_TCF_AAA_POL_POST_PROCESS opcode calls PCM_OP_CUST_GET_SUBSCRIBER_PREFERENCES to retrieve the preferences for the subscriber associated with the authorization or reauthorization request.
The PCM_OP_TCF_AAA_POL_POST_PROCESS opcode places the subscriber's preference for language and channel of communication for notifications in a PIN_FLD_PIGGYBACK_NOTIFICATIONS array in its output flist. Additionally, it uses the data from the calling opcode in its input flist to set up notifications about the subscriber's current balances, credit thresholds breached, streaming usage summaries, subscription expirations, and impending tariff change indications in instances of the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of its output flist.
See the discussion on providing in-session notifications in BRM Telco Integration.
By default, does the following during authorization of a telco service request:
Does one of the following:
If the REQ_ALLOWED rule validation performed by the calling opcode passed, allows or rejects mobile-originated (MO) and mobile-terminated (MT) calls based on the MO_ENABLED and MT_ENABLED rules in the /config/lifecycle_states object associated with the service type.
If the REQ_ALLOWED rule validation performed by the calling opcode failed, goes to the next step.
Applies any custom business rules configured in this policy opcode for the current service state.
Returns the final results of the validation:
PIN_BOOLEAN_TRUE (validation succeeded)
PIN_BOOLEAN_FALSE (validation failed)
PIN_TCF_AAA_TRANSITION_REQUIRED plus the state to change to (PIN_FLD_NEXT_STATE)
PIN_TCF_AAA_VALIDATION_NOT_REQUIRED (custom service life cycles are not enabled)
This policy opcode is called by the PCM_OP_TCF_AAA_VALIDATE_LIFECYCLE helper opcode, whose preliminary validation results it can override.
See the discussion on managing service life cycles in BRM Managing Customers.
The opcodes listed in Table 1-79 process AAA requests for any prepaid service type.
For more information about prepaid AAA, see the discussion on processing AAA requests for prepaid services in BRM Telco Integration.
Include the ops/tcf_aaa.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
All opcodes check if ebuf is set before performing each step. If the ebuf is set, processing stops and the ebuf exception is passed to the caller.
Services Framework AAA Manager standard opcodes can call helper opcodes during any of these stages in the opcode's execution:
PREP_INPUT
SEARCH_SESSION
VALIDATE_LIFECYCLE
ACC_ON_OFF_SEARCH
TAG_SESSION
POST_PROCESS
Services Framework AAA opcodes call helper opcodes at these stages if you configure them to do so with the load_aaa_config_opcodemap_tcf utility.
See the discussion on configuring Services Framework to call helper opcodes in BRM Telco Integration.
Table 1-79 Services Framework AAA Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Performs accounting for activity-based usage. See the discussion on rating and recording activity events in BRM Telco Integration. |
Recommended |
|
Closes all open sessions when the network is being shut down or encounters a problem. See the discussion on closing prepaid sessions when the external network shuts down in BRM Telco Integration. |
Recommended |
|
Closes all open sessions when the network restarts. See the discussion on closing prepaid sessions when the external network restarts in BRM Telco Integration. |
Recommended |
|
Authenticates users for prepaid services. See the discussion on authenticating users for custom services in BRM Telco Integration. |
Recommended |
|
Authorizes users to access prepaid services. See the discussion on authorizing prepaid services in BRM Telco Integration. |
Recommended |
|
Cancels an authorization and releases any reserved resources. See the discussion on canceling authorization for prepaid services in BRM Telco Integration. |
Recommended |
|
Returns the static information or dynamic information (or both) for all the services associated with the service. See the discussion on the PCM_OP_TCF_AAA_GET_SUBSCRIBER_PROFILE opcode in BRM Setting Up Pricing and Rating. |
Recommended |
|
Provides account balance information. |
Recommended |
|
Reauthorizes prepaid sessions. See the discussion on reauthorizing prepaid sessions in BRM Telco Integration. |
Recommended |
|
Refunds charges for prepaid sessions. See the discussion on refunding charges for prepaid sessions in BRM Telco Integration. |
Recommended |
|
Provides service cost information. |
Recommended |
|
Starts accounting sessions. See the discussion on starting prepaid sessions in BRM Telco Integration. |
Recommended |
|
Stops accounting sessions. See the discussion on ending prepaid sessions in BRM Telco Integration. |
Recommended |
|
Updates information about an active prepaid session. See the discussion on updating a prepaid session in BRM Telco Integration. |
Recommended |
|
Reauthorizes prepaid sessions and updates the active session. See the discussion on updating and reauthorizing prepaid sessions in BRM Telco Integration. |
Recommended |
Performs accounting for activity-based usage.
See the discussion on rating and recording activity events in BRM Telco Integration.
Closes any open sessions for a specified service type when the external network shuts down or encounters a severe problem.
See the discussion on closing prepaid sessions when the external network shuts down in BRM Telco Integration.
Closes any open sessions for a specified service type when the external network restarts.
See the discussion on closing prepaid sessions when the external network restarts in BRM Telco Integration.
Authenticates users for prepaid services.
See the discussion on authenticating users for custom services in BRM Telco Integration.
Authorizes customers to access prepaid services.
See the discussion on authorizing prepaid services in BRM Telco Integration.
If you enabled in-session notifications, this opcode also returns the following:
Details on the call denial
Notifications about the subscriber's current balances, credit thresholds breached, streaming usage summaries, subscription expiration, impending tariff change indication, and the subscriber's preferences for receiving such notifications in instances of the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of its output flist
See the discussion on providing in-session notifications for network connectivity applications in BRM Telco Integration.
Cancels an authorization and returns reserved resources back to the customer's account balance.
See the discussion on canceling authorization for prepaid services in BRM Telco Integration.
Returns the static information or dynamic information (or both) for all the services associated with the account.
If the service POID is not passed in the input flist, this opcode calls the PCM_OP_ACT_FIND opcode to get all the services associated with the subscriber's mobile station ID (MSID) passed in the input flist.
See the discussion on the PCM_OP_TCF_AAA_GET_SUBSCRIBER_PROFILE opcode in BRM Setting Up Pricing and Rating.
Provides the account balance information.
See the discussion on requesting an account's balance information in BRM Telco Integration.
Reauthorizes prepaid sessions, so customers can continue an existing session.
See the discussion on reauthorizing prepaid sessions in BRM Telco Integration.
If you enabled in-session notifications, this opcode also returns the following:
Details on the call denial
Notifications about the subscriber's current balances, credit thresholds breached, streaming usage summaries, subscription expiration, impending tariff change indication, and the subscriber's preferences for receiving such notifications in instances of the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of the output flist
See the discussion on providing in-session notifications for network connectivity applications in BRM Telco Integration.
Refunds charges for prepaid sessions.
See the discussion on refunding charges for prepaid sessions in BRM Telco Integration.
Provides the cost information for a specific service.
See the discussion on requesting service price information in BRM Telco Integration.
Starts accounting sessions for a specified prepaid service type.
See the discussion on starting prepaid sessions in BRM Telco Integration.
Ends prepaid accounting sessions.
See the discussion on ending prepaid sessions in BRM Telco Integration.
If you enabled in-session notifications, this opcode also returns the following:
Details on the call denial
Notifications about the subscriber's current balances, credit thresholds breached, streaming usage summaries, subscription expiration, impending tariff change indication, and the subscriber's preferences for receiving such notifications in instances of the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of the output flist
See the discussion on providing in-session notifications for network connectivity applications in BRM Telco Integration.
Updates information about an existing prepaid session.
See the discussion on updating a prepaid session in BRM Telco Integration.
Updates information about an existing prepaid session and then reauthorizes the session.
See the discussion on updating and reauthorizing prepaid sessions in BRM Telco Integration.
If you enabled in-session notifications, this opcode also returns the following:
Details on the call denial
Notifications about the subscriber's current balances, credit thresholds breached, streaming usage summaries, subscription expiration, impending tariff change indication, and the subscriber's preferences for receiving such notifications in instances of the PIN_FLD_PIGGYBACK_NOTIFICATIONS array of the output flist
See the discussion on providing in-session notifications for network connectivity applications in BRM Telco Integration.
The opcodes in Table 1-80 process AAA requests for any prepaid service type.
Include the ops/tcf.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Takes as input the configuration object flist, the service flist, and the inherited information flist and then updates the service flist.
This opcode is called by the PCM_OP_TCF_APPLY_PARAMETER standard opcode.
If you added a substruct to a customized service, you can use this opcode to fill in the substruct fields. These fields will be updated in the database.
For example, a GSM service (/service/telco/gsm) could include a field for the bearer in the configuration object (/config/telco) in the service extensions array PIN_FLD_SERVICE_EXTENSIONS. You could use this opcode to add the bearer information through the service extension to update the service flist.
Performs custom actions to a provisioning service order before it is passed to dm_prov_telco.
This opcode is called by the PCM_OP_TCF_PROV_HANDLE_SVC_ORDER standard opcode.
By default, this policy opcode does nothing, but you can customize it to override the provisioning mode and modify service order event details.
See the discussion on customizing the provisioning mode based on service order attributes in BRM Telco Integration.
The opcodes listed in Table 1-81 perform provisioning functions.
Include the ops/tcf.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-81 Services Framework Manager FM Provisioning Opcodes
Opcode | Description | Use |
---|---|---|
Updates the objects impacted by the product provisioning update. |
Recommended |
|
Determines whether the product provisioning update is deferred for the future. |
Recommended |
|
Propagates the service status change to associated features and ERAs. |
Recommended |
|
Creates service orders for provisioning prepaid services, devices, and profiles. |
Recommended |
|
Prepares provisioning event data for publishing to the provisioning DM and initiates status change to PROVISIONING. |
Recommended |
|
Updates the status of the /service/device object upon receiving the response from the provisioning platform. |
Recommended |
|
Updates the /event/provisioning/service_order/telco object with the provisioning response specified in the opcode input flist. |
Recommended |
|
Handles service order state changes. |
Recommended |
|
Updates a service order object. |
Recommended |
|
Sets the state for service order objects and validates the service order state transition using information stored in the configuration object. |
Recommended |
This opcode updates the objects impacted by the product provisioning update. This opcode is called either by PCM_OP_TCF_SVC_LISTENER or by the schedule framework.
See the discussion on associating APNs and QoS with GPRS services in BRM Telco Integration.
This opcode checks the action's start and end date and performs one of the following:
If it is a current action, the opcode calls PCM_OP_TCF_APPLY_PARAMETER.
If the action is deferred for the future, the opcode creates a /schedule object for executing the PCM_OP_TCF_APPLY_PARAMETER at the scheduled time.
This opcode is called by the event notification system.
See the discussion on associating APNs and QoS with GPRS services in BRM Telco Integration.
When the service status changes to inactive, active, or closed, the opcode propagates the status to any associated features and extended rating attributes (ERAs). When the status changes to closed, the opcode also disassociates any existing devices from the service.
This opcode is called by the event notification system when a service changes status.
This opcode creates service orders for provisioning prepaid services, devices, and profiles.
Prepares provisioning event data for publishing to the provisioning DM and initiates status change to PROVISIONING.
Updates the status of the /service/device object upon receiving the response from the provisioning platform.
Use the opcodes in Table 1-82 to customize SIM Manager.
Include the ops/sim.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-82 SIM Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Associates a device with a service disassociates a service from the device. See the discussion on customizing SIM card service association in BRM Telco Integration. |
Recommended |
|
During device creation, validates the SIM card number, IMSI, KI, and network element values. Also checks for duplicate SIM cards. See the discussion on customizing SIM card validation in BRM Telco Integration. |
Recommended |
|
During device update, ensures that the SIM card number (PIN_FLD_DEVICE_ID) cannot be changed. See the discussion on customizing SIM card number changes in BRM Telco Integration. |
Recommended |
|
When changing a SIM card brand, validates that the device state is Released. See the discussion on managing SIM cards in a branded system in BRM Telco Integration. |
Recommended |
|
When you create a SIM order, validates the SIM order attributes. |
Recommended |
Associates and disassociates a service with a device. You can customize this opcode to change how SIM cards and services are associated.
This opcode is called by the PCM_OP_DEVICE_POL_ASSOCIATE policy opcode.
See the discussion on customizing SIM card service association in BRM Telco Integration.
This opcode validates a device by validating the SIM card number, IMSI, KI, and network element values. You can customize this opcode to change validation rules for creating SIM card devices.
This opcode is called by the PCM_OP_DEVICE_POL_CREATE policy opcode.
See the discussion on customizing SIM card validation in BRM Telco Integration.
Ensures that the SIM card number (PIN_FLD_DEVICE_ID) cannot be changed. You can customize this opcode to change how SIM cards are associated with services.
This opcode is called by the PCM_OP_DEVICE_POL_SET_ATTR policy opcode when updating a SIM card device.
See the discussion on customizing SIM card number changes in BRM Telco Integration.
When changing the SIM card brand, validates that the SIM card device state is Released. You can customize this opcode to change how SIM cards can be associated with brands.
This opcode is called by the PCM_OP_DEVICE_POL_SET_BRAND policy opcode.
See the discussion on managing SIM cards in a branded system in BRM Telco Integration.
The opcodes listed in Table 1-83 are used to create and manage SIM card objects in the BRM database.
Include the ops/sim.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-83 SIM Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Creates a SIM card order object in the BRM database. See the discussion on creating and updating SIM card orders in BRM Telco Integration. |
Recommended |
|
Moves the device state from New to Provisioning, associates a service, and disassociates the pre-provisioning service. See the discussion on provisioning SIM cards in BRM Telco Integration. |
Recommended |
|
Processes a vendor response file. See the discussion on creating SIM Cards in BRM Telco Integration. |
Recommended |
|
Updates an existing order object. See the discussion on creating and updating SIM card orders in BRM Telco Integration. |
Recommended |
Creates a SIM card order object (/order/sim).
Checks for duplicate SIM card and IMSI numbers. If no error is found, creates a SIM card order object and sets the order status to New.
See the discussion on creating and updating SIM card orders in BRM Telco Integration.
Associates a SIM card with a service, and disassociates the pre-provisioning service.
See the discussion on provisioning SIM cards in BRM Telco Integration.
Processes a vendor response file.
The vendor response file includes a list of SIM cards that you load into the BRM database by using SIM Administration Center.
See the discussion on creating SIM Cards in BRM Telco Integration.
Updates an existing SIM card order object (/order/sim).
This opcode is called when a customer updates the order, or when the order status needs to be changed, for example, after processing a vendor response file. This opcode is also called when an order is canceled.
See the discussion on creating and updating SIM card orders in BRM Telco Integration.
Use the opcodes listed in Table 1-84 to customize subscription services.
Various Subscription Management FM opcodes are defined in Header files. Include these Header files in all applications that call these opcodes:
ops/subscription.h
ops/bill.h
See the header file for a list of the Subscription Management FM opcodes defined in that file.
See the discussion on header files in BRM Developer's Guide.
Table 1-84 Subscription Management FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Adds sharing groups to ordered balance groups. By default, this policy opcode creates or modifies ordered balance groups for profile sharing group members (accounts or services) when the profile sharing group is created or modified. See the discussion on working with profile sharing groups in BRM Managing Customers. |
Recommended |
|
Creates an ordered balance group for a new service purchased by an existing account, if that service automatically belongs to a sharing group. By default, this policy opcode creates an ordered balance group for a service that is a member of a profile sharing group. See the discussion on working with profile sharing groups in BRM Managing Customers. |
Recommended |
|
Clears fields in a /service object at cancellation time, if you customize the opcode. See the discussion on customizing provisioning when canceling a product in BRM Managing Customers. |
Limited |
|
Defines, for each event category, the event fields that the Event Extraction Manager passes to the event extract output file. See the discussion on customizing how to extract events for rerating in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows you to customize how subscriptions are counted when exclusion rules apply for discounts based on the number of subscriptions. See the discussion on discounts based on number of subscriptions in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Handles rerating events for BRM's default automatic rerating scenarios. Allows you to customize automatic rerating or handle your own automatic rerating scenarios. |
Recommended |
|
Retrieves data for provisioning from the provisioning_tags array of a service-specific configuration object and from the /config/provisioning_tag object. See the discussion on getting a list of provisioning tags in BRM Managing Customers. |
Limited |
|
Returns a list of all /sponsorship objects. See the discussion on getting a list of charges available for charge sharing in BRM Managing Accounts Receivable. |
Recommended |
|
Allows you to customize how the aggregation counters are updated for discounts based on monthly fees and usage. See the discussion on discounts based on monthly fees and usage in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Allows customization before folds are applied. See the discussion on applying folds in BRM Setting Up Pricing and Rating. |
Limited |
|
Prepares the list of resources to be folded after a product cancellation. See the discussion on customizing which resources to fold when products are canceled in BRM Setting Up Pricing and Rating. |
Recommended |
|
Validates the members of a monitor group or profile sharing group. See the discussions on validating the members of a balance monitor group in BRM Managing Accounts Receivable and validating profile sharing group members in BRM Managing Customers. |
Recommended |
|
Allows customized validation based on account data during deal-to-deal transition. See the discussion on customizing deal transitions in BRM Managing Customers. |
Recommended |
|
Allows customized validation based on account data during plan-to-plan transition. See the discussion on customizing deal transitions in BRM Managing Customers. |
Recommended |
|
Sets fields in a /service object when a product is purchased, if the opcode is customized. See the discussion on customizing provisioning when a product is purchased in BRM Managing Customers. |
Limited |
|
Allows you to customize the distribution of discounts for snowball discounting. See the discussion on customizing snowball discounts in BRM Managing Customers. |
Recommended |
|
Allows you to specify if a product is canceled or deleted. See the discussion on customizing product cancellation in BRM Managing Customers. |
Recommended |
|
Allows you to specify if a discount is canceled or deleted. See the discussion on customizing discount cancellation in BRM Managing Customers. |
Recommended |
|
Allows you to customize the time interval for applying cycle forward or arrears fees. See the discussion on customizing the cycle interval for products in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows you to specify the order in which to fold resources in a balance group. See the discussion on customizing the order to apply folds in BRM Setting Up Pricing and Rating. |
Recommended |
|
Allows you to define custom searches for selecting specific events from the accounts selected for rerating. See the discussion on customizing event searches for selective rerating in BRM Configuring and Running Billing. |
Recommended |
|
Allows you to customize how days are counted for discounts based on the number of contract days. See the discussion on discounts based on the number of contract days in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
Adds sharing groups to ordered balance groups. By default, this policy opcode creates or modifies ordered balance groups for profile sharing group members (accounts or services) when the profile sharing group is created or modified.
This policy opcode is triggered when a profile sharing group is created or modified. This opcode calls PCM_OP_SUBSCRIPTION_ORDERED_BALGRP_BULK_MODIFY to create or modify ordered balance groups.
You can customize this policy opcode to use it with other types of sharing groups or to use it with only certain profile sharing groups.
Note:
This policy opcode is listed in the pin_notify file for these events:/event/group/sharing/profiles/create
/event/group/sharing/profiles/modify
When merging event notification files, this policy opcode should be listed after the account synchronization publish opcode, PCM_OP_PUBLISH_GEN_PAYLOAD. See the discussion on merging event notification lists in BRM Developer's Guide.
This opcode is not called by any opcode.
See the discussion on working with profile sharing groups in BRM Managing Customers.
Creates an ordered balance group for a new service purchased by an existing account, if that service automatically belongs to a sharing group. By default, this policy opcode creates an ordered balance group for a service that is a member of a profile sharing group.
A newly purchased service belongs to a profile sharing group if its service type already belongs to a profile sharing group and the group is defined to include services added in the future.
This policy opcode is triggered when a new service is added to an existing account.
You can customize this policy opcode to use it with other types of sharing groups or to use it with only certain profile sharing groups.
Note:
This policy opcode is listed in the pin_notify file for /event/notification/service/create.When merging event notification files, this policy opcode should be listed after the PCM_OP_TCF_PROV_CREATE_SVC_ORDER opcode. See the discussion on merging event notification lists in BRM Developer's Guide.
This opcode is not called by any opcode.
See the discussion on working with profile sharing groups in BRM Managing Customers.
Important:
Do not call this policy opcode directly.Clears fields in a /service object at cancellation time, if you customize the opcode.
This opcode is called by the PCM_OP_SUBSCRIPTION_CANCEL_PRODUCT standard opcode when a product is canceled.
See the discussion on customizing provisioning when canceling a product in BRM Managing Customers.
Note:
The BRM provisioning tag framework is the preferred method of customizing provisioning when a product is canceled. See the discussion on using the provisioning tag framework in BRM Setting Up Pricing and Rating.Defines, for each event category, the event fields that the Event Extraction Manager passes to the event extract output file. The default implementation defines the event field to output file mapping for GSM and GPRS event categories only.
If balance monitoring is enabled, this opcode adds the monitor impacts from the event to the output of the Event Extraction Manager.
This opcode is not called by any opcode.
See the discussion on customizing how to extract events for rerating in BRM Setting Up Pricing and Rating.
Allows you to customize how subscriptions (lines) are counted when exclusion rules apply for discounts based on the number of subscriptions.
Note:
By default, this policy opcode is provided as a binary (library) file so you can write, build, and install your own policy implementations. To use this opcode, you must replace it rather than edit an existing source code file.You can use this opcode to change the way subscriptions are counted, such as changing the count value to a value other than 1. For example, if the count value is set to 2, whenever a subscription is added, the line counter resource balance is incremented by 2 instead of 1.
This opcode is called by the PCM_OP_SUBSCRIPTION_COUNT_LINES standard opcode.
See the discussion on discounts based on number of subscriptions in BRM Configuring Pipeline Rating and Discounting.
Handles rerating events for BRM's default automatic rerating scenarios. Allows you to customize automatic rerating or handle your own automatic rerating scenarios.
This opcode takes as input the event type and the rerate reason code associated with the event. It analyzes the event to determine if rerating is required. If rerating is required, it sets the rerate reason code to 0 and calls PCM_OP_RERATE_INSERT_RERATE_REQUEST with the appropriate rerating criteria to create a rerate job.
This opcode is called by event notification.
This policy opcode only handles rerating events for BRM's default automatic rerating scenarios. If you do not want to rerate events for those scenarios or only want to rerate events for a few of them, you can customize this policy opcode to achieve those results.
This policy opcode also provides a hook for you to analyze any event-notification events you have configured (for trigger-dependent rerating) and determine if a rerate job needs to be created for those events.
This opcode is not called by any opcode.
Important:
Do not call this policy opcode directly.Retrieves data for provisioning from the provisioning_tags array of a service-specific configuration object and from the /config/provisioning_tag object.
This opcode is called by the PCM_OP_SUBSCRIPTION_CANCEL_PRODUCT standard opcode when a product is canceled.
For more information on retrieving provisioning information, see the discussion on getting a list of provisioning tags in BRM Managing Customers.
Returns a list of all /sponsorship objects.
This opcode is not called by any opcode.
See the discussion on getting a list of charges available for charge sharing in BRM Managing Accounts Receivable.
Allows you to customize how the aggregation balance is updated for discounts based on monthly fees and usage.
Note:
By default, this opcode is provided as a binary (library) file so you can write, build, and install your own policy implementations. To use this opcode, you must replace it rather than edit an existing source code file.This opcode is called by the PCM_OP_SUBSCRIPTION_NOTIFY_AGGREGATION standard opcode.
See the discussion on discounts based on monthly fees and usage in BRM Configuring Pipeline Rating and Discounting.
Allows customization before folds are applied.
By default, this policy opcode is an empty hook provided to facilitate any customization prior to the folding currency or noncurrency resources. For example, when billing is run, this policy opcode is called to verify that the pin_cycle_fees have been charged to an account.
This opcode is called by the PCM_OP_SUBSCRIPTION_CANCEL_PRODUCT and PCM_OP_BILL_MAKE_BILL standard opcodes.
See the discussion on applying folds in BRM Setting Up Pricing and Rating.
Prepares the list of resources that have to be folded when a product is cancelled.
This opcode is called by the PCM_OP_SUBSCRIPTION_CYCLE_FORWARD and PCM_OP_SUBSCRIPTION_CYCLE_ARREARS standard opcodes.
See the discussion on customizing which resources to fold when products are canceled in BRM Setting Up Pricing and Rating.
Validates the members of a monitor group or profile sharing group. For profile sharing groups, this policy opcode has no default validation rules, but rules can be implemented by customizing it.
This policy opcode takes as input the list of potential members and returns only those members that pass validation.
This opcode is called by the PCM_OP_SUBSCRIPTION_SHARING_GROUP_CREATE and PCM_OP_SUBSCRIPTION_SHARING_GROUP_MODIFY standard opcodes.
See the following discussions:
Validating the members of a balance monitor group in BRM Managing Accounts Receivable
Validating profile sharing group members in BRM Managing Customers
Example 1-284 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 59967 10 0 PIN_FLD_GROUP_OBJ POID [0] 0.0.0.1 /group/sharing/monitor 121 0 PIN_FLD_PARENT POID [0] 0.0.0.1 /account 59967 10 0 PIN_FLD_MEMBERS ARRAY [0] allocated 2, used 2 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 48832 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip/gprs 3974 0
Example 1-285 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 59967 10 0 PIN_FLD_GROUP_OBJ POID [0] 0.0.0.1 /group/sharing/monitor 121 0 PIN_FLD_PARENT POID [0] 0.0.0.1 /account 59967 10 0 PIN_FLD_MEMBERS ARRAY [0] allocated 2, used 2 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 48832 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip/gprs 3974 0
Allows customized validation based on account data during deal-to-deal transition. For example, you may restrict a deal transition to customers from a particular location, or require that customers own the first deal for specific period before allowing the transition to a different deal.
This opcode is called by the PCM_OP_SUBSCRIPTION_TRANSITION_DEAL standard opcode.
See the discussion on customizing deal transitions in BRM Managing Customers.
Allows customized validation based on account data during plan-to-plan transition. For example, you can restrict a plan transition to customers from a particular location, or require that customers own the first plan for specific period before allowing the transition to a different plan.
This opcode is called by the PCM_OP_SUBSCRIPTION_TRANSITION_PLAN standard opcode.
See the discussion on customizing deal transitions in BRM Managing Customers.
Sets fields in a /service object when a product is purchased, if the opcode is customized.
Use PCM_OP_SUBSCRIPTION_POL_PURCHASE_PROD_PROVISIONING to customize product provisioning when a product is purchased. This opcode can be customized to set fields in a /service object.
This opcode is called by the PCM_OP_SUBSCRIPTION_PURCHASE_PRODUCT standard opcode when a product is purchased.
See the discussion on customizing provisioning when a product is purchased in BRM Managing Customers.
Note:
The BRM provisioning tag framework is the preferred method of customizing provisioning when a product is purchased. See the discussion on using the provisioning tag framework in BRM Setting Up Pricing and Rating.Allows you to specify the distribution of group discounts to group members. You can modify this policy opcode code to specify an algorithm for distributing the total group discount grant to the individual group members. For instance, you can specify distribution of the group discount based on group member contribution.
This opcode is not called by any opcode.
See the discussion on customizing snowball discounts in BRM Managing Customers.
Allows you to customize the actions taken for a product cancellation.
This opcode is called by the PCM_OP_SUBSCRIPTION_CANCEL_PRODUCT standard opcode to determine the action to take for a product cancellation. Possible actions are:
To cancel the product and delete the /purchased_product object.
To cancel the product but do not delete the /purchased_product object.
To stop the product cancellation.
See the discussion on customizing product cancellation in BRM Managing Customers.
Allows you to specify whether a discount is canceled or deleted. You can customize this policy opcode to do one of the following actions:
Set the status of the /purchased_discount object to canceled but not delete it.
Delete the /purchased_discount object.
Stop the discount cancellation.
This opcode is called by the PCM_OP_SUBSCRIPTION_CANCEL_DISCOUNT standard opcode.
See the discussion on customizing discount cancellation in BRM Managing Customers.
Allows you to customize the time interval for applying cycle forward and cycle arrears fees for a specified product.
By default, this policy opcode is an empty hook that facilitates customization of the cycle forward and cycle arrears start and end dates for a specific product.
This opcode is called by the PCM_OP_SUBSCRIPTION_APPLY_RATE, PCM_OP_SUBSCRIPTION_CYCLE_FORWARD, and PCM_OP_SUBSCRIPTION_CYCLE_ARREARS standard opcodes.
See the discussion on customizing the cycle interval for products in BRM Setting Up Pricing and Rating.
Allows you to specify the order in which to fold resources in a balance group. For example, you can fold resources in descending order of the resource IDs. By default, resources are folded in ascending order based on the resource ID.
This opcode is called by the PCM_OP_SUBSCRIPTION_CYCLE_FOLD standard opcode.
See the discussion on customizing the order to apply folds in BRM Setting Up Pricing and Rating.
Allows you to define custom searches for rerating events for selected accounts.
This policy opcode is called when the pin_rerate utility is used with -r parameter to indicate selective rerating.
This opcode is called by the PCM_OP_SUBCRIPTION_RERATE_REBILL standard opcode.
See the discussion on customizing event searches for selective rerating in BRM Configuring and Running Billing.
Example 1-286 Sample Input Flist
The following sample input flist shows selective rerating based on event type specified by using the -n option with the pin_rerate utility, on cycle forward monthly events.
0 PIN_FLD_POID POID [0] 0.0.0.1 /search -1 0 0 PIN_FLD_FLAGS INT [0] 256 0 PIN_FLD_ARGS ARRAY [1] allocated 20, used 1 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 12983 0 0 PIN_FLD_ARGS ARRAY [2] allocated 20, used 1 1 PIN_FLD_END_T TSTAMP [0] (1041408000) Wed Jan 01 00:00:00 2003 0 PIN_FLD_ARGS ARRAY [3] allocated 20, used 1 1 PIN_FLD_CREATED_T TSTAMP [0] (0) <null> 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 10 1 PIN_FLD_POID POID [0] NULL poid pointer 1 PIN_FLD_CREATED_T TSTAMP [0] (0) <null> 1 PIN_FLD_EFFECTIVE_T TSTAMP [0] (0) <null> 1 PIN_FLD_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_SERVICE_OBJ POID [0] NULL poid pointer 1 PIN_FLD_ACCOUNT_OBJ POID [0] NULL poid pointer 1 PIN_FLD_UNRATED_QUANTITY DECIMAL [0] NULL pin_decimal_t ptr 1 PIN_FLD_RERATE_OBJ POID [0] NULL poid pointer 1 PIN_FLD_BAL_IMPACTS ARRAY [*] NULL array ptr 1 PIN_FLD_SUB_BAL_IMPACTS ARRAY [*] NULL array ptr 0 PIN_FLD_ARGS ARRAY [4] allocated 20, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_forward monthly -1 0 0 PIN_FLD TEMPLATE STR [0] "select X from /event where F1 = V1 and F2 >=V2 and ( F4 = V4 ) orde by F2 asc, F3 asc " 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 12983 0
Allows you to customize the criteria for updating the contract days counter for discounts based on the number of contract days. For example, you can have updates take effect in the next billing cycle.
Note:
By default, this opcode is provided as a binary (library) file so you can write, build, and install your own policy implementations. To use this opcode, you must replace it rather than edit an existing source code file.This opcode is called by the PCM_OP_SUBSCRIPTION_UPDATE_CDC standard opcode.
See the discussion on discounts based on the number of contract days in BRM Configuring Pipeline Rating and Discounting.
Example 1-287 Sample Input Flist
The following example input flists show the different kinds of input that can be sent to this opcode, depending on the type of event.
This example shows the input from a change in the status of a subscription service.
0 PIN_FLD_POID POID [0] 0.0.0.1 /event/customer/status -1 0 0 PIN_FLD_NAME STR [0] "Customer Mngmt. Event Log" 0 PIN_FLD_USERID POID [0] 0.0.0.1 /service/admin_client 2 179 0 PIN_FLD_SESSION_OBJ POID [0] 0.0.0.1 /event/session 220553236438860771 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 20451 0 0 PIN_FLD_PROGRAM_NAME STR [0] "Automatic Account Creation" 0 PIN_FLD_START_T TSTAMP [0] (1084073173) Sun May 9 08:56:13 2004 0 PIN_FLD_END_T TSTAMP [0] (1084073173) Sun May 9 08:56:13 2004 0 PIN_FLD_SYS_DESCR STR [0] "Set Status (acct)" 0 PIN_FLD_STATUSES ARRAY [0] allocated 20, used 3 1 PIN_FLD_STATUS ENUM [0] 0 1 PIN_FLD_STATUS_FLAGS INT [0] 0 1 PIN_FLD_CLOSE_WHEN_T TSTAMP [0] (1083209265) Thu Apr 29 08:57:45 2004 0 PIN_FLD_STATUSES ARRAY [1] allocated 20, used 3 1 PIN_FLD_STATUS ENUM [0] 10100 1 PIN_FLD_STATUS_FLAGS INT [0] 0 1 PIN_FLD_CLOSE_WHEN_T TSTAMP [0] (0) <null> 0 PIN_FLD_EARNED_START_T TSTAMP [0] (0) <null> 0 PIN_FLD_EARNED_END_T TSTAMP [0] (0) <null> 0 PIN_FLD_EARNED_TYPE INT [0] 0 0 PIN_FLD_EFFECTIVE_T TSTAMP [0] (0) <null>
The following input flist is generated when billing starts for the /billinfo object that is associated with the subscription service.
0 PIN_FLD_POID POID [0] 0.0.0.0 /event/notification/billing/start -1 0 0 PIN_FLD_NAME STR [0] "bracket event created" 0 PIN_FLD_USERID POID [0] 0.0.0.1 /service/pcm_client 1 1 0 PIN_FLD_SESSION_OBJ POID [0] 0.0.0.1 /event/session 220553236438860715 0 0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 16251 0 0 PIN_FLD_PROGRAM_NAME STR [0] "pin_bill_accts" 0 PIN_FLD_START_T TSTAMP [0] (1101148200) Tue Nov 23 00:00:00 2004 0 PIN_FLD_END_T TSTAMP [0] (1103740200) Thu Dec 23 00:00:00 2004 0 PIN_FLD_SYS_DESCR STR [0] "bracket event created" 0 PIN_FLD_POID POID [0] 0.0.0.1 /account 12177 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /service/email 8785 -1 1 PIN_FLD_LOGIN STR [0] "ac1" 1 PIN_FLD_PASSWD_CLEAR STR [0] "password" 1 PIN_FLD_INHERITED_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_SERVICE_EMAIL SUBSTRUCT [0] allocated 20, used 1 3 PIN_FLD_PATH STR [0] "/tmp"
The opcodes in Table 1-85 are used to manage subscription services.
Various Subscription Management FM opcodes are defined in Header files. Include these Header files in all applications that call these opcodes:
ops/subscription.h
ops/bill.h
ops/cust.h
See the header file for a list of the Subscription Management FM opcodes defined in that file.
See the discussion on header files in BRM Developer's Guide.
Table 1-85 Subscription Management FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Calculates the best price for an account for a billing cycle. See the discussion on calculating the best price by using the best pricing opcode in BRM Configuring and Running Billing. |
Recommended |
|
Cancels all products and discounts owned by a deal. See the discussion on canceling deals in BRM Managing Customers. |
Recommended |
|
Cancels a discount bundled in a deal. See the discussion on canceling discounts in BRM Managing Customers. |
Recommended |
|
Cancels a product owned by an account or service storable class. See the discussion on canceling products in BRM Managing Customers. |
Recommended |
|
Cancels a subscription service. See the discussion on canceling a subscription service in BRM Managing Customers. |
Recommended |
|
Changes the subscription products associated with an account. See the discussion on how deals are modified in BRM Managing Customers. |
Recommended |
|
Validates product option changes. See the discussion on validating changes to deals in BRM Managing Customers. |
Recommended |
|
Counts the number of active subscriptions when exclusion rules apply for discounts based on number of subscriptions. See the discussion on discounts based on number of subscriptions in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Applies cycle arrears charges to an account. See the discussion on applying cycle arrears fees in BRM Setting Up Pricing and Rating. |
Last Resort |
|
Applies cycle fold events for an account. See the discussion on applying folds in BRM Setting Up Pricing and Rating. |
Last Resort |
|
Applies cycle forward charges or refunds to an account. See the discussion on applying cycle forward fees in BRM Setting Up Pricing and Rating. |
Last Resort |
|
Retrieves event history for an account's deals, products, and services. See the discussion on finding events associated with deals, products, discounts, and services in BRM Managing Customers. |
Recommended |
|
Reads the purchased products and discounts filtered under the scope of an account, billinfo or a service passed in the input. See the discussion on reading data for all valid purchased products and discounts in BRM Managing Customers. |
Recommended |
|
Creates, modifies, or deletes the ordered balance group for an account or service that is part of a resource, profile, or monitor sharing group. See the discussions on managing ordered balance groups in BRM Managing Accounts Receivable, adding a profile group to a member's ordered balance group in BRM Managing Customers, or adding a monitor group to a member's ordered_balgrp object in BRM Managing Accounts Receivable. |
Recommended |
|
Creates one or more ordered balance groups for an account or service and modifies the priority of the resource sharing groups included in each ordered balance group. See the discussion on managing ordered balance groups in BRM Managing Accounts Receivable. |
Recommended |
|
Creates the rate change object. See the discussion on tracking rate changes for rerating in BRM Configuring and Running Billing. |
Recommended |
|
Creates, modifies, or deletes /profile objects as part of a provisioning tag. See the discussion on configuring provisioning tags in BRM Setting Up Pricing and Rating. |
Recommended |
|
Purchases the products and discounts in a deal for the account or service object specified in the input flist. See the discussion on how deals are purchased in BRM Managing Customers. |
Recommended |
|
Allows purchase of discount instances bundled in a deal. See the discussion on purchasing discounts in BRM Managing Customers. |
Limited |
|
Applies deferred purchase fees to a product. See the discussion on applying deferred product purchase fees in BRM Managing Customers. |
Recommended |
|
Purchases a product for an account or service. See the discussion on how products are purchased in BRM Managing Customers. |
Limited |
|
Creates rerating requests when there is a rate change in a cycle. See the discussion on rerating cycle fees in BRM Configuring and Running Billing. |
Recommended |
|
Retrieves hierarchical relationships of deals, products, discounts, and services for each account. See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers. |
Recommended |
|
For each account, rerates the events, which have been identified by pin_rerate, from a specified start date. See the discussion on how comprehensive rerating works in BRM Configuring and Running Billing. |
Recommended |
|
Transfers services from one balance group to another. See the discussion on transferring services between balance groups by using custom client applications in BRM Managing Accounts Receivable. |
Recommended |
|
Creates, modifies, and deletes /purchased_bundle objects. See the discussion on adding Siebel CRM promotion names to invoices in BRM Configuring and Running Billing. |
Recommended |
|
Modifies the cycle information about a discount in a deal. See the discussion on modifying discount attributes in BRM Managing Customers. |
Recommended |
|
Changes the status of a discount in a deal. See the discussion on how BRM changes discount status in BRM Managing Customers. |
Recommended |
|
Customizes existing product information for a specific account. See the discussion on how products are modified in BRM Managing Customers. |
Recommended |
|
Sets product status and status flags. See the discussion on how BRM changes product status in BRM Managing Customers. |
Recommended |
|
Creates a discount sharing group, charge sharing group, profile sharing group, or monitor sharing group. See the discussion on creating resource sharing groups in BRM Managing Accounts Receivable, creating/ profile sharing/ groups in BRM Managing Customers, or creating, modifying, or deleting/ group/ sharing/ monitor objects in BRM Managing Accounts Receivable. |
Recommended |
|
Deletes a discount sharing group, charge sharing group, profile sharing group, or monitor sharing group. See the discussion on deleting resource sharing groups in BRM Managing Accounts Receivable, deleting profile sharing groups in BRM Managing Accounts Receivable, or creating, modifying, or deleting /group/sharing/monitor objects in BRM Managing Accounts Receivable. |
Recommended |
|
Modifies a discount sharing group, charge sharing group, profile sharing group, or monitor sharing group. See the discussion son modifying resource sharing groups in BRM Managing Accounts Receivable, modifying profile sharing groups in BRM Managing Customers, or creating, modifying, or deleting /group/sharing/monitor objects in BRM Managing Accounts Receivable. |
Recommended |
|
Changes the owner of a discount sharing group, charge sharing group, profile sharing group, or monitor sharing group. See the discussion on changing the owner of a resource sharing group in BRM Managing Accounts Receivable, changing the owner of a profile sharing group through a customized client application in BRM Managing Customers, or changing the owner of a balance monitor in BRM Managing Accounts Receivable. |
Recommended |
|
Adds a member to a sponsor group. See the discussion on adding a member to a sponsor group in BRM Managing Accounts Receivable. |
Recommended |
|
Creates a sponsored group. See the discussion on creating a sponsor group in BRM Managing Accounts Receivable. |
Recommended |
|
Deletes a sponsored group. See the discussion on deleting a sponsor group in BRM Managing Accounts Receivable. |
Recommended |
|
Deletes a member from a sponsored group. See the discussion on deleting a member from a sponsor group in BRM Managing Accounts Receivable. |
Recommended |
|
Modifies information in the /group/sponsor storable class. See the discussion on modifying a sponsor group in BRM Managing Accounts Receivable. |
Recommended |
|
Assigns a new sponsor group owner to a sponsor group. See the discussion on setting the parent of a sponsor group in BRM Managing Accounts Receivable. |
Recommended |
|
Transfers rollover resources to another account or service. See the discussion on transferring rollover resources in BRM Managing Accounts Receivable. |
Recommended |
|
Transfers a subscription service to another subscriber account. See the discussion on transferring a subscription service in BRM Managing Customers. |
Recommended |
|
Transitions one deal to another. See the discussion on how deals are transitioned in BRM Managing Customers. |
Recommended |
|
Transitions one plan to another. See the discussion on transitioning plans in BRM Managing Customers. |
Recommended |
|
Validates deal-to-deal transitions. See the discussion on validating deal transitions in BRM Managing Customers. |
Recommended |
|
Validates a discount to see if it can be used with other discounts or with plans. See the discussion on validating discount dependencies in BRM Managing Customers. |
Recommended |
Calculates the best price by comparing the base deal with alternate deals in a best pricing configuration.
See the discussion on calculating the best price by using the best pricing opcode in BRM Configuring and Running Billing.
Cancels ownership of a deal for a specified account or service.
This opcode is called when a deal is canceled. This opcode cancels all products and discounts associated with the specific deal and then cancels the deal itself.
When automatic rerating is enabled, this opcode triggers automatic rerating of backdated deal cancellation when certain conditions are met.
If the deal purchase is successful, it returns the /account POID and the POID of the /event/billing/deal/cancel event.
See the following discussions:
Canceling deals in BRM Managing Customers
Backdated deal, product, and discount in BRM Configuring and Running Billing
Cancels the discount instances associated with the /account object or /service object specified in the input flist.
Note:
If the /service object specified is NULL, all the discount instances associated with the /account object are canceled, if not, only the discount instances associated with the /service object are canceled.When automatic rerating is enabled, this opcode triggers automatic rerating of backdated discount cancellation when certain conditions are met.
See the following discussions:
Canceling discounts in BRM Managing Customers
Backdated deal, product, and discount cancellation in BRM Configuring and Running Billing
Cancels the products for the /account object specified in the input flist.
This opcode is recursively called by PCM_OP_SUBSCRIPTION_CANCEL_DEAL to cancel each product associated with a specific deal.
See the discussion on canceling products in BRM Managing Customers.
When automatic rerating is enabled, this opcode triggers automatic rerating of backdated product cancellation when certain conditions are met.
Cancels a subscription service and its member services.
See the discussion on canceling a subscription service in BRM Managing Customers.
Changes the products associated with a deal for an account.
See the discussion on how deals are modified in BRM Managing Customers.
Validates changes to deals; for example, to check for prerequisite or mutually exclusive deals. This opcode first attempts to add a service to an account. If successful, it then adds or removes deals as needed.
See the discussion on validating changes to deals in BRM Managing Customers.
Example 1-289 Sample Input Flist for Adding a Service
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 42992 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 15692 0 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 5 1 PIN_FLD_DEALS ARRAY [0] allocated 20, used 2 2 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 12876 0 2 PIN_FLD_BOOLEAN INT [0] 0 1 PIN_FLD_SERVICE_ID STR [0] "Test1" 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/email -1 0 1 PIN_FLD_LOGIN STR [0] "AB-a8-1" 1 PIN_FLD_PASSWD_CLEAR STR [0] "AB-a8-1"
Example 1-290 Sample Output Flist for Adding a Service
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 42992 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 6, used 6 1 PIN_FLD_SERVICES ARRAY [0] allocated 5, used 5 2 PIN_FLD_DEALS ARRAY [0] allocated 2, used 2 3 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 12876 0 3 PIN_FLD_BOOLEAN INT [0] 0 2 PIN_FLD_SERVICE_ID STR [0] "Test1" 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/email 43193 0 2 PIN_FLD_LOGIN STR [0] "ab-a8-1@corp.portal.com" 2 PIN_FLD_PASSWD_CLEAR STR [0] "AB-a8-1" 1 PIN_FLD_POID POID [0] 0.0.0.1 /plan 15692 0 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 42992 0 1 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 1 PIN_FLD_START_T TSTAMP [0] (1062813523) Fri Sep 05 18:58:43 2003 1 PIN_FLD_END_T TSTAMP [0] (1062813523) Fri Sep 05 18:58:43 2003
Example 1-291 Sample Input Flist for Adding a Deal
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 4241767 0 0 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 3215264 0 0 PIN_FLD_PROGRAM_NAME STR [0] "Customer Center" 0 PIN_FLD_SERVICES ARRAY [0] allocated 8, used 8 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 4240615 0 1 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 4243303 0 1 PIN_FLD_BOOLEAN INT [0] 1 1 PIN_FLD_SERVICE_ID STR [0] "/service/ip33020888" 1 PIN_FLD_DEALS ARRAY [0] allocated 2, used 2 2 PIN_FLD_BOOLEAN INT [0] 0 2 PIN_FLD_DEAL_INFO SUBSTRUCT [0] allocated 7, used 7 3 PIN_FLD_PRODUCTS ARRAY [0] allocated 20, used 20 4 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 4 PIN_FLD_PURCHASE_START_T TSTAMP [0] (0) <null> 4 PIN_FLD_QUANTITY DECIMAL [0] 3.00 4 PIN_FLD_USAGE_END_UNIT INT [0] 0 4 PIN_FLD_USAGE_END_OFFSET INT [0] 0 4 PIN_FLD_USAGE_START_UNIT INT [0] 0 4 PIN_FLD_USAGE_START_OFFSET INT [0] 0 4 PIN_FLD_CYCLE_END_UNIT INT [0] 0 4 PIN_FLD_CYCLE_END_OFFSET INT [0] 0 4 PIN_FLD_CYCLE_START_UNIT INT [0] 0 4 PIN_FLD_CYCLE_START_OFFSET INT [0] 0 4 PIN_FLD_PURCHASE_END_UNIT INT [0] 0 4 PIN_FLD_PURCHASE_END_OFFSET INT [0] 0 4 PIN_FLD_PURCHASE_START_UNIT INT [0] 0 4 PIN_FLD_PURCHASE_START_OFFSET INT [0] 0 4 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 3215264 0 4 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 14476 0 4 PIN_FLD_USAGE_DISCOUNT DECIMAL [0] 0 4 PIN_FLD_CYCLE_DISCOUNT DECIMAL [0] 0 4 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 4 PIN_FLD_STATUS ENUM [0] 1 4 PIN_FLD_STATUS_FLAGS INT [0] 0 4 PIN_FLD_USAGE_END_T TSTAMP [0] (0) <null> 4 PIN_FLD_USAGE_START_T TSTAMP [0] (0) <null> 4 PIN_FLD_CYCLE_END_T TSTAMP [0] (0) <null> 4 PIN_FLD_CYCLE_START_T TSTAMP [0] (0) <null> 3 PIN_FLD_NAME STR [0] "Deal 2a - Unlimited Internet Service" 3 PIN_FLD_POID POID [0] 0.0.0.1 /deal 12364 0 3 PIN_FLD_END_T TSTAMP [0] (0) <null> 3 PIN_FLD_FLAGS INT [0] 0 3 PIN_FLD_START_T TSTAMP [0] (0) <null> 3 PIN_FLD_DESCR STR [0] "" 3 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 3215264 0 1 PIN_FLD_SUBSCRIPTION_INDEX INT [0] 0 1 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.0 0 0 1 PIN_FLD_BAL_INFO_INDEX INT [0] 0
Example 1-292 Sample Output Flist for Adding a Deal
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 4241767 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 4, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /account 4241767 0 1 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_forward_monthly 216383888346359225 0 1 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/action/purchase 17592186088889 0 1 PIN_FLD_RESULTS ARRAY [2] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/deal/purchase 17592186086329 0
Example 1-293 Sample Input Flist for Customizing Products
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 40965 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 8494 0 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 3 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 43525 5 1 PIN_FLD_SERVICE_ID STR [0] "Test1" 1 PIN_FLD_DEALS ARRAY [0] allocated 20, used 2 2 PIN_FLD_BOOLEAN INT [0] 0 2 PIN_FLD_DEAL_INFO SUBSTRUCT [0] allocated 20, used 7 3 PIN_FLD_POID POID [0] 0.0.0.1 /deal 11822 0 3 PIN_FLD_NAME STR [0] "PTP CFM PP PC 30$" 3 PIN_FLD_DESCR STR [0] "" 3 PIN_FLD_START_T TSTAMP [0] (0) <null> 3 PIN_FLD_END_T TSTAMP [0] (0) <null> 3 PIN_FLD_FLAGS INT [0] 0 3 PIN_FLD_PRODUCTS RRAY [0] allocated 41, used 24 4 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 8750 0 4 PIN_FLD_QUANTITY DECIMAL [0] 1 4 PIN_FLD_DESCR STR [0] "" 4 PIN_FLD_PURCHASE_START_T TSTAMP [0] (86393) Thu Jan 01 15:59:53 1970 4 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 4 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 4 PIN_FLD_PURCHASE_DISC_AMT DECIMAL [0] 0 4 PIN_FLD_PURCHASE_FEE_AMT DECIMAL [0] 0 4 PIN_FLD_CYCLE_START_T TSTAMP [0] (86393) Thu Jan 01 15:59:53 1970 4 PIN_FLD_CYCLE_END_T TSTAMP [0] (0) <null> 4 PIN_FLD_CYCLE_DISCOUNT DECIMAL [0] 0 4 PIN_FLD_CYCLE_DISC_AMT DECIMAL [0] 0 4 PIN_FLD_CYCLE_FEE_AMT DECIMAL [0] 0 4 PIN_FLD_USAGE_START_T TSTAMP [0] (86393) Thu Jan 01 15:59:53 1970 4 PIN_FLD_USAGE_END_T TSTAMP [0] (0) <null> 4 PIN_FLD_USAGE_DISCOUNT DECIMAL [0] 0 4 PIN_FLD_STATUS ENUM [0] 1 4 PIN_FLD_STATUS_FLAGS INT [0] 0 4 PIN_FLD_PURCHASE_START_CYCLE DECIMAL [0] 0 4 PIN_FLD_PURCHASE_END_CYCLE DECIMAL [0] 0 4 PIN_FLD_CYCLE_START_CYCLE DECIMAL [0] 0 4 PIN_FLD_CYCLE_END_CYCLE DECIMAL [0] 0 4 PIN_FLD_USAGE_START_CYCLE DECIMAL [0] 0 4 PIN_FLD_USAGE_END_CYCLE DECIMAL [0] 0
Example 1-294 Sample Output Flist for Customizing Products
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 40965 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 3, used 3 1 PIN_FLD_POID POID [0] 0.0.0.1 /account 40965 0 1 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/action/purchase 17592186088069 0 1 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/deal/purchase 17592186087045 0
Updates the count of active subscriptions for discounts based on the number of subscription services.
This opcode is used when applying discounts based on a number of subscriptions that consider discount exclusion rules.
See the discussion on discounts based on number of subscriptions in BRM Configuring Pipeline Rating and Discounting.
Applies cycle arrears fees to an account.
Note:
Cycle arrears fees are applied only for a single month.It returns the POIDs of the /account object and the /event/billing/product/fee/cycle/cycle_arrears event.
See the discussion on applying cycle arrears fees in BRM Setting Up Pricing and Rating.
Applies cycle fold events for an account. If successful, it returns the POIDs of the /account object and the /event/billing/product/fee/cycle/fold event.
See the discussion on applying folds in BRM Setting Up Pricing and Rating.
Applies cycle forward charges or refunds to an account. For example, this opcode is called when a product or discount is purchased, canceled, activated, or inactivated.
If successful, it returns the POIDs of the /account object and the /event/billing/product/fee/cycle/cycle_forward_type event.
When balance monitoring is enabled, this opcode passes the PIN_FLD_MONITORS array to the PCM_OP_ACT_USAGE opcode.
See the following discussions:
Applying cycle forward fees in BRM Setting Up Pricing and Rating
Balance monitoring in BRM Managing Accounts Receivable
Retrieves the event history for a deal, product, discount, or service instance associated with an account.
See the discussion on finding events associated with deals, products, discounts, and services in BRM Managing Customers.
Retrieves the purchased products and discounts associated with an account. Because products and discounts are part of the account object, reading the account object fetches all the purchased products and discounts.
This opcode requires a scope object in the PIN_FLD_SCOPE_OBJ field of the input flist. The scope object can be an /account, /billinfo, or /service object:
/account object: Fetches all the products and discounts for the account and its services.
/billinfo object: Fetches products and discounts assoicated with the specified bill unit.
/service object: Fetches products and discounts that belong to the specified service.
This opcode performs a search based on the values in the input flist. It repeats the search if more result sets must be fetched. For example, if a service object is passed as the scope object, the input flist looks like this:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 618010 0 0 PIN_FLD_SCOPE_OBJ POID [0] 0.0.0.1 /service/ip 615706 3 0 PIN_FLD_STATUS_FLAGS INT [0] 3 0 PIN_FLD_END_T TSTAMP [0] (1154415600) Tue Aug 1 00:00:00 2006 0 PIN_FLD_VALIDITY_FLAGS INT [0] 3 0 PIN_FLD_INCLUSION_FLAGS INT [0] 2 0 PIN_FLD_OVERRIDE_FLAGS INT [0] 2 0 PIN_FLD_OVERRIDDEN_OBJ POID [0] 0.0.0.1 /purchased_product 324706 0 0 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 615702 3 0 PIN_FLD_PACKAGE_ID INT [0] 23 0 PIN_FLD_PRODUCTS ARRAY [*] NULL array ptr 0 PIN_FLD_DISCOUNTS ARRAY [*] NULL array ptr
The input for the opcode also contains qualifiers to fetch the correct set of offerings:
To specify whether to fetch only products or only discounts, use the PIN_FLD_PRODUCTS and PIN_FLD_DISCOUNTS arrays.
To fetch a limited number of fields, specify those fields under the PRODUCTS and DISCOUNTS arrays.
To fetch products and discounts valid as of a specified time, pass the PIN_FLD_END_T field in the input. Additional qualifiers such as cycle, usage, or purchase can be passed in as PIN_FLD_VALIDITY_FLAGS.
PIN_FLD_STATUS_FLAGS:
PIN_SUBS_FLG_OFFERING_STATUS_ACTIVE: The opcode fetches only active offerings.
PIN_SUBS_FLG_OFFERING_STATUS_INACTIVE: The opcode fetches only inactive offerings.
PIN_SUBS_FLG_OFFERING_STATUS_CLOSED: The opcode fetches only closed offerings.
Note:
Using multiple values implies the target object can satisfy any of them.PIN_FLD_VALIDITY_FLAGS:
PIN_SUBS_FLG_OFFERING_VALIDITY_CYCLE: The opcode compares the specified END_T value with the CYCLE_END_T value.
PIN_SUBS_FLG_OFFERING_VALIDITY_PURCHASE: The opcode compares the specified END_T value with the PURCHASE_END_T value.
PIN_SUBS_FLG_OFFERING_VALIDITY_USAGE: The opcode compares the specified END_T value with the USAGE_END_T value.
Note:
Using multiple flags implies the target object must satisfy all of them.PIN_FLD_INCLUSION_FLAGS:
PIN_SUBS_FLG_OFFERING_INCLUDE_ALL_ELIGIBLE_PRODS: Includes all eligible products (both account and subscription products).
PIN_SUBS_FLG_OFFERING_INCLUDE_ALL_ELIGIBLE_DISCS: Includes all eligible discounts (both account and subscription discounts).
Note:
When this field is omitted, only eligible offerings from the specified scope are returned.PIN_FLD_OVERRIDE_FLAGS:
PIN_SUBS_FLG_OFFERING_ACCT_LEVEL_ONLY: Filters out only account offerings. Valid for /account objects only.
PIN_SUBS_FLG_OFFERING_OVERRIDE_PRODS_ONLY: When a valid offering POID is sent, returns all the offerings that override the input offering. When a NULL offering POID is sent, only the base products are returned. This flag must be used with the OVERRIDDEN _OBJ field. It is valid for any scope.
Note:
When none of these flags is present or when this field is omitted, all products are returned.PIN_FLD_OVERRIDDEN_OBJ: Use this when handling tailor-made products, which override their base products and can be searched for if the PIN_FLD_OVERRIDE_FLAGS field is set to PIN_SUBS_FLG_OFFERING_OVERRIDE_PRODS_ONLY. In that case, set this parameter to the base product to search for all the products that use that base product, including the base product itself. If OVERRIDDEN_OBJ is null and the OVERRIDE_FLAGS value is set to PIN_SUBS_FLG_OFFERING_OVERRIDE_PRODS_ONLY, this opcode fetches only base products.
PIN_FLD_PACKAGE_ID: Limits a search by the package_ID, which translates to a single plan. This can be used with any scope.
PIN_FLD_DEAL_OBJ: Limits your search to objects that are part of the deal specified by the deal object POID.
See the discussion on reading data for all valid purchased products and discounts in BRM Managing Customers.
Example 1-295 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 216663 10 0 PIN_FLD_SCOPE_OBJ POID [0] 0.0.0.1 /service/ip 214231 0 0 PIN_FLD_STATUS_FLAGS INT [0] 3 0 PIN_FLD_VALIDITY_FLAGS INT [0] 3 0 PIN_FLD_PRODUCTS ARRAY [0] 1 PIN_FLD_OFFERING_OBJ POID [0] 0.0.0.1 /purchased_product 123456 0 1 PIN_FLD_PLAN_OBJ POID [0] NULL 1 PIN_FLD_PRODUCT_OBJ POID [0] NULL 1 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_DISC_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) 0 1 PIN_FLD_PURCHASE_FEE_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_START_T TSTAMP [0] 0 0 PIN_FLD_DISCOUNTS ARRAY [0] 1 PIN_FLD_OFFERING_OBJ POID [0] NULL 1 PIN_FLD_PLAN_OBJ POID [0] NULL 1 PIN_FLD_DISCOUNT_OBJ POID [0] NULL 1 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_DISC_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) 0 1 PIN_FLD_PURCHASE_FEE_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_START_T TSTAMP [0] 0
Example 1-296 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 216663 10 0 PIN_FLD_PRODUCTS ARRAY [0] allocated 31, used 31 1 PIN_FLD_OFFERING_OBJ POID [0] 0.0.0.1 /purchased_product 215235 1 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 215975 0 1 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 215463 1 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_DISC_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_PURCHASE_FEE_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_START_T TSTAMP [0] (1130745600) 0 PIN_FLD_PRODUCTS ARRAY [1] allocated 31, used 31 1 PIN_FLD_OFFERING_OBJ POID [0] 0.0.0.1 /purchased_product 21531 0 1 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 215975 0 1 PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 21512 0 1 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_DISC_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_PURCHASE_FEE_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_START_T TSTAMP [0] (1123234500) 0 PIN_FLD_DISCOUNTS ARRAY [0] allocated 31, used 31 1 PIN_FLD_OFFERING_OBJ POID [0] 0.0.0.1 /purchased_discount 2118 5 1 PIN_FLD_PLAN_OBJ POID [0] 0.0.0.1 /plan 215975 0 1 PIN_FLD_DISCOUNT_OBJ POID [0] 0.0.0.1 /discount 5463 1 PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_DISC_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_END_T TSTAMP [0] (0) <null> 1 PIN_FLD_PURCHASE_FEE_AMT DECIMAL [0] 0 1 PIN_FLD_PURCHASE_START_T TSTAMP [0] (1130745600)
Creates, modifies, or deletes the ordered balance group (/ordered_balgrp object) for an account or service that is a member of a resource, profile, or monitor sharing group. The ordered balance group contains links to the sharing groups that the member has joined, listed in order by rank.
For discount sharing and charge sharing groups, the rank controls the order in which the group's resource balances are impacted by events.
For profile sharing and monitor sharing groups, the rank is not significant.
See the following discussions:
Adding a profile group to a member's ordered balance group in BRM Managing Customers
Adding a monitor group to a member's /ordered_balgrp object in BRM Managing Accounts Receivable
Managing ordered balance groups in BRM Managing Accounts Receivable
Creates one or more ordered balance groups (/ordered_balgrp objects) for an account or service. You can also use this opcode to modify the priority of the resource, profile, or monitor sharing groups included in one or more existing ordered balance groups.
For discount sharing and charge sharing groups, the rank controls the order in which the group's resource balances are impacted by events.
For profile sharing and monitor sharing groups, the rank is not significant.
See the following discussions:
Adding a profile group to a member's ordered balance group in BRM Managing Customers
Adding a monitor group to a member's /ordered_balgrp object in BRM Managing Accounts Receivable
Managing ordered balance groups in BRM Managing Accounts Receivable
Creates the /rate_change object, which stores details about the products affected by a rate change, including the rate tiers and rate plans for the product.
When you change a cycle fee by adding a new rate tier in Pricing Center, the event notification feature triggers this opcode. This opcode reads the products associated with the event and creates a /rate_change object, which is used by the pin_rate_change utility to create rerating requests. Rerating requests are used to create rerate jobs that are processed when you run the pin_rerate utility.
See the discussion on tracking rate changes for rerating in BRM Configuring and Running Billing.
This opcode creates, modifies, or deletes /profile objects. When specified in a /config/provisioning_tag object, this opcode runs when a product or discount containing the provisioning tag is purchased or canceled. Profiles can store extended rating attributes (ERAs) and other custom attributes.
This opcode calls PCM_OP_CUST_CREATE_PROFILE, PCM_OP_CUST_MODIFY_PROFILE, or PCM_OP_CUST_DELETE_PROFILE, depending on the action it needs to take.
When creating a profile, this opcode creates a /profile/acct_extrating object for an account-level profile and a /profile/serv_extrating object for a service-level profile.
See the discussion on configuring provisioning tags in BRM Setting Up Pricing and Rating.
Purchases the products and discounts in a deal for the account or service object specified in the input flist.
If the purchase originates in an external customer relationship management (CRM) application, the input flist contains a type-only deal POID because no actual BRM deal exists.
If the deal was created in BRM, PCM_OP_SUBSCRIPTION_PURCHASE_DEAL calls the PCM_OP_SUBSCRIPTION_VALIDATE_DEAL_DEPENDENCY opcode to validate deal-to-deal dependency rules. If products and discounts were created in an external CRM, this validation does not take place.
When automatic rerating is enabled, this opcode triggers automatic rerating of backdated deal purchases when certain conditions are met.
See the following discussions:
How deals are purchased in BRM Managing Customers
Backdated deal, product, and discount purchase in BRM Configuring and Running Billing
Allows purchase of a discount bundled in a deal.
See the discussion on purchasing discounts in BRM Managing Customers.
Important:
Do not call this opcode directly. This opcode is always called by the PCM_OP_SUBSCRIPTION_PURCHASE_DEAL opcode.When automatic rerating is enabled, this opcode triggers automatic rerating of backdated discount purchases when certain conditions are met.
See the discussion on backdated deal, product, and discount purchase in BRM Configuring and Running Billing.
Applies deferred purchase fees for a product with an expired purchase start time.
By default, purchase fees are applied at the time of product purchase. However, you can defer the purchase fees to a later date. For example, a subscriber can sign up for a product that is not available until a later date. The product's purchase fees are deferred and applied when the product becomes available.
See the discussion on applying deferred product purchase fees in BRM Managing Customers.
Purchases a product for an account or service.
See the discussion on how products are purchased in BRM Managing Customers.
Important:
Do not call this opcode directly. This opcode is always called by the PCM_OP_SUBSCRIPTION_PURCHASE_DEAL opcode.When automatic rerating is enabled, this opcode triggers automatic rerating of backdated product purchases when certain conditions are met.
See the discussion on backdated deal, product, and discount purchase in BRM Configuring and Running Billing.
Creates rerating requests when there is a cycle forward or cycle forward arrears event rate change in the middle of the current cycle. This opcode uses event notification to trigger rerating.
Note:
Rerating is not triggered for cycle_arrears rate changes or rate changes in future cycles.When you run the pin_rate_change utility after a rate change, the utility calls this opcode and provides details about the accounts and products affected by the rate change.
This opcode returns a notification event of type /event/notification/rate_change for each account picked up by the pin_rate_change utility. Depending on how automatic rerating is configured, the notification event triggers the creation of rerating requests (resulting in the rerate job objects used by the pin_rerate utility).
See the discussion on rerating cycle fees in BRM Configuring and Running Billing.
Retrieves the hierarchical relationships of deals, products, discounts, and services for an account.
For example, this opcode is used by Customer Center when a request is made to view a list of an account's deals, products, discounts, and services in a hierarchical format.
See the discussion on getting plans, deals, and products for purchase in BRM Managing Customers.
Rerates events for a specified account.
This opcode rerates the events for accounts identified by the pin_rerate utility, rerating one account at a time. The rerating start time is specified on the input flist. This opcode calls other opcodes to perform rerating functions.
See the discussion on how comprehensive rerating works in BRM Configuring and Running Billing.
A wrapper opcode that performs all the tasks necessary to transfer a service from one balance group to another.
This opcode is called by Customer Center or a custom client application.
See the discussion on transferring services between balance groups by using custom client applications in BRM Managing Accounts Receivable.
Manages /purchased_bundle objects in the BRM database. Use this opcode to add promotion names and details to BRM invoices.
See the discussion on adding Siebel CRM promotion names to invoices in BRM Configuring and Running Billing.
Modifies or sets a discount's purchase, cycle, or usage date information.
This opcode is called, for example, when a discount is set to inactive status when purchased and is activated later.
See the discussion on modifying discount attributes in BRM Managing Customers.
When automatic rerating is enabled, this opcode triggers automatic rerating of backdated discount status changes when certain conditions are met.
See the discussion on backdated deal, product, and discount purchase in BRM Configuring and Running Billing.
Changes the status of a /purchased_discount object in a deal for an account or service.
This opcode is called when the status of a discount is changed. This can occur:
When the status of the account or service that owns the discount is changed. In this case, the discount's status is changed to the status of the account or service.
When the status of a discount is changed from inactive to active.
See the discussion on how BRM changes discount status in BRM Managing Customers.
Changes the information for a specified product in an account.
If the PCM_OPFLG_CALC_ONLY flag is set, this opcode returns the entire event flist for the events created as a result of the modification. If the flag is not set, the opcode returns the event POIDs of all event objects created as a result of the modification.
See the discussion on modifying products in BRM Managing Customers.
When automatic rerating is enabled, this opcode triggers automatic rerating of backdated product status changes when certain conditions are met.
See the discussion on backdated deal, product, and discount purchase in BRM Configuring and Running Billing.
Sets the product status of a /purchased_product object owned by an account.
This opcode is called:
When the status of an account or service is changed.
When a product status is changed. You might need to change only the product status itself; for example, the product was purchased as inactive because of future provisioning, and you activate it later.
See the discussion on how BRM changes product status in BRM Managing Customers.
Creates the following types of sharing groups for an account or service:
Discount or charge sharing group: See the discussion on creating resource sharing groups in BRM Managing Accounts Receivable.
Profile sharing group: See the discussion on creating profile sharing groups in BRM Managing Customers.
Monitor sharing group: See the discussion on creating, modifying, or deleting /group/sharing/monitor objects in BRM Managing Accounts Receivable.
Deletes the following:
For a discount sharing group, the opcode deletes shared discounts, group members, or the sharing group itself.
For a charge sharing group, the opcode deletes sponsored charges, group members, or the sharing group itself.
For a profile sharing group, the opcode deletes shared profiles, group members, or the sharing group itself.
For monitor sharing groups, the opcode deletes the group itself.
If successful, this opcode returns the POID of the sharing group object that was modified and the POID of the event that was generated.
See the discussion on deleting resource sharing groups in BRM Managing Accounts Receivable, deleting profile sharing groups in BRM Managing Customers, or creating, modifying, or deleting /group/sharing/monitor objects in BRM Managing Accounts Receivable.
Modifies sharing groups as follows:
Adds shared discounts, sponsored charges, or group members to a resource sharing group.
Adds shared profiles or group members to a profile sharing group.
Modifies monitor sharing groups.
If successful, this opcode returns the POID of the group that was modified and the POIDs of the events that were generated to record the group modification.
See the discussion on modifying resource sharing groups in BRM Managing Accounts Receivable, codifying profile sharing groups in BRM Managing Customers, or creating, modifying, or deleting /group/sharing/monitor objects in BRM Managing Accounts Receivable.
Changes the owner of a charge sharing, discount sharing, profile sharing, or monitor sharing group.
If successful, this opcode returns the POID of the sharing group that was modified and the event that was generated to record the parent change.
See the discussion on changing the owner of a resource sharing group in BRM Managing Accounts Receivable, changing the owner of a profile sharing group through a customized client application in BRM Managing Customers, or changing the owner of a balance monitor in BRM Managing Accounts Receivable.
Adds a member to a sponsored group.
If successful, this opcode returns these values:
The POID of the /group/sponsor object to which the member was added.
The POID of the /event/group/member object created to record adding the member to the sponsored group.
See the discussion on adding a member to a sponsor group in BRM Managing Accounts Receivable.
Creates a sponsored group.
If successful, this opcode returns these values:
The POID of the /group/sponsor object created.
The POID of the /event/group/parent object created to record the creation of the sponsored group.
See the discussion on creating a sponsor group in BRM Managing Accounts Receivable.
Deletes a sponsored group.
If successful, this opcode returns the POID of the /group/sponsor object that was passed in the input flist.
See the discussion on deleting a sponsor group in BRM Managing Accounts Receivable.
Deletes a member from a sponsored group.
If successful, this opcode returns these values:
The POID of the /group/sponsor object passed in the input flist.
The POID of the /event/group/member object created to record the deletion of the sponsored group member.
See the discussion on deleting a member from a sponsor group in BRM Managing Accounts Receivable.
Modifies the product and rate information sponsored by the sponsor group.
If successful, this opcode returns the POID of the /group/sponsor object passed in the input flist.
See the discussion on modifying a sponsor group in BRM Managing Accounts Receivable.
Assigns a new sponsor group owner to a sponsor group.
If successful, this opcode returns the POID of the event /group/member/parent that is created.
See the discussion on setting the parent of a sponsor group in BRM Managing Accounts Receivable.
Checks the rollover-transfer profile object, /profile/rollover_transfer, to make sure it is configured and valid for the resource and receiver and then transfers the entire rollover amount to the receiver.
This opcode is called by the event notification system when the /event/billing/cycle/rollover/monthly and /event/billing/cycle/rollover_correction events occur.
See the discussion on transferring rollover resources in BRM Managing Accounts Receivable.
Transfers a subscription service to another subscriber account.
Use this opcode to transfer a subscription service and its member services from one subscriber to another subscriber's account.
See the discussion on transferring a subscription service in BRM Managing Customers.
Transitions a deal from one account to another.
See the discussion on how deals are transitioned in BRM Managing Customers.
Example 1-301 Sample Input Flist
00 PIN_FLD_POID POID [0] 0.0.0.1 /account 41349 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_TRANSITION_TYPE ENUM [0] 1 0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 43813 0 0 PIN_FLD_FROM_DEAL_INFO SUBSTRUCT [0] allocated 20, used 1 103969911 PIN_FLD_PACKAGE_ID INT [0] 12345 0 PIN_FLD_TO_DEAL_INFO SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 42980 0
Example 1-302 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 41349 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 5, used 5 1 PIN_FLD_POID POID [0] 0.0.0.1 /account 41349 0 1 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_forward_monthly 216383888346360741 0 1 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cancel 216383888346359717 0 1 PIN_FLD_RESULTS ARRAY [2] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/action/cancel 17592186085477 0 1 PIN_FLD_RESULTS ARRAY [3] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/deal/cancel 17592186087525 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 5, used 5 1 PIN_FLD_POID POID [0] 0.0.0.1 /account 41349 0 1 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/purchase 216383888346358885 0 1 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_forward_monthly 216383888346360933 0 1 PIN_FLD_RESULTS ARRAY [2] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/action/purchase 17592186085989 0 1 PIN_FLD_RESULTS ARRAY [3] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/deal/purchase 17592186088037 0
Transitions one plan to another.
This opcode takes as input a source plan that specifies the plan currently owned by the account and a target plan that specifies the plan to transition to.
See the discussion on transitioning plans in BRM Managing Customers.
Example 1-303 Sample Input Flist
This example shows an account upgrade from /plan 13842 to /plan 15890. The /deal 15954, /deal 14866, and /service/email are added to the account.
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 15186 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_FROM_PLAN POID [0] 0.0.0.1 /plan 13842 0 0 PIN_FLD_TO_PLAN POID [0] 0.0.0.1 /plan 15890 0 0 PIN_FLD_TRANSITION_TYPE ENUM [0] 1 0 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 2 1 PIN_FLD_FROM_SERVICE SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 12754 0 1 PIN_FLD_TO_SERVICE SUBSTRUCT [0] allocated 20, used 5 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip -1 0 2 PIN_FLD_SERVICE_ID STR [0] "ip4" 2 PIN_FLD_LOGIN STR [0] "ip4_a" 2 PIN_FLD_PASSWD_CLEAR STR [0] "ip4_a" 2 PIN_FLD_DEALS ARRAY [0] allocated 20, used 1 103969913 PIN_FLD_PACKAGE_ID INT [0] 12345 3 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 14866 0 0 PIN_FLD_SERVICES ARRAY [1] allocated 20, used 1 1 PIN_FLD_TO_SERVICE SUBSTRUCT [0] allocated 20, used 5 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/email -1 0 2 PIN_FLD_SERVICE_ID STR [0] "ip4_1" 2 PIN_FLD_LOGIN STR [0] "ip4_a" 2 PIN_FLD_PASSWD_CLEAR STR [0] "ip4_a" 2 PIN_FLD_DEALS ARRAY [0] allocated 20, used 1 103969913 PIN_FLD_PACKAGE_ID INT [0] 12345 3 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 15954 0
Example 1-304 Sample Output Flist
This example shows the return flists from PCM_OP_SUBSCRIPTION_CANCEL_DEAL, PCM_OP_SUBSCRIPTION_PURCHASE_DEAL, PCM_OP_CUST_SET_STATUS, and PCM_OP_CUST_MODIFY_CUSTOMER called to cancel and purchase deals to perform the plan upgrade.
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 15186 0 0 PIN_FLD_RESULTS ARRAY [0] allocated 4, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /account 15186 0 1 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle_forward_monthly 14514 0 1 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/action/cancel 15538 0 1 PIN_FLD_RESULTS ARRAY [2] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/deal/cancel 12978 0 0 PIN_FLD_RESULTS ARRAY [1] allocated 4, used 4 1 PIN_FLD_POID POID [0] 0.0.0.1 /account 15186 0 1 PIN_FLD_RESULTS ARRAY [0] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/fee/cycle/cycle forward_monthly 15026 0 1 PIN_FLD_RESULTS ARRAY [1] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/product/action/purchase 14002 0 1 PIN_FLD_RESULTS ARRAY [2] allocated 1, used 1 2 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/deal/purchase 16050 0 0 PIN_FLD_RESULTS ARRAY [2] allocated 7, used 7 1 PIN_FLD_SERVICES ARRAY [1] allocated 6, used 6 2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/email 12722 0 2 PIN_FLD_SERVICE_ID STR [0] "ip4_1" 2 PIN_FLD_LOGIN STR [0] "ip4_a@corp.portal.com" 2 PIN_FLD_PASSWD_CLEAR STR [0] "ip4_a" 2 PIN_FLD_DEALS ARRAY [0] allocated 1, used 1 3 PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 14866 0 2 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 12498 0 1 PIN_FLD_POID POID [0] 0.0.0.1 /plan 15890 0 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 15186 0 1 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 1 PIN_FLD_END_T TSTAMP [0] (1117609200) Wed Jun 01 00:00:00 2005 1 PIN_FLD_START_T TSTAMP [0] (1117609200) Wed Jun 01 00:00:00 2005 1 PIN_FLD_ACCTINFO ARRAY [0] allocated 3, used 3 2 PIN_FLD_POID POID [0] 0.0.0.1 /account 15186 17 2 PIN_FLD_CURRENCY INT [0] 840 2 PIN_FLD_CURRENCY_SECONDARY INT [0] 0
The opcodes listed in Table 1-86 manage suspended EDRs stored in the BRM database as /suspended_usage objects.
For information about suspense manager, see the discussion on Suspense Manager in BRM Configuring Pipeline Rating and Discounting.
Include the ops/suspense.h header file in all applications that call these opcodes. For details, see the discussion on header files in BRM Developer's Guide.
Table 1-86 Suspense Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Deletes records for suspended EDRs after Revenue Assurance has been completed. Available with Suspense Manager. See the discussion on deleting suspended records in bulk in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Deletes records for suspended EDRs. Available with Suspense Manager. See the discussion on deleting records for suspended EDRs in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Changes the contents of fields in suspended EDRs. Available with Suspense Manager. See the discussion on changing the contents of fields in suspended EDRs in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Initiates EDR recycling. See the discussion on initiating suspense recycling in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Deletes call records with a specific recycle key and a status of succeeded or written off. See the discussion on deleting call records with a specific recycle key and a status of Succeeded or Written-off in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Changes fields in a large number of suspended records in one database operation. See the discussion on editing suspended records in bulk in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Recycles suspended EDRs. Available with Suspense Manager. See the discussion on recycling suspended EDRs in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Writes off a large number of suspended records in one database operation. See the discussion on writing off suspended records in bulk in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Undoes edits to suspended EDRs. Available with Suspense Manager. See the discussion on changing the contents of fields in suspended EDRs in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
|
Writes off suspended EDRs. See the discussion on writing off suspended EDRs in BRM Configuring Pipeline Rating and Discounting. |
Recommended |
Deletes EDRs in a written off state or succeeded state. This opcode is scheduled to execute at a later time to ensure Revenue Assurance.
Important:
This opcode is available to Suspense Manager customers only.See the discussion on deleting suspended records in bulk in BRM Configuring Pipeline Rating and Discounting.
Deletes EDRs in a written off state or succeeded state.
Important:
This opcode is available to Suspense Manager customers only.See the discussion on deleting records for suspended EDRs in BRM Configuring Pipeline Rating and Discounting.
Example 1-305 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/1rec 0 0 0 PIN_FLD_PROGRAM_NAME STR [0] "TestNap" 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [0] allocated 13, used 13 1 SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 15204 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [1] allocated 13, used 13 1 SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 15588 0
Changes the contents of EDR fields for a suspended call record. The Suspense Management Center calls this opcode to edit a suspended call record.
Important:
This opcode is available to Suspense Manager customers only.See the discussion on changing the contents of fields in suspended EDRs in BRM Configuring Pipeline Rating and Discounting.
Example 1-306 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "TestNap" 0 PIN_FLD_EDITS ARRAY [0] allocated 4, used 4 1 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 1, used 1 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 1, used 1 3 PIN_FLD_CALLED_TO STR [0] "111" 1 PIN_FLD_OLD_VALUE STR [0] "" 1 PIN_FLD_NEW_VALUE STR [0] "111" 1 PIN_FLD_FIELD_NAME STR [0] "DETAIL.B_NUMBER" 0 PIN_FLD_EDITS ARRAY [1] allocated 4, used 4 1 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 1, used 1 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 1, used 1 3 PIN_FLD_CALLING_FROM STR [0] "111" 1 PIN_FLD_OLD_VALUE STR [0] "" 1 PIN_FLD_NEW_VALUE STR [0] "111" 1 PIN_FLD_FIELD_NAME STR [0] "DETAIL.A_NUMBER" 0 PIN_FLD_EDITS ARRAY [2] allocated 4, used 4 1 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 1, used 1 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 1, used 1 3 PIN_FLD_CALL_DURATION DECIMAL [0] 111.00 1 PIN_FLD_OLD_VALUE STR [0] "" 1 PIN_FLD_NEW_VALUE STR [0] "111" 1 PIN_FLD_FIELD_NAME STR [0] "DETAIL.DURATION" 0 PIN_FLD_EDITS ARRAY [3] allocated 4, used 4 1 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 1, used 1 2 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 1, used 1 3 PIN_FLD_START_TIME TSTAMP [0] (1079006993) Thu Mar 11 12:09:53 2004 1 PIN_FLD_OLD_VALUE STR [0] "" 1 PIN_FLD_NEW_VALUE STR [0] "20040311173953" 1 PIN_FLD_FIELD_NAME STR [0] "DETAIL.CHARGING_START_TIMESTAMP" 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [0] allocated 1, used 1 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 1308577166727897081 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [1] allocated 1, used 1 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 1308577166727897082 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [2] allocated 1, used 1 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 1308577166727897083 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [3] allocated 1, used 1 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 1308577166727897084 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [4] allocated 1, used 1 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 1308577166727897085 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [5] allocated 1, used 1 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 1308577166727897086 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [6] allocated 1, used 1 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 1308577166727897087 0
Example 1-307 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit -1 0 0 PIN_FLD_POIDS ARRAY [0] allocated 20, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit 58432 0 0 PIN_FLD_POIDS ARRAY [1] allocated 20, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit 60480 0 0 PIN_FLD_POIDS ARRAY [2] allocated 20, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit 57920 0 0 PIN_FLD_POIDS ARRAY [3] allocated 20, used 1 1 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit 59968 0 0 PIN_FLD_RESULT ENUM [0] 0
Initiates EDR recycling. During recycling, suspended EDRs are sent back through their original rating pipelines. The Suspense Management Center calls this opcode when the user chooses to recycle suspended EDRs.
See the discussion on initiating suspense recycling in BRM Configuring Pipeline Rating and Discounting.
Example 1-308 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/1rec 0 0 0 PIN_FLD_PROGRAM_NAME STR [0] "TestNap" 0 PIN_FLD_RECYCLE_MODE ENUM [0] 1 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [0] allocated 13, used 13 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 12530 0 0 PIN_FLD_SUSPENDED_USAGE_OBJS ARRAY [1] allocated 13, used 13 1 PIN_FLD_SUSPENDED_USAGE_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 13298 0
Deletes call records with a status of succeeded or written off that match criteria specified in the input flist. You can specify the following criteria:
A recycle key
A CDR file
A search template
This opcode can also delete a suspended call record if PIN_FLD_MODE is set correctly.
See the discussion on deleting call records with a specific recycle key and a status of Succeeded or Written-off in BRM Configuring Pipeline Rating and Discounting.
Example 1-309 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "test client" 0 PIN_FLD_ARGS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco -1 0 0 PIN_FLD_ARGS ARRAY [2] 1 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco/% -1 0 0 PIN_FLD_ARGS ARRAY [3] 1 PIN_FLD_FILENAME STR [0] "test_MED1.edr" 0 PIN_FLD_ARGS ARRAY [4] 1 PIN_FLD_POID STR [0] 0.0.0.1 /suspended_usage <poid range start> 0 PIN_FLD_ARGS ARRAY [5] 1 PIN_FLD_POID STR [0] 0.0.0.1 /suspended_usage <poid range end> 0 PIN_FLD_TEMPLATE STR [0] "( F1 = V1 or F2 like V2 ) and F3 = V3 and F4 >= V4 and F5 <= V5"
Example 1-310 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco -1 0 0 PIN_FLD_COUNT INT [0] 1000
To search for and recycle suspended call records containing a specific recycle key, use PCM_OP_SUSPENSE_EDIT_USAGE.
See the discussion on changing the contents of fields in suspended EDRs in BRM Configuring Pipeline Rating and Discounting.
This opcode makes changes to a large number of suspended records that meet the criteria specified in the input template.
See the discussion on editing suspended records in bulk in BRM Configuring Pipeline Rating and Discounting.
Example 1-311 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "test client" 0 PIN_FLD_FLAGS INT [0] 512 0 PIN_FLD_ARGS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco -1 0 0 PIN_FLD_ARGS ARRAY [2] 1 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco/% -1 0 0 PIN_FLD_ARGS ARRAY [3] 1 PIN_FLD_FILENAME STR [0] "test_MED1.edr" 0 PIN_FLD_ARGS ARRAY [4] 1 PIN_FLD_POID STR [0] 0.0.0.1 /suspended_usage <poid range start> 0 PIN_FLD_ARGS ARRAY [5] 1 PIN_FLD_POID STR [0] 0.0.0.1 /suspended_usage <poid range end> 0 PIN_FLD_TEMPLATE STR [0] "( F1 = V1 or F2 like V2 ) and F3 = V3 and F4 >= V4 and F5 <= V5" 0 PIN_FLD_EXTENDED_INFO SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_TELCO_INFO SUBSTRUCT [0] allocated 20, used 1 2 PIN_FLD_CALLED_TO STR [0] "004941067601" 2 PIN_FLD_CALLING_FROM STR [0] "00491732411" 0 PIN_FLD_EDITS ARRAY [0] allocated 20, used 4 1 PIN_FLD_NEW_VALUE STR [0] "004941067601" 1 PIN_FLD_FIELD_NAME STR [0] "DETAIL.B_NUMBER" 0 PIN_FLD_EDITS ARRAY [1] allocated 20, used 4 1 PIN_FLD_NEW_VALUE STR [0] "00491732411" 1 PIN_FLD_FIELD_NAME STR [0] "DETAIL.A_NUMBER"
Example 1-312 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco -1 0 0 PIN_FLD_POIDS ARRAY [0] 1 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit 111184 0 0 PIN_FLD_POIDS ARRAY [1] 1 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/edit 111185 0 0 PIN_FLD_COUNT INT [0] 1000
Searches for and queues suspended call records for recycling based on criteria specified in the input flist. You can specify the following criteria:
A recycle key
A CDR file
A search template
See the discussion on recycling suspended EDRs in BRM Configuring Pipeline Rating and Discounting.
This opcode writes off a large number of suspended records that match the search criteria in the input flist.
See the discussion on writing off suspended records in bulk in BRM Configuring Pipeline Rating and Discounting.
Example 1-315 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /suspended_usage/telco -1 0 0 PIN_FLD_PROGRAM_NAME STR [0] "test client" 0 PIN_SEARCH_INFO SUBSTRUCT [0] allocated 20, used 1 1 PIN_FLD_TEMPLATE STR [0] "username" 1 PIN_FLD_FLAGS INT [0] 0 1 PIN_FLD_ARGS ARRAY[2] "test_MED1.edr" 2 PIN_FLD_RESULTS_LIMIT INT [0] "004941067601" 2 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 1
Undoes edits to suspended call records used by Suspense Manager. This opcode is called by Suspense Management Center to perform the undo edit action. It replaces the value of a field in a suspended call record with the value in that field before the last edit was made.
Important:
This opcode is available to Suspense Manager customers only.See the discussion on undoing edits to suspended EDRs in BRM Configuring Pipeline Rating and Discounting.
Writes off suspended EDRs. When a suspended EDR is written off, they cannot be edited or recycled.
Important:
This opcode is available to Suspense Manager customers only.See the discussion on writing off suspended EDRs in BRM Configuring Pipeline Rating and Discounting.
Example 1-319 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /admin_action/suspended_usage/1rec 0 0 0 PIN_FLD_PROGRAM_NAME STR [0] "TestNap" 0 PIN_FLD_SUSPENDED_OBJS ARRAY [0] allocated 13, used 13 1 PIN_FLD_SUSPENDED_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 15204 0 0 PIN_FLD_SUSPENDED_OBJS ARRAY [1] allocated 13, used 13 1 PIN_FLD_SUSPENDED_OBJ POID [0] 0.0.0.1 /suspended_usage/telco 15588 0
The opcodes in Table 1-87 are used to manage the administration of BRM servers.
Include the ops/infmgr.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-87 System Manager FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Adds objects to the System Manager. This opcode is not supported at this time. |
Not supported |
|
Cancels scheduled downtime for server. |
Recommended |
|
Deletes objects from the System Manager. This opcode is not supported at this time. |
Not supported |
|
Gets information about servers. |
Recommended |
|
Dynamically gets the log level of the Connection Manager (CM) at run time. |
Recommended |
|
Gets status of servers. |
Recommended |
|
Modifies the monitoring interval for status of BRM servers. |
Limited |
|
Tells a satellite CM to start or resume passing opcodes to the main CM. |
Recommended |
|
Tells a satellite CM to stop passing opcodes to the main CM. |
Recommended |
|
Schedules downtime for server. |
Recommended |
|
Dynamically sets the log level of the CM and DM to the value specified in the input flist. |
Recommended |
|
Starts servers. |
Recommended |
|
Stops servers. |
Recommended |
Adds a node object to System Manager, which then reads information about servers that are running on that node, and starts to monitor that node.
Note:
This opcode is not supported at this time.Cancels any scheduled downtime for a server.
You can specify the name of a server, as specified in System Manager's configuration file, in the array PIN_FLD_ARGS. At present, this array can have only one PIN_FLD_SERVER_NAME element.
The System Manager cdt command calls this opcode.
See the discussion on System Manager command-line interface in BRM Developer's Guide.
Deletes a node object from System Manager, which then stops managing and monitoring the servers running on that node.
Note:
This opcode is not supported at this time.Gets information about servers running on a node or in a cell.
The cell, node, or server name is the name specified in the Node Manager's configuration file. This command accepts only one cell, node, or server name.
If the object type is CELL, the output includes one PIN_FLD_CELLS for each cell. In each PIN_FLD_CELLS is one or more PIN_FLD_NODES.
If the object type is NODE or SERVER, the output is one or more PIN_FLD_NODES fields.
The System Manager gi command calls this opcode.
See the discussion on System Manager command-line interface in BRM Developer's Guide.
Dynamically gets the log level of the Connection Manager (CM) at run-time.
Gets the status of servers running on a node or in a cell.
The cell, node, or server name is the name specified in the Node Manager's configuration file. This command accepts only one cell, node, or server name.
If the object type is CELL, the output includes one PIN_FLD_CELLS for each cell. In each PIN_FLD_CELLS is one or more PIN_FLD_NODES.
If the object type is NODE or SERVER, the output is one or more PIN_FLD_NODES fields.
The System Manager gs command calls this opcode.
See the discussion on System Manager command-line interface in BRM Developer's Guide.
Modifies the monitoring interval. By default, the interval is two minutes. Status of the servers is sent to the System Manager every interval.
Tells a satellite CM to start or resume passing opcodes to the main CM. System Manager searches its configuration file to look for the specified satellite CM, its host, and its port number. If it cannot find the information, the opcode returns an error.
Note:
System Manager does not keep the satellite CM's name, host, or port number in memory. Therefore, you do not have to stop and restart System Manager each time you add a new satellite CM to the configuration file.The System Manager sfw command calls this opcode.
See the discussion on System Manager command-line interface in BRM Developer's Guide.
Tells a satellite CM to stop passing opcodes to the main CM. System Manager searches its configuration file to look for the specified satellite CM, its host, and its port number. If it cannot find the information, the opcode returns an error.
Note:
System Manager does not keep the satellite CM's name, host, or port number in memory. Therefore, you do not have to stop and restart System Manager each time you add a new satellite CM to the configuration file.The System Manager fwe command calls this opcode.
See the discussion on System Manager command-line interface in BRM Developer's Guide.
Schedules downtime for a server.
System Manager keeps the downtime information locally. Therefore, the server can still be up and running during its scheduled downtime.
When responding to PCM_OP_INFMGR_GET_STATUS, System Manager returns the server's state of maintenance and its scheduled downtime. If the scheduled downtime expires during the next refresh interval (two minutes), the server's state is updated.
Each server can have only one scheduled downtime. Each time PCM_OP_INFMGR_SCHEDULE_DOWNTIME runs, it overwrites any previously scheduled downtime.
The System Manager sdt command calls this opcode.
See the discussion on System Manager command-line interface in BRM Developer's Guide.
Dynamically sets or changes the log level of the CM and the debug flags of the DM.
This opcode takes as input the following data:
The component name, CM or DM.
The CM log level you want to set in the PIN_FLD_LOGLEVEL field.
The DM debug level you want to set in the PIN_FLD_FLAGS field.
The values you set using this opcode apply to all the subsequent opcodes called.
For the CM, the value should be an integer from 0 to 3. If the integer is outside this range, the log level is not changed and a debug message is logged to cm.pinlog.
Example 1-322 Sample Input Flists
To set the DM debug flags:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1 0 PIN_FLD_COMPONENT STR [0] "DM" 0 PIN_FLD_DEBUG_FLAG ARRAY [1] 1 PIN_FLD_NAME STR [0] "DM_DEBUG" 1 PIN_FLD_FLAGS INT [0] 255 0 PIN_FLD_DEBUG_FLAG ARRAY [2] 1 PIN_FLD_NAME STR [0] "DM_DEBUG2" 1 PIN_FLD_FLAGS INT [0] 4090 0 PIN_FLD_DEBUG_FLAG ARRAY [3] 1 PIN_FLD_NAME STR [0] "DM_DEBUG3" 1 PIN_FLD_FLAGS INT [0] 65535 0 PIN_FLD_DEBUG_FLAG ARRAY [4] 1 PIN_FLD_NAME STR [0] "DM_DEBUG4" 1 PIN_FLD_FLAGS INT [0] 2
Note:
The PIN_FLD_FLAGS field can be either INT or HEXADECIMAL.To set the CM log level to 3:
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1 0 PIN_FLD_COMPONENT STR [0] "CM" 0 PIN_FLD_LOGLEVEL INT [0] 3
The opcodes in Table 1-88 support Universal Message Store functionality.
Include the ops/ums.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-88 Universal Message Store FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Retrieves /message objects. See the discussion on retrieving message objects in the consumer application in BRM Developer's Guide. |
Recommended |
|
Retrieves message templates from /strings objects. See the discussion on retrieving message templates in BRM Developer's Guide. |
Recommended |
|
Retrieves a list of message templates for the current brand. See the discussion on retrieving message templates in BRM Developer's Guide. |
Recommended |
|
Creates a /message object from the message template, filling in placeholders with supplied data. See the discussion on creating message objects in BRM Developer's Guide. |
Recommended |
Retrieves /message objects. An application that consumes messages from the UMS framework uses this opcode to retrieve messages that match the scope specified in the input flist.
See the discussion on retrieving message objects in the consumer application in BRM Developer's Guide.
Example 1-324 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill -1 0 0 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 8747 5
Example 1-325 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /bill 8725 5 0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 4 1 PIN_FLD_LOCALE STR [0] "en_US" 1 PIN_FLD_TEMPLATE_NAME STR [0] "First Reminder" 1 PIN_FLD_DOMAIN STR [0] "Messages - invoice reminder" 1 PIN_FLD_STRING STR [0] "Your account is now past due in the amount of 89.85, which was due on 03/23/03. Please send in your payment.
Retrieves message templates from /strings objects. Applications that produce messages for the UMS framework call this opcode to retrieve message templates.
See the discussion on retrieving message templates in BRM Developer's Guide.
Example 1-327 Sample Output Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /strings 8750 0 0 PIN_FLD_LOCALE STR [0] "en_US" 0 PIN_FLD_TEMPLATE STR [0] "Your account is now past due in the amount of %1, which was due on %2, please send in your payment promptly." 0 PIN_FLD_TEMPLATE_NAME STR [0] "First Reminder" 0 PIN_FLD_DOMAIN STR [0] "Messages - invoice reminder"
Retrieves a list of message templates for the current brand.
See the discussion on retrieving message templates in BRM Developer's Guide.
Creates /strings objects. This opcode retrieves the message template you specify and replaces any placeholders with data specified in the input flist.
See the discussion on creating message objects in BRM Developer's Guide.
Example 1-330 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /strings 9422 0 0 PIN_FLD_LOCALE STR [0] "en_US" 0 PIN_FLD_BILL_OBJ POID [0] 0.0.0.1 /bill 16096 0 0 PIN_FLD_ARGS ARRAY [1] allocated 20, used 1 1 PIN_FLD_VALUE STR [0] "3748.06" 0 PIN_FLD_ARGS ARRAY [2] allocated 20, used 1 1 PIN_FLD_VALUE STR [0] "11/03/03"
Use the opcodes in Table 1-89 to customize how vouchers are created and managed.
Include the ops/voucher.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-89 Voucher Manager FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Calculates the balance impacts of associating a voucher device with an account or a service. See the discussion on customizing voucher association in BRM Telco Integration. |
Recommended |
|
During device creation, validates the details in the input flist. See the discussion on customizing voucher creation in BRM Telco Integration. |
Recommended |
|
During device update, ensures that the voucher card number (PIN_FLD_DEVICE_ID) cannot be changed. See the discussion on customizing voucher/service association in BRM Telco Integration. |
Recommended |
|
When changing a voucher card brand, validates that the voucher's device state is New. See the discussion on setting the brand for a voucher in BRM Telco Integration. |
Recommended |
|
Ensures that the sub-order cannot be associated and disassociated with the master order when the order state is not New. See the discussion on customizing order association in BRM Telco Integration. |
Recommended |
|
Validates the information in the input flist before an /order/voucher object is created. See the discussion on customizing order creation in BRM Telco Integration. |
Recommended |
|
Ensures that an order cannot be deleted when the order is in the Received or Partial Receive state. See the discussion on deleting orders in BRM Telco Integration. |
Recommended |
|
Terminates the processing of the order if the order state is Cancel. See the discussion on canceling orders in BRM Telco Integration. |
Recommended |
|
Validates the new values passed into the input flist before an /order/voucher object is modified. See the discussion on customizing order attributes in BRM Telco Integration. |
Recommended |
|
Ensures that the brand of an order cannot be changed when the order state is Request or Partial Receive. See the discussion on setting the brand for an order in BRM Telco Integration. |
Recommended |
Calculates the balance impacts of associating a voucher device (/device/voucher object) with an account or a service.
This opcode is called by the PCM_OP_DEVICE_POL_ASSOCIATE opcode.
See the discussion on customizing voucher association in BRM Telco Integration.
Example 1-332 Sample Input Flist
0 PIN_FLD_POID POID [0] 0.0.0.1 /device/voucher 8317 0 0 PIN_FLD_PROGRAM_NAME STR [0] "testnap" 0 PIN_FLD_SERVICES ARRAY [0] 1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 10803 0 1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/ip 2034 0 0 PIN_FLD_DEVICE_VOUCHER SUBSTRUCT [0] 1 PIN_FLD_DEVICE_ID STR [0] "HBT002PT02151" 1 PIN_FLD_VOUCHER_PIN STR [0] "3777"
Validates a device by checking the input flist. For example, this policy opcode verifies that the numbers have the correct number of digits and use the proper syntax. It also verifies that the voucher does not already exist in the database.
You can customize this opcode to change the validation rules for creating voucher devices.
This opcode is called by the PCM_OP_DEVICE_POL_CREATE opcode when creating a voucher device.
See the discussion on customizing voucher creation in BRM Telco Integration.
Ensures that the device ID (voucher PIN) cannot be changed. Validates the deal object available in the database if the deal object is changed.
You can customize this opcode to change how vouchers are associated with services.
This opcode is called by the PCM_OP_DEVICE_POL_SET_ATTR opcode when updating a voucher card device.
See the discussion on customizing voucher/service association in BRM Telco Integration.
Validates that the voucher device state is New, when changing the voucher brand.
You can customize this opcode to change how vouchers can be associated with brands.
This opcode is called by the PCM_OP_DEVICE_POL_SET_BRAND opcode.
See the discussion on setting the brand for a voucher in BRM Telco Integration.
Ensures that a sub-order cannot be associated or disassociated with the master order when the order state is not New.
You can customize this opcode to change any validation for voucher order association.
This opcode is called by the PCM_OP_ORDER_POL_ASSOCIATE opcode.
See the discussion on customizing order association in BRM Telco Integration.
Validates the information in the input flist before an order object is created.
You can customize this opcode to change the validation rules for creating /order/voucher objects.
This opcode is called by the PCM_OP_ORDER_POL_CREATE policy opcode.
See the discussion on customizing order creation in BRM Telco Integration.
Example 1-337 Sample Input Flist
0 PIN_FLD_POID POID[0]poid for the order object M 0 PIN_FLD_VOUCHER_ORDERS ARRAY[0] array of vouchers 1 PIN_FLD_START_SERIAL_NO STR [0]Start serial number M 1 PIN_FLD_QUANTITY DECIMAL[0]# of cards requested M 1 PIN_FLD_BATCH_TOTAL DECIMAL [0]Total number of batches in order M 1 PIN_FLD_BATCH_QUANTITY DECIMAL [0]batch quantity M 1 PIN_FLD_PACK_QUANTITY DECIMAL [0]pack quantity M 1 PIN_FLD_DEAL_OBJ POID [0]Deal Object M
Ensures that an order cannot be deleted when the order is in the Received or Partial Receive state.
This opcode is called by the PCM_OP_ORDER_POL_DELETE opcode.
See the discussion on deleting orders in BRM Telco Integration.
Reads the status of an order using the order POID and terminates the processing of the order if the order state is Cancel.
This opcode is called by the PCM_OP_ORDER_POL_PROCESS opcode.
See the discussion on canceling orders in BRM Telco Integration.
Validates the new values passed into the input flist before an order is modified.
This opcode is called by the PCM_OP_ORDER_POL_SET_ATTR opcode.
See the discussion on customizing order attributes in BRM Telco Integration.
Example 1-340 Sample Input Flist
0 PIN_FLD_POID POID[0]poid for the order object M 0 PIN_FLD_RESULTS ARRAY[0] response file info O 0 PIN_FLD_FILES ARRAY[0]request file info O 0 PIN_FLD_VOUCHER_ORDERS ARRAY[0] array of vouchers 1 PIN_FLD_START_SERIAL_NO STR[0]starting serial number O 1 PIN_FLD_QUANTITY DECIMAL[0]# of cards requested O 1 PIN_FLD_BATCH_TOTAL DECIMAL [0]Total number of batches in order O 1 PIN_FLD_BATCH_QUANTITY DECIMAL [0]batch quantity O 1 PIN_FLD_PACK_QUANTITY DECIMAL [0]pack quantity O 1 PIN_FLD_DEAL_OBJ POID [0]Deal Object O
The opcodes listed in Table 1-90 perform voucher management.
Include the ops/voucher.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-90 Voucher Management FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Initiates operations that calculate the balance impacts of the deal linked to a voucher and that associate the voucher with an account or a service. See the discussion on how voucher association works in BRM Telco Integration. |
Recommended |
|
Changes the devices state. |
Recommended |
Calls PCM_OP_DEVICE_ASSOCIATE to perform these operations:
Calculate the balance impacts of purchasing the deal linked to the voucher device (/device/voucher object).
Associate a voucher device with an account or a service.
See the discussion on how voucher association works in BRM Telco Integration.
The opcodes in Table 1-91 provide BRM with the support for rating the zones that you create in the Zone Mapper.
Include the ops/zonemap.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
Table 1-91 Zone Map FM Policy Opcodes
Opcode | Description | Use |
---|---|---|
Searches a given zone map for data associated with a given string. See the discussion on finding zone maps in BRM Setting Up Pricing and Rating. |
Recommended |
|
Retrieves pricing zone map data from the BRM database. See the discussion on getting zone maps from the BRM database in BRM Setting Up Pricing and Rating. |
Recommended |
|
Saves pricing zone map information to the BRM database. See the discussion on saving zone map data in BRM Setting Up Pricing and Rating. |
Recommended |
Searches a given zone map for the data associated with a given string. You supply a string and a zone map name. It then searches the zone map for the given string and returns the matching node with all ancestors of the matching node (the lineage).
This opcode is called by internal rating opcodes.
See the discussion on finding zone maps in BRM Setting Up Pricing and Rating.
Retrieves zone map data from the BRM database and displays zone maps in the Zone Mapper.
This opcode is called by the PCM_OP_ZONEMAP_GET_CAAR_MATRIX standard opcode.
See the discussion on getting zone maps from the BRM database in BRM Setting Up Pricing and Rating.
Saves zone map in the BRM database when you commit zone maps in the Zone Mapper. BRM stores this information is the /zonemap object.
This opcode is called by the PCM_OP_ZONEMAP_COMMIT_ZONEMAP standard opcode.
See the discussion on saving zone map data in BRM Setting Up Pricing and Rating.
The opcodes listed in Table 1-92 provide BRM with the support for rating the zones that you create in the Zone Mapper.
Include the ops/zonemap.h header file in all applications that call these opcodes. See the discussion on header files in BRM Developer's Guide.
The next table contains the list of the standard zone map opcodes.
Table 1-92 Zone Map FM Standard Opcodes
Opcode | Description | Use |
---|---|---|
Commits zone map changes to the BRM database (possible operations include deletion, creation, and updates of zone maps). See the discussion on how zone mapping works in BRM Setting Up Pricing and Rating. |
Recommended |
|
Retrieves zone map data from the BRM database. See the discussion on how zone mapping works in BRM Setting Up Pricing and Rating. |
Recommended |