Class AsyncStatefulServiceClient
- All Implemented Interfaces:
com.highdeal.barbus.ISSLContextProvider
- Direct Known Subclasses:
StatefulServiceClient
Java class provides the operations necessary
to implement real-time charging services (event-based or session-based)
in your SAP system landscape by
using the Message TCP technical interface
with asynchronous communications for the highest throughput performances.
Your client application converts the information data about the customer service usage (service consumption) to a chargeable item
and sends this data event to the connected SAP CC system, the online charging system (OCS) for being rated (dynamic pricing) and charged to an account or allowance.
This class provides the necessary methods to implement
online charging services in your system landscape
with or without credit control before the customer service delivery.
Recommendation
This is the preferred charging client
to leverage for using SAP Convergent Charging as a stateful Online Charging System (OCS).
It provides the most configuration flexibility as well as the best throughput performances.
Consider the following information in this topic:
- Asynchronous Services and Operations
- Features
- Implementation in Your Client Application
- Notes on SAP CC Implementation
Asynchronous Services and Operations
With this Java class, you can implement online event-based charging services or online session-based charging services
via the Message TCP high-speed technical interface.
| Business Services: Online Stateful Charging | Operations | Technical Names (Consider the methods in this Java class) |
|---|---|---|
| Event-based charging without credit control | Immediate charging operation (for direct debiting) | charge(..)
|
| Event-based charging with credit control | Best-effort charging operation | checkLimit(..)
|
| Event-based advice of charge | Blank charging operation | blankCharge(..)
|
| Inverse rating operation | checkLimit(..) in estimation mode
| |
| Multiservice session-based charging (multiple charging sessions of reservations/confirmations) | Quota reservations and consumption confirmations (partial or complete) related to the usage of several customer services or several options of a global service:
|
You manage a multiservice session relating to several customer services with:
You handle the new reservation notifications on partially granted reservations
with a |
| Business monitoring | Spending status monitoring (advanced implementation) | You manage the spending status monitoring by
|
| Billing process synchronization | Activation of periodic and one-off fees | activate(..)
|
cleanup(..)- translate(..)
Notes
- Consult all the online charging services that you can implement in your Java-based client application.
-
Refer to the
StatefulServiceClient classfor synchronous communications and high throughput performances.
Deprecated Services and Operations
The following business operations or services are now deprecated and replaced. SAP SE recommends that you do not implement these operations anymore. They will be revoked in newer versions of SAP Convergent Charging.
Features
This charging client benefits
from the functions provided by the Message TCP technical interface.
Refer to its features about:
- High Availability Management
- High Volume Management
- High Performance Management
Event Listener
Most of the operation requests are asynchronous and expect an event listener for processing their results or exceptions.
These listeners are invoked when the operation is successful with the result of the operation or when it fails with an
exception defining the problem.
Charging Contract Operational Status
Most of services and operations take into account the operational status
of a charging contract (excepting the preRate and the postRate deprecated operations).
This means that an operation exception can be thrown if the operational status of a charging contract
is locked or closed.
Communication Timeout
Depending on the nature of the charging workflow, the recommended timeout may vary greatly. Consider your business requirements.
Note
For event-based charging, no timeout is recommended.
High Performances
By default, this charging client provides high throughput performances.
High Availability (HA)
By default, this charging client provides high availability services with an SAP CC system with distributed instances in HA setup.
You can implement several charging clients in your Java-based client application and you can implement several client applications to manage failover mechanism in your client applications.
Notification
You can implement the handling of the notifications sent by the SAP CC Core Server system:
- Asynchronous service for batch management: The notifications are regularly sent by the SAP CC system. Refer to the Java package information.
- Synchronous service for real-time management: The notifications are embedded by the SAP CC system in the result messages of the charging requests. The renew reservation notifications are managed via a specialized listener (advanced implementation). You can implement in your client application the immediately processing of these notifications.
Security
To implement a ciphered connection between the client and SAP CC, use AsyncRatingServiceClient.setSslContext(javax.net.ssl.SSLContext).
Then, the client application will be authenticated and authorized to connect to the SAP CC server by calling the
AsyncRatingServiceClient.connect(String hostname, int port, boolean secure, String bindAddress, int timeout, FoundLostRatingListener ratingListener, ServiceClientTuning config)
method, with secure parameter set to true.
To implement user authentication between the client and SAP CC, the client must set up some valid user credentials by calling the setUserCredentials() method.
Then, the client application will be authenticated and authorized to connect to the SAP CC server by calling one of the following connect() methods:
AsyncRatingServiceClient.connect(com.highdeal.admin.hci.InstanceMap, String, int, FoundLostRatingListener, ServiceClientTuning)AsyncRatingServiceClient.connect(String, java.net.InetSocketAddress...)AsyncRatingServiceClient.connect(String, com.highdeal.barbus.InstanceAddress...)AsyncRatingServiceClient.connect(String, int)AsyncRatingServiceClient.connect(String, int, boolean, String, int, FoundLostRatingListener, ServiceClientTuning)AsyncRatingServiceClient.connect(String, int, FoundLostRatingListener)AsyncRatingServiceClient.connect(String, int, java.net.InetSocketAddress, String, int, FoundLostRatingListener, ServiceClientTuning, java.net.InetSocketAddress...)AsyncRatingServiceClient.connect(String, int, java.net.InetSocketAddress, String, int, FoundLostRatingListener, ServiceClientTuning, com.highdeal.barbus.InstanceAddress...)AsyncRatingServiceClient.connect(String, int, int)AsyncRatingServiceClient.connect(String, int, String, int, FoundLostRatingListener)AsyncRatingServiceClient.connect(String, int, String, int, FoundLostRatingListener, ServiceClientTuning)
Code Snippet
The following code snippet provides an example of how to authenticate a client application to the SAP CC server :
private static final String DISPATCHER_HOST = "localhost";
private static final int DISPATCHER_EXT_PORT = 2000;
// Initialize the stateful service client by (always) calling the empty builder (other builders are deprecated)
AsyncStatefulServiceClient client = new AsyncStatefulServiceClient();
// Set the user credentials for the new created client
// These credentials must refer to an existing service user in SAP CC that has the "messageChargingClient" role.
client.setUserCredentials("clientX", "foopasswd");
//Call one of the connect() methods that are provided in Service Client classes according to the
// expected behavior.
ConnectionStatus status = client.connect(DISPATCHER_HOST, DISPATCHER_EXT_PORT);
// Check the result of the connect() method.
if (!status.isServiceAvailable()) { // No dispatcher can be reached
} // else at least one CC dispatcher has been reached and charging is available
Implementation in Your Client Application
Event Listener
Most of the operation requests are asynchronous and expect
an event listener for processing their results or exceptions.
These listeners are invoked when the operation is successful with the
result of the operation or when it fails with an exception defining the problem.
Initializing and Connecting
Your charging client (based on this AsyncStatefulServiceClient class)
must be initialized via establishing a connection to one or more dispatcher instances available in the distant SAP CC system.
Once at least one dispatcher of the SAP CC system is connected from the client application,
the client application retrieves automatically the list of all available dispatcher instances
on the server system side. It establishes a connection with every one of them automatically.
Code Snippet
The following code snippet provides an example of how to initialize a charging client based on the AsyncStatefulServiceClient class:
AsyncStatefulServiceClient client = new AsyncStatefulServiceClient();
try {
client.connect("dispatcher.hostname", 2000);
} catch (IOException e) {
System.out.println("Dispatcher instance not found. Reason is: "+e.getMessage());
return;
}
Implementing Session-Based Charging Services
You implement the following operations in your Java-based client application to manage a multiservice session:
Note
Refer to the implementation note section if you want to provide the optional reservation renewal function in your system landscape.
System Configuration
Consult the SAP CC Configuration and Implementation Guide to know the necessary configuration settings of the SAP CC system.
Master Data Configuration
Particular constraints apply to the configuration of the pricing logic. Pay attention when designing and configuring price plans dedicated to session-based charging services. Consult the SAP CC Application Help and the primary help of the SAP CC Core Tool user interface for more information.
Implementing Event-Based Charging Services
Depending on your business requirements, you implement one of the following operations in your Java-based client application:
Terminating
Your client application must release the connections when it ends.
Implement the close() method.
Recommendation
Do not forget to close this charging client when it is no more used to release its resources and nested threads invoking its
AsyncRatingServiceClient.close() method.
Advanced Implementation
The following advanced implementation activities are possible. Refer to the implementation note section for more information.
- Reservation renewal function (in the session-based charging services)
- Spending status monitoring function
- Fine-tuning
Notes on SAP CC Implementation
Fine-Tuning
By default, this charging client provides very high throughput performances.
You can fine tune the behavior of your client application by implementing the
AsyncStatefulServiceClientCtrl class.
Implementing the Spending Status Monitoring Function
This function is available in the online charging services. In this Customizing activity you develop a client application and a monitoring client that manages spending status monitoring and report handling.
Prerequisites
The SAP CC system is configured to support the spending status monitoring function.Customizing Sequence
- Depending on your business requirements, design your listener of spending status reports accordingly to the spending status changes sent by the SAP CC system
-
Implement the integration code of a spending status report listener based on the
ISpendingStatusReportListenerinterface. Develop your ownonSpendingStatusReport(...)method - Depending on your business requirements, design your client application accordingly to your own spending status monitoring sequences
-
In your client application, implement a monitoring client based on this
AsyncStatefulServiceClientclass:-
Register your own spending status report listener implementation with the
registerSpendingStatusReportListener(...)method -
Manage the relevant spending status monitoring sequences with the
monitorSpendingStatus(...)method. This method enables you to create, change or cancel a spending status monitoring. -
Finally, unregister your spending status report listener with the
unregisterSpendingStatusReportListener(...)method
-
Register your own spending status report listener implementation with the
System Configuration
Consult the SAP CC Configuration and Implementation Guide to know the necessary configuration settings of the SAP CC system. Before implementing SAP Convergent Charging in your system landscape, you must configure the systems and the data.
Implementing the ISpendingStatusReportListener interface
A client application must implement the ISpendingStatusReportListener interface to be able to handle monitoring reports.
Implementing the Reservation Renewal Function
This function is available in the session-based charging services.
Prerequisites
The SAP CC system is configured to support the reservation renewal function.Customizing Sequence
- Dedicated Listener
System Configuration
Consult the SAP CC Configuration and Implementation Guide to know the necessary configuration settings of the SAP CC system. Before implementing SAP Convergent Charging in your system landscape, you must configure the systems and the data.
Implementing the IReservationRenewalListener interface
A client application must implement the IReservationRenewalListener interface to be able to handle Renew Reservation notifications.
The implementation of this interface allows the SAP CC system to inform the client application that additional credit has been made available during a multiservice charging session.
When such a notification occurs, the client application may not have to stop the session and may continue to update the session by making new reservations on charging sessions.
The client application can handle this use case by implementing an IReservationRenewalListener and attaching it to the charging client.
The IReservationRenewalListener interface defines a unique method to handle the notification: onRenewReservation().
This method provides the necessary parameters to handle the notification:
- The session identifier, which is unique to the multiservice charging session
- The reservation identifier, which is unique to the service charging session for the multiservice charging session
- The external data that can optionally be passed to the SAP CC system during a start or update operation
- An index indicating the number of attempts to transmit this notification
- An
IReservationRenewalAcknowledgerobject that must be used to acknowledge the receipt of this notification
The acknowledger is an optional feature allowing the client application to tell the SAP CC system the notification has been received and handled.
This feature is useful when the RENEW_RESERVATION_RESEND_ATTEMPTS parameter of the SAP CC system is set with a positive and non-zero value.
Once the SAP CC system is acknowledged by the client application, the resend procedure is canceled for this notification.
Code Snippet
The following code snippet provides an example of how to implement an IReservationRenewalListener interface to receive and handle a Renew Reservation notification:
private class MyReservationRenewalListener implements IReservationRenewalListener {
public void onRenewReservation(String sessionId, String reservationId, byte[] externalData, short resendAttempt, IReservationRenewalAcknowledger acknowledger) {
// Simple implementation: print notification to console
System.out.println("Renew Reservation notification received for session/reservation " + sessionId + " " + reservationId);
// (Optional) Acknowledge the handling message
acknowledger.ack(new IReservationRenewalAcknowledgerListener() {
public void onException(ServerFailureException e) {
// Handle server failure exception
System.err.println("ServerFailureException in acknowledgment: " + e.getMessage());
}
public void onException(IllegalArgumentException e) {
// Handle illegal argument exception
System.err.println("IllegalArgumentException in acknowledgment: " + e.getMessage());
}
public void onException(CommunicationFailureException e) {
// Handle communication failure exception
System.err.println("CommunicationFailureException in acknowledgment: " + e.getMessage());
}
public void onResult() {
// Handle acknowledgment result
System.out.println("Server has received acknowledgment");
}
});
}
}
Implementing the registerReservationRenewalListener(byte, IReservationRenewalListener) method
To be able to receive and handle Renew Reservation notifications, the client application must use the registerReservationRenewalListener method of the charging client.
The client application must provide a ReservationRenewalListener identifier (rrlId) and the ReservationRenewalListener that can handle the Renew Reservation notification.
The rrlId value can be 1 to 127 included.
Code Snippet
The following code snippet provides an example of how to call the registerReservationRenewalListener() method of the charging client:
private static final String DISPATCHER_HOST = "localhost";
private static final int DISPATCHER_EXT_PORT = 2000;
private static final byte RRLID = 1;
// Initialize the listener
MyReservationRenewalListener myListener = new MyReservationRenewalListener();
// Initialize the stateful service client
AsyncStatefulServiceClient client = new AsyncStatefulServiceClient(DISPATCHER_HOST, DISPATCHER_EXT_PORT);
// Register a reservation renewal listener
client.register(RRLID, myListener);
Implementing the unregisterReservationRenewalListener(byte) method
To stop receiving Renew Reservation notifications, the client application must use the unregisterReservationRenewalListener method of the charging client.
The client application must provide a ReservationRenewalListener identifier (rrlId).
The rrlId value can be 1 to 127 included.
Code Snippet
The following code snippet provides an example of how to call the unregisterReservationRenewalListener() method of the charging client:
private static final String DISPATCHER_HOST = "localhost";
private static final int DISPATCHER_EXT_PORT = 2000;
private static final byte RRLID = 1;
// Initialize the listener
MyReservationRenewalListener myListener = new MyReservationRenewalListener();
// Initialize the stateful service client
AsyncStatefulServiceClient client = new AsyncStatefulServiceClient(DISPATCHER_HOST, DISPATCHER_EXT_PORT);
// Unregister a reservation renewal listener
client.register(RRLID);
Changing the Implementation of the Session-Based Charging APIs
In the implementation of the charging process of the service client, additional actions must be taken in the integration code when managing multiservice charging sessions.
On multiservice charging session start:
- Specify that the session is monitored for renew reservation notifications by the reservation renewal listener identified by the given identifier. The method
setReservationRenewalListenerId()of the operation should be used. - Optionally, add external data that the reservation renewal listener may need when processing the notification. The method
setExternalData()of the operation should be used. This data is not read nor changed by SAP CC Server.
Code Snippet
// Create a multiservice charging session start operation
ISessionStartChargingAsyncOperation startOp = client.createSessionStartAsyncOperation(sessionID, userServiceID, serviceID, consumptionDate);
// Add a charging session operation: reserve
startOp.prepareReserve(reservationId, reservationItem, defaultResolution, ttl, propertyToInverse);
// Indicate that this multiservice charging session is monitored for renew reservation notifications by the reservation renewal listener identified by the rrlId
startOp.setReservationRenewalListenerId(rrlId);
// (Optional) Add external data, that is sent back unchanged in the renew reservation notifications
startOp.setExternalData(externalData);
// Execute the start operation
startOp.execute(sessionResultListener);
On multiservice charging session update:
- Optionally, add external data that the reservation renewal listener may need when processing the notification. The method
setExternalData()of the operation should be used. This data is not read nor changed by SAP CC Server.
Code Snippet
// Create a multiservice charging session update operation
ISessionUpdateChargingAsyncOperation updateOp = client.createSessionUpdateAsyncOperation(sessionID, userServiceID, serviceID, consumptionDate);
// Add a charging session operation: confirm and reserve
updateOp.prepareConfirmAndReserve(reservationId, confirmationItem, reservationItem);
// (Optional) Add external data, that is sent back unchanged in the renew reservation notifications
updateOp.setExternalData(externalData);
// Execute the update operation
updateOp.execute(sessionResultListener);
On multiservice charging session stop:
- No additional action is necessary
Additional Information
Consult all the online and offline charging services that you can implement in your Java-based client application.
Consult the SAP CC Application Help for more information about the online charging services, the charging process and its execution modes.
Related Information
-
Field Summary
Fields inherited from class com.highdeal.cnd.message.AsyncRatingServiceClient
ALL_TRANSACTION, ALL_TRANSACTION_AND_RECURRING, CANCELLED, CHARGING_RESULT_MSG, CHARGING_RESULT_REST, CHARGING_RESULT_WS, CONFIRMED, MASTER_TRANSACTION, NONE_TRANSACTION -
Constructor Summary
ConstructorsConstructorDescriptionCreates acharging clientUse one of theconnect(..) methodsto connect this client to the distant SAP CC system.AsyncStatefulServiceClient(String hostName, int port) Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection.AsyncStatefulServiceClient(String hostName, int port, int timeout) Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection.AsyncStatefulServiceClient(String hostName, int port, FoundLostRatingListener ratingListener) Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection.AsyncStatefulServiceClient(String hostName, int port, String bindAddress, int timeout, FoundLostRatingListener ratingListener) Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidactivate(String subscriberAccountCode, String serviceProvider, int resultType, boolean ft, Date toDate, ActivateEventListener listener) This main operation triggers the activation of all the periodic and one-off fees (see recurring rates and one-shot rates in the charges) configured in the provider contracts andsubscriptionsrelating to the specifiedsubscriber account; You use this operation to prepare the invoicing and billing operations in an external system.final voidblankCharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, boolean ft, ChargeEventListener listener) Consider the mainblank charge operationin thisclass.final voidblankCharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, ChargeEventListener listener) This main business operation requests the connected SAP CC system to charge in blank execution mode the specifiedchargeable itemfor the specified user service ID and service ID at the specified date.final voidblankCharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeExecutionContext context, ChargingResultListener listener) This main business operation requests the SAP CC system to charge in blank mode the specified chargeable item for the specified user service ID and service ID at the specified date.final voidcharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, boolean ft, ChargeEventListener listener) Consider the maincharge operationin this class.final voidcharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, ChargeEventListener listener) Consider the maincharge operationin this class.final voidcharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeEventListener listener) This main business operation requests the connected SAP CC system to rate and charge the specifiedchargeable itemfor the specified customer service and for the specifieduser service ID(technical ID of the end user in this customer server) at the specified date.final voidcharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeExecutionContext context, ChargingResultListener listener) This main business operation requests the SAP CC system to charge thespecified chargeable itemfor the specified user service ID and service ID at the specified date.final voidcheckLimit(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, String propertyName, BigDecimal precision, Money limit, boolean estimationMode, int ts, boolean ft, CheckLimitEventListener listener) Consider the maincheck limit operation.final voidcheckLimit(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, String propertyName, BigDecimal precision, Money limitAmount, boolean estimationMode, CheckLimitEventListener listener) This main business operation requests either an inverse rating operation or a best-effort charging operation.final voidcleanup(String subscriberAccountCode, String serviceProvider, Date toDate, int resultType, boolean ft, CleanupEventListener listener) This main business operation triggers the cleanup process in the connected SAP CC Core Server system; The SAP CC system goes through all the existing rating records of a given subscription and deletes the ones that are not relevant at all.createSessionStartAsyncOperation(String sessionID, String userServiceID, String serviceID, Date consumptionDate) This method creates astart operationin order to process an initial event of a session-based charging scenario.
Theinterfacereturned by this method allows defining several reservations through multiple calls toprepareReserve.createSessionStopAsyncOperation(String sessionID, String userServiceID, String serviceID, Date consumptionDate) This method creates astop operationin order to process a termination event of a session-based charging scenario.
This operation can manage several: confirmations through calls toprepareConfirmcancellations through calls toprepareCancelWhen all the confirmations and cancellations are prepared, a call toexecutesends the request.
Thisoperationconfirms (partially or totally) a previous reservation.createSessionUpdateAsyncOperation(String sessionID, String userServiceID, String serviceID, Date consumptionDate) This method creates anupdate operationin order to process an update event of a session-based charging scenario.
The interface returned by this method allows defining several: reservations through calls toprepareReserveconfirmations through calls toprepareConfirmcancellations through calls toprepareCancelreservation extensions through calls toprepareConfirmAndReserveWhen all the reservations, confirmations, cancellations and reservation extensions are prepared, a call toexecutesends the request.
Thisoperationcharges each reservation (represented as chargeable item) and creates the related reservations on counters and balances.final voidgetEstimatedPrice(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, boolean ft, ChargeEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the blank charging operation Consider the mainget estimated price operationfor more information.final voidgetEstimatedPrice(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, ChargeEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the blank charging operation Consider the mainget estimated price operationin this class.final voidgetEstimatedPrice(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the blank charging operation This main business operation asks the connected SAP CC system to estimate the price relating to a service usage; The SAP CC system only processes the rating (dynamic pricing) of the service usage that is specified by achargeable item, a user service ID, a service ID, and a consumption date.voidmonitorSpendingStatus(String monitoringId, byte ssrlId, String userServiceId, String[] spendingStatusIds, int ttl, IMonitorSpendingStatusResultListener monitorSpendingStatusResultListener) Manages the monitoring of spending statuses that relate to an end customer (seeuserServiceId) during customer service charging and refilling operations
The spending status monitoring is identified by themonitoringId.final voidpostRate(long reservationUID, String serviceID, String userServiceID, int resolution, int resultType, boolean ft, ChargeableItem newCi, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to post-rate the specified reservation unique identifier using the given resolution.final voidpostRate(long reservationUID, String serviceID, String userServiceID, int resolution, int resultType, ChargeableItem newCi, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to post-rate the specified reservation unique identifier using the given resolution.final voidpreRate(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int resultType, boolean ft, long reservationUID, int defaultResolution, long ttl, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to pre-rate the specified chargeable item for the specified user service ID and the specified service ID at the specified date, and using the passed reservation unique identifier, default resolution and time to live.final voidpreRate(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int resultType, long reservationUID, int defaultResolution, long ttl, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to pre-rate the specified chargeable item for the specified user service ID and the specified service ID at the specified date, and using the passed reservation unique identifier, default resolution and time to live.voidregisterReservationRenewalListener(byte rrlId, IReservationRenewalListener rrl) Registers aReservation Renewal Listener(RRL) with its identifier.voidregisterSpendingStatusReportListener(byte ssrlId, ISpendingStatusReportListener ssrl) Registers aSpending Status Report Listener(SSRL) with its identifier.final voidstartRate(ChargeableItem ciToReserve, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int defaultResolution, long ttl, int resultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services Consider the mainstart rate operationfor more information; You can specify if the resulting transactions must be filtered.final voidstartRate(ChargeableItem ciToReserve, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int defaultResolution, long ttl, int resultType, int cleanupResultType, boolean ft, String propertyToInverse, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This main business operation represents the start of a session-based charging with best effort reservation; If the reservation fails due to a low-credit, an inverse charging may be attempted if the property name of the property to inverse is provided.final voidstartRate(ChargeableItem ciToReserve, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int defaultResolution, long ttl, int resultType, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This main business operation represents the start of a session-based charging.final voidstopRate(ChargeableItem confirmationItem, String sessionID, String serviceID, String userServiceID, int resolution, int resultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the stop of a session-based rating.final voidstopRate(ChargeableItem confirmationItem, String sessionID, String serviceID, String userServiceID, int resolution, int resultType, int cleanupResultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the stop of a session-based rating.final voidstopRate(ChargeableItem confirmationItem, String sessionID, String serviceID, String userServiceID, int resolution, int resultType, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the stop of a session-based rating.final voidtranslate(String tableCode, int operator, Date date, String[] inValues, TranslateEventListener listener) Translates some values by using a translation table configured in a pricing catalogfinal voidtranslate(String tableCode, int operator, Date date, Date referenceDate, String[] inValues, TranslateEventListener listener) Translates some values by using a translation tablevoidunregisterReservationRenewalListener(byte rrlId) Unregisters aReservation Renewal Listenerfrom the list of listeners, by its identifier.voidunregisterSpendingStatusReportListener(byte ssrlId) Unregisters aSpending Status Report Listenerfrom the list of listeners, by its identifier.final voidupdateRate(ChargeableItem confirmationItem, ChargeableItem reservationItem, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int resultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the update of a session-based rating.final voidupdateRate(ChargeableItem confirmationItem, ChargeableItem reservationItem, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int resultType, int cleanupResultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the update of a session-based rating.final voidupdateRate(ChargeableItem confirmationItem, ChargeableItem reservationItem, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int resultType, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the update of a session-based charging.Methods inherited from class com.highdeal.cnd.message.AsyncRatingServiceClient
addAuthenticationListener, close, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, getBootMode, getClientOpEventListener, getConnectionStatus, getSslContext, getTimeout, isAtLeastOneConnectionIsRegistered, isConnected, isNoTimeout, setBootMode, setClientOpEventListener, setHAEventListener, setNoTimeout, setSslContext, setUserCredentials, setUserCredentials
-
Constructor Details
-
AsyncStatefulServiceClient
public AsyncStatefulServiceClient()Creates acharging clientUse one of theconnect(..) methodsto connect this client to the distant SAP CC system. -
AsyncStatefulServiceClient
Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection. Creates acharging clientand connects it to the distant SAP CC Core Server system- Parameters:
hostName- The host name of the SAP CC Core Server systemport- The communication port on which the SAP CC system waits for requests via the Message TCP technical interface- Throws:
IOException- if the client cannot connect to the SAP CC system
-
AsyncStatefulServiceClient
@Deprecated public AsyncStatefulServiceClient(String hostName, int port, int timeout) throws IOException Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection. Creates acharging clientand connects it to the distant SAP CC Core Server system; A client timeout is specified for the communications.- Parameters:
hostName- The host name of the SAP CC Core Server systemport- The communication port on which the SAP CC system waits for request via the Message TCP technical interfacetimeout- The timeout in milliseconds for each request (or-1to wait indefinitely) If you use zero and acknowledgments are requested then aCommunicationFailureExceptionwill be thrown without sending request.- Throws:
IOException- if the client cannot connect to the SAP CC system (if the server system is not running, for instance)
-
AsyncStatefulServiceClient
@Deprecated public AsyncStatefulServiceClient(String hostName, int port, FoundLostRatingListener ratingListener) throws IOException Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection. Initializes acharging clientand connects it to the distant SAP CC Core Server system;- Parameters:
hostName- The host name of the SAP CC Core Server systemport- The communication port on which the SAP CC system waits for requestsratingListener- The listener informed when rating is found or lost- Throws:
IOException- if the client cannot connect to the SAP CC system
-
AsyncStatefulServiceClient
@Deprecated public AsyncStatefulServiceClient(String hostName, int port, String bindAddress, int timeout, FoundLostRatingListener ratingListener) throws IOException Deprecated.Deprecated since version 4.1 SP2 of SAP CC and replaced by the empty builder and an authenticated connection. Initializes acharging clientand connects it to the distant SAP CC Core Server system;- Parameters:
bindAddress- The network address to bind totimeout- The timeout in milliseconds for each request (or-1to wait indefinitely); If you use zero and acknowledgments are requested then aCommunicationFailureExceptionwill be thrown without sending request.ratingListener- The listener informed when rating is found or lost- Throws:
IOException- if the client cannot connect to the SAP CC system
-
-
Method Details
-
charge
public final void charge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, boolean ft, ChargeEventListener listener) Consider the maincharge operationin this class.- Parameters:
ci- Thechargeable itemto chargeserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerts- The transaction selectionNONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTION,ALL_TRANSACTION_AND_RECURRINGft- Sets if the returned transactions must be filtered according to thetransactionTemplatelistener- The listener responsible for processing the results or exceptions of this operation
-
charge
public final void charge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, ChargeEventListener listener) Consider the maincharge operationin this class.- Parameters:
ci- Thechargeable itemto chargeserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerts- The transaction selectionNONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTION,ALL_TRANSACTION_AND_RECURRINGlistener- The listener responsible for processing the results or exceptions of this operation
-
charge
public final void charge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeEventListener listener) This main business operation requests the connected SAP CC system to rate and charge the specified
chargeable itemfor the specified customer service and for the specifieduser service ID(technical ID of the end user in this customer server) at the specified date.Note
This operation may conflict with the prerating feature that is now deprecated. Do not use this operation if some prerating operations are not post-rated.
- Parameters:
ci- Thechargeable itemto chargeserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerlistener- The listener responsible for processing the results or exceptions of this operation
-
charge
public final void charge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeExecutionContext context, ChargingResultListener listener) This main business operation requests the SAP CC system to charge the
specified chargeable itemfor the specified user service ID and service ID at the specified date.The behavior of the operation as well as the content of the result of the operation can be configured using an
execution context.Note
This operation may conflict with the prerating feature that is now deprecated. Do not use this operation if some prerating operations are not post-rated.
- Parameters:
ci- Thechargeable itemto chargeserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customercontext- Thecontextin which the operation is executedlistener- Thelistenerresponsible for processing the result or exception of this operation
-
blankCharge
public final void blankCharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, ChargeEventListener listener) This main business operation requests the connected SAP CC system to charge in blank execution mode the specified
chargeable itemfor the specified user service ID and service ID at the specified date.This operation is equivalent to charge operation but the blank mode means that no data is committed to the database.
Caution
If the transaction processor does not take care about the database transaction (transaction processor which stores the transactions into a file by example), the transaction processor action will not be rollbacked.
- Parameters:
ci- Thechargeable itemto chargeserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerts- The transaction selectionNONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTION,ALL_TRANSACTION_AND_RECURRINGlistener- The listener responsible for processing the results or exceptions of this operation
-
blankCharge
public final void blankCharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, boolean ft, ChargeEventListener listener) Consider the mainblank charge operationin thisclass.- Parameters:
ci- Thechargeable itemto chargeserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerts- The transaction selectionNONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTION,ALL_TRANSACTION_AND_RECURRINGft- Sets if the returned transactions must be filtered according to thetransactionTemplatelistener- The listener responsible for processing the results or exceptions of this operation
-
blankCharge
public final void blankCharge(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeExecutionContext context, ChargingResultListener listener) This main business operation requests the SAP CC system to charge in blank mode the specified chargeable item for the specified user service ID and service ID at the specified date.
The behavior of the operation as well as the content of the result of the operation can be configured using an
execution context.This operation is equivalent to the
charge operationbut the blank mode means that no data is committed to the database.Caution
If the transaction processor does not take care about the database transaction (transaction processor which stores the transactions into a file by example), the transaction processor action will not be rollbacked.
- Parameters:
ci- Thechargeable itemto adviseserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customercontext- Thecontextin which the operation is executedlistener- Thelistenerresponsible for processing the result or exception of this operation
-
getEstimatedPrice
@Deprecated public final void getEstimatedPrice(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, ChargeEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the blank charging operation Consider the mainget estimated price operationin this class. Estimates the price of a usage consumption (white rating).
Asks the server to rate the specified chargeable item for the specified user service ID and service ID at the specified date without impacting the database.- Parameters:
ci- Thechargeable itemto determine the priceserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerts- The transaction selectionNONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTION,ALL_TRANSACTION_AND_RECURRINGlistener- The listener responsible for processing the results or exceptions of this operation
-
getEstimatedPrice
@Deprecated public final void getEstimatedPrice(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, ChargeEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the blank charging operation This main business operation asks the connected SAP CC system to estimate the price relating to a service usage; The SAP CC system only processes the rating (dynamic pricing) of the service usage that is specified by achargeable item, a user service ID, a service ID, and a consumption date. The accounting (account determination) is not processed.Note
There is no impact to the customer mater data in the back-end database: The SAP CC system does not update the balances in subscriber account and the counters in contracts or subscriptions.
Recommendation
Refer to the description of the
Java packagefor more information.- Parameters:
ci- Thechargeable itemrepresenting the service usage that must be dynamically pricedserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerlistener- The listener responsible for processing the results or exceptions of this operation
-
getEstimatedPrice
@Deprecated public final void getEstimatedPrice(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int ts, boolean ft, ChargeEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the blank charging operation Consider the mainget estimated price operationfor more information. Estimates the price of a usage consumption (white rating).
Asks the server to rate the specified chargeable item for the specified user service ID and service ID at the specified date without impacting the database.- Parameters:
ci- Thechargeable itemto determine the priceserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerts- The transaction selectionNONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTION,ALL_TRANSACTION_AND_RECURRINGft- Sets if the returned transactions must be filtered according to thetransactionTemplatelistener- The listener responsible for processing the results or the exceptions of this operation
-
checkLimit
public final void checkLimit(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, String propertyName, BigDecimal precision, Money limitAmount, boolean estimationMode, CheckLimitEventListener listener) This main business operation requests either an inverse rating operation or a best-effort charging operation.-
The inverse rating operation determines the maximum quantity of a customer service
that an end customer can consume based on a limit amount.
In the operation request, you specify the limit amount (
limitAmount) and the property (included in achargeable item) that represents this possible quantity of service (ex: call duration in seconds). The SAP CC system computes the value of this property by using dichotonomy algorythms and a precision specified in the request. Once answered, you can request a charging operation to charge a credit on a prepaid account. - The best-effort charging operation checks first this limit and automatically charges the end customer for that price even if the end customer does not totally use (consule) the service.
The chargeable item that is specified must contain a value for the
propertyto inverse. This value represents the maximum value return for the property to inverse. The value must be valid regarding theprecisionspecified. This business operation assumes that the value of the property to inverse is between 0 and the maximum value.Note
When the limit amount of money is not provided (
nullvalue), the limit is retrieved from the account balances.Options: You can specify the precision. The precision of the result must be one of the following: 1, 0.1, 0.01, 0.001 ...
Caution
When the processed charging plan depends on the property to inverse, the inverse rating operation can return a value which does not correspond to the exact limit, and thus fails when really charged.
The configuration of the pricing catalog of a service provider (master data) is very important. Check the pricing logic (price plan) and the charging logic (charging plan) of the charges customized in the charge plans (or the offers) that are activated in the provider contract (or subscription) from the end customer who uses the customer service.
- Parameters:
ci- Thechargeable itemto use for the inverse rating or best-effort chargingserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerpropertyName- The name of the property in the chargeable item that is used by the inverse rating function (ex.: call duration in seconds)precision- The precision for the computed property valuelimitAmount- The limit amount to inverse (must be positive ornull)estimationMode- The estimation mode (falsefor a best-effort charging operation;truefor an inverse rating operation)listener- Thelistenerresponsible for processing the results or exceptions of this operation
-
The inverse rating operation determines the maximum quantity of a customer service
that an end customer can consume based on a limit amount.
In the operation request, you specify the limit amount (
-
checkLimit
public final void checkLimit(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, String propertyName, BigDecimal precision, Money limit, boolean estimationMode, int ts, boolean ft, CheckLimitEventListener listener) Consider the maincheck limit operation.This operation represents the property limit check operation also called Inverse Rating. The chargeable item that is sent during this operation must contain a value for the property to inverse. This value represents the maximum value return for the property to inverse. The value must be valid regarding the precision used. This operation assumes that the value of the property to inverse is between 0 and the maximum value. An inverse rating is performed followed by a final rating if the estimation mode is set to
false. In addition, the client has the ability to specify the precision. The precision of the result must be one of the following: 1, 0.1, 0.01, 0.001 ...
When the limit amount of money is not provided (null value), the limit is retrieved from the account balances.- Parameters:
ci- theChargeableItemto rateserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- the date the service was consumed by the end customerpropertyName- the name of the property used by the inverse rating processprecision- the precision for the computed property valuelimit- the limit to inverse (must positive or null)estimationMode- the estimation modets- the transaction selectionNONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTION,ALL_TRANSACTION_AND_RECURRINGft- sets if the returned transactions must be filtered according to thetransactionTemplatelistener- the listener responsible for processing the results or exceptions of this operation
-
preRate
@Deprecated public final void preRate(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int resultType, long reservationUID, int defaultResolution, long ttl, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to pre-rate the specified chargeable item for the specified user service ID and the specified service ID at the specified date, and using the passed reservation unique identifier, default resolution and time to live. The operation allows the used of the same reservation unique identifier for more than one pre-rating. This case is managed at post-rating time.- Parameters:
ci- theChargeableItemto rate.serviceID- the service IDuserServiceID- the user service ID. This parameter is used as key for determining the partition ID for guiding the request towards the related rater. So it cannot be set to null. If this parameter is set to null, ForbiddenChargeException is thrown with ILLEGAL_ARGUMENT as reason .consumptionDate- the consumption dateresultType- the result type (seePreRateOpfor the constants)reservationUID- the reservationUID used later to post-ratedefaultResolution- the default resolution to be used at expiration (seePreRateOp}for the constants)ttl- the time to live given in secondslistener- the listener responsible for processing the results or exceptions of this operation.
-
preRate
@Deprecated public final void preRate(ChargeableItem ci, String serviceID, String userServiceID, Date consumptionDate, int resultType, boolean ft, long reservationUID, int defaultResolution, long ttl, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to pre-rate the specified chargeable item for the specified user service ID and the specified service ID at the specified date, and using the passed reservation unique identifier, default resolution and time to live. The operation allows the used of the same reservation unique identifier for more than one pre-rating. This case is managed at post-rating time.- Parameters:
ci- theChargeableItemto rate.serviceID- the service IDuserServiceID- the user service ID. This parameter is used as key for determining the partition ID for guiding the request towards the related rater. So it cannot be set to null. If this parameter is set to null, ForbiddenChargeException is thrown with ILLEGAL_ARGUMENT as reason .consumptionDate- the consumption dateresultType- the result type (seePreRateOpfor the constants)ft- sets if the returned transactions must be filtered according to thetransactionTemplatereservationUID- the reservationUID used later to post-ratedefaultResolution- the default resolution to be used at expiration (seePreRateOp}for the constants)ttl- the time to live given in secondslistener- the listener responsible for processing the results or exceptions of this operation.
-
postRate
@Deprecated public final void postRate(long reservationUID, String serviceID, String userServiceID, int resolution, int resultType, ChargeableItem newCi, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to post-rate the specified reservation unique identifier using the given resolution. If more than one rating record for that reservation identifier are present into the database, the operation chooses one arbitrarily. In that case, the operation logs the reservation identifier. When resolution is CONFIRMED then a newChargeableItemmay be passed.
Not likePostRateOp, there areserviceIDanduserServiceIDparameters. They have no functional meaning and are not mandatory, but setting them with same value as forpreRatemay increase the performance in multi-server configuration.- Parameters:
reservationUID- the reservationUID to post-rateserviceID- the service ID (no functional meaning, used only as load balancing key on HA configuration)userServiceID- the user service ID (no functional meaning, used only as load balancing key on HA configuration)resolution- the resolution to be used (seePostRateOpfor the constants)resultType- the result type (seePostRateOpfor the constants)newCi- the newChargeableItemto be used for this post-ratinglistener- the listener responsible for processing the results or exceptions of this operation.
-
postRate
@Deprecated public final void postRate(long reservationUID, String serviceID, String userServiceID, int resolution, int resultType, boolean ft, ChargeableItem newCi, PrePostRateEventListener listener) Deprecated.Deprecated since version 2.0 of SAP CC and replaced by the multiservice session-based charging services Asks the server to post-rate the specified reservation unique identifier using the given resolution. If more than one rating record for that reservation identifier are present into the database, the operation chooses one arbitrarily. In that case, the operation logs the reservation identifier. When resolution is CONFIRMED then a newChargeableItemmay be passed.
Not likePostRateOp, there areserviceIDanduserServiceIDparameters. They have no functional meaning and are not mandatory, but setting them with same value as forpreRatemay increase the performance in multi-server configuration.- Parameters:
reservationUID- the reservationUID to post-rateserviceID- the service ID (no functional meaning, used only as load balancing key on HA configuration)userServiceID- the user service ID (no functional meaning, used only as load balancing key on HA configuration)resolution- the resolution to be used (seePostRateOpfor the constants)resultType- the result type (seePostRateOpfor the constants)ft- sets if the returned transactions must be filtered according to thetransactionTemplatenewCi- the newChargeableItemto be used for this post-ratinglistener- the listener responsible for processing the results or exceptions of this operation.
-
activate
public final void activate(String subscriberAccountCode, String serviceProvider, int resultType, boolean ft, Date toDate, ActivateEventListener listener) This main operation triggers the activation of all the periodic and one-off fees (see recurring rates and one-shot rates in the charges) configured in the provider contracts andsubscriptionsrelating to the specifiedsubscriber account; You use this operation to prepare the invoicing and billing operations in an external system.Note
You retrieve the result of this operation with a dedicated
ActivateEventListener. It returns therelated purchase order. Therelated purchase orderwhich includes the list of generated transactions (if required and if some transactions exist)- one-shot and recurring ones -. The purchase order contains the total of generated amounts and the state of the purchase.- Parameters:
subscriberAccountCode- The identification code of thesubscriber accountrepresenting an end customer of a service providerserviceProvider- The identification code of the service provider, owner of both thepricing catalogsand the customer data (subscriber accounts, provider contracts, subscriptions, ...)resultType- The result type to be returned (NO_TRANSACTION, MASTER_TRANSACTION or ALL_TRANSACTION).ft- Sets if the returned transactions must be filtered according to thetransactionTemplatetoDate- The reference date for triggering the periodic fees. Only fees for which the trigger date is before or equal to this reference date will be triggered and will generate a transaction (or not - not mandatory -)listener- Thelistenerresponsible for processing the results or exceptions of this operation- See Also:
-
cleanup
public final void cleanup(String subscriberAccountCode, String serviceProvider, Date toDate, int resultType, boolean ft, CleanupEventListener listener) This main business operation triggers the cleanup process in the connected SAP CC Core Server system; The SAP CC system goes through all the existing rating records of a given subscription and deletes the ones that are not relevant at all.More precisely, the SAP CC system executes the post-rating process for the expired records, using their default resolution (passed into the
PreRateOp).
As for thepostRate, transactions may be computed. In such a case, these transactions are sent to the TIF connector and can be returned if asked.
You must specify a reference date (see
toDate) that is used by the SAP CC system to determine whether a rating record is expired or not.Note
If you do not implement this operation in your client application, an SAP CC administrator can manually trigger the cleanup operation (see the Admin+ user interface) or configure the SAP CC system to regularly process the cleanup (see the CLEANUP_SCHEDULER_ENABLED system parameter).
See also:
PreRateOp- Parameters:
subscriberAccountCode- The identification code of thesubscriber accountserviceProvider- The identification code of the service providerresultType- The result type to be returned (NO_TRANSACTION, MASTER_TRANSACTION or ALL_TRANSACTION)ft- Sets if the returned transactions must be filtered according to thetransactionTemplatetoDate- The reference date which is used to determine whether a rating record is expired or not. This parameter cannot be null otherwise theForbiddenChargeExceptionexception with ILLEGAL_ARGUMENT is thrown.listener- Thelistenerresponsible for processing the results or exceptions of this operation
-
translate
public final void translate(String tableCode, int operator, Date date, String[] inValues, TranslateEventListener listener) Translates some values by using a translation table configured in a pricing catalog- Parameters:
tableCode- The identification code of the translation table which must be usedoperator- The comparison operatordate- The version date of the translation tableinValues- An array of String which represents the input valueslistener- Thelistenerresponsible for processing the results or exceptions of this operation request- See Also:
-
translate
public final void translate(String tableCode, int operator, Date date, Date referenceDate, String[] inValues, TranslateEventListener listener) Translates some values by using a translation table- Parameters:
tableCode- The identification code of the translation table which must be usedoperator- The comparison operatordate- The version date of the translation tablereferenceDate- The reference date used to check the column "start date" and column "end date"inValues- An array of String which represents the input valueslistener- Thelistenerresponsible for processing the results or exceptions of this operation- See Also:
-
startRate
@Deprecated public final void startRate(ChargeableItem ciToReserve, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int defaultResolution, long ttl, int resultType, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This main business operation represents the start of a session-based charging.
It is in charge of rating the reservation chargeable item and doing the related counter reservations. It creates a charging session (keeping the reserved chargeable item) and returns a charging result used to reserve a credit on the balance of a prepaid account.
Options: The parameters
ttlanddefaultResolutionare used by the session cleaning process to confirm or cancel the last counter reservations after a given amount of time.
Operation Result: The result of this method contains either the amount or all the transactions to reserve. These transactions are not provided to the TIF since they are not the final ones.
See also:
updateRateandstopRate- Parameters:
ciToReserve- Thechargeable itemthat represents the service usage to reserve (mandatory)sessionID- The identifier of the charging session which has to be uniqueserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerdefaultResolution- The default resolution of the charging session at expiration time (CANCELLEDorCONFIRMED)ttl- The time to live expressed in secondsresultType- The charging result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)listener- Thelistenerresponsible for processing the results or exceptions of this operation request- See Also:
-
startRate
@Deprecated public final void startRate(ChargeableItem ciToReserve, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int defaultResolution, long ttl, int resultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services Consider the mainstart rate operationfor more information; You can specify if the resulting transactions must be filtered. This operation represents the start of a session-based charging.
It is in charge of rating the reservation chargeable item and doing the related counter reservations. It creates a rating session (keeping the reservation chargeable item) and returns a rating result used to reserve the balance.
The parametersttlanddefaultResolutionare used by the session cleaning process to confirm or cancel the last counter reservations after a given amount of time.
The result of this method contains either the amount or all the transactions to reserve. These transactions are not provided to the TIF since they are not the final ones.
See also:updateRateandstopRate- Parameters:
ciToReserve- Thechargeable itemthat represents the service usage to reserve (mandatory)sessionID- The identifier of the charging session which has to be uniqueserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerdefaultResolution- The default resolution of the charging session at expiration time (CANCELLEDorCONFIRMED)ttl- The time to live expressed in secondsresultType- The charging result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)ft- Sets if the returned transactions must be filtered according to thetransactionTemplatelistener- Thelistenerresponsible for processing the results or exceptions of this operation request
-
startRate
@Deprecated public final void startRate(ChargeableItem ciToReserve, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int defaultResolution, long ttl, int resultType, int cleanupResultType, boolean ft, String propertyToInverse, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This main business operation represents the start of a session-based charging with best effort reservation; If the reservation fails due to a low-credit, an inverse charging may be attempted if the property name of the property to inverse is provided. This mechanism is known as best effort reservation. This property name is registered in the charging session to avoid providing it again or changing it atupdatetime.It is in charge of rating the reservation chargeable item and doing the related counter reservations. It creates a rating session (keeping the reservation chargeable item) and returns a rating result used to reserve the balance.
The parametersttlanddefaultResolutionare used by the session cleaning process to confirm or cancel the last counter reservations after a given amount of time.
The result of this method contains either the amount or all the transactions to reserve. These transactions are not provided to the TIF since they are not the final ones.
See also:updateRateandstopRate- Parameters:
ciToReserve- Thechargeable itemthat represents the service usage to reserve (mandatory)sessionID- The identifier of the charging session which has to be uniqueserviceID- The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- The date the service was consumed by the end customerdefaultResolution- The default resolution of the charging session at expiration time (CANCELLEDorCONFIRMED)ttl- The time to live expressed in secondsresultType- The charging result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)cleanupResultType- The session cleanup rating result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)ft- Sets if the returned transactions must be filtered according to thetransactionTemplatepropertyToInverse- The name of the property to inverse in case of best effort reservationlistener- Thelistenerresponsible for processing the results or exceptions of this operation request- See Also:
-
updateRate
@Deprecated public final void updateRate(ChargeableItem confirmationItem, ChargeableItem reservationItem, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int resultType, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the update of a session-based charging.
Firstly, it retrieves the rating session and re-rate the reservation item to compute a first rating result used by the client application to cancel the previous balance reservation. The transactions from this rating result are provided to the TIF.
Secondly, it consolidates a chargeable item for confirmation using both the reservation one from the rating session and the confirmation one if present. This chargeable item is rated and previously reserved counters are updated into the database. A second rating result is then available for the client application to confirm the balance reservation. The transactions from this rating result are also provided to the TIF.
Thirdly, the engine consolidates a chargeable item for reservation using both the old reservation item (from the rating session) and the provided one (if not present, the old one is used instead). It rates this new reservation item taking the update date into account and does the related counter reservations. A third rating result is available for balance reservation. Finally, it updates the rating session with the new reservation chargeable item.
See alsostopRateandstartRate- Parameters:
confirmationItem- the confirmation item (optional,nullvalue is accepted)reservationItem- the reservation item (optional,nullvalue is accepted)sessionID- the session identifier previously usedserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- the date the service was consumed by the end customerresultType- the rating result type to be returned (NONE_TRANSACTIONorMASTER_TRANSACTION,ALL_TRANSACTION)listener- the listener responsible for processing the results or exceptions of this operation.
-
updateRate
@Deprecated public final void updateRate(ChargeableItem confirmationItem, ChargeableItem reservationItem, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int resultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the update of a session-based rating.
Firstly, it retrieves the rating session and re-rate the reservation item to compute a first rating result used by the client application to cancel the previous balance reservation. The transactions from this rating result are provided to the TIF.
Secondly, it consolidates a chargeable item for confirmation using both the reservation one from the rating session and the confirmation one if present. This chargeable item is rated and previously reserved counters are updated into the database. A second rating result is then available for the client application to confirm the balance reservation. The transactions from this rating result are also provided to the TIF.
Thirdly, the engine consolidates a chargeable item for reservation using both the old reservation item (from the rating session) and the provided one (if not present, the old one is used instead). It rates this new reservation item taking the update date into account and does the related counter reservations. A third rating result is available for balance reservation. Finally, it updates the rating session with the new reservation chargeable item.
See alsostopRateandstartRate- Parameters:
confirmationItem- the confirmation item (optional,nullvalue is accepted)reservationItem- the reservation item (optional,nullvalue is accepted)sessionID- the session identifier previously usedserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- the date the service was consumed by the end customerresultType- the rating result type to be returned (NONE_TRANSACTIONorMASTER_TRANSACTION,ALL_TRANSACTION)ft- sets if the returned transactions must be filtered according to thetransactionTemplatelistener- the listener responsible for processing the results or exceptions of this operation.
-
updateRate
@Deprecated public final void updateRate(ChargeableItem confirmationItem, ChargeableItem reservationItem, String sessionID, Date consumptionDate, String serviceID, String userServiceID, int resultType, int cleanupResultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the update of a session-based rating.
Firstly, it retrieves the rating session and re-rate the reservation item to compute a first rating result used by the client application to cancel the previous balance reservation. The transactions from this rating result are provided to the TIF.
Secondly, it consolidates a chargeable item for confirmation using both the reservation one from the rating session and the confirmation one if present. This chargeable item is rated and previously reserved counters are updated into the database. A second rating result is then available for the client application to confirm the balance reservation. The transactions from this rating result are also provided to the TIF.
Thirdly, the engine consolidates a chargeable item for reservation using both the old reservation item (from the rating session) and the provided one (if not present, the old one is used instead). It rates this new reservation item taking the update date into account and does the related counter reservations. A third rating result is available for balance reservation. Finally, it updates the rating session with the new reservation chargeable item.
See alsostopRateandstartRate- Parameters:
confirmationItem- the confirmation item (optional,nullvalue is accepted)reservationItem- the reservation item (optional,nullvalue is accepted)sessionID- the session identifier previously usedserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- the date the service was consumed by the end customerresultType- the rating result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)cleanupResultType- the session cleanup rating result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)ft- sets if the returned transactions must be filtered according to thetransactionTemplatelistener- the listener responsible for processing the results or exceptions of this operation.
-
stopRate
@Deprecated public final void stopRate(ChargeableItem confirmationItem, String sessionID, String serviceID, String userServiceID, int resolution, int resultType, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the stop of a session-based rating.
Firstly, it retrieves the rating session and re-rate the reservation item to compute a first rating result used by the client application to cancel the previous balance reservation. The transactions from this rating result are provided to the TIF.
Secondly, it consolidates a chargeable item for confirmation using both the reservation one from the rating session and the confirmation one if present. This chargeable item is rated and previously reserved counters are committed into the database. A second rating result is then available for the client application to confirm the balance reservation. The transactions from this rating result are also provided to the TIF.
This method manages also the session cancellation case by setting theresolutionparameter to canceled. It retrieves the rating session first and cancels the related counter reservations coming from either a previous session start or a session update. The rating result that is returned is empty in case of cancellation.
Finally, the rating session is removed and the session identifier becomes available for next sessions.
See alsoupdateRateandstartRate- Parameters:
confirmationItem- the confirmation item (optional,nullvalue is accepted)sessionID- the session identifier previously usedserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceresolution- the resolution of the rating session (CANCELLEDorCONFIRMED)resultType- the rating result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)listener- the listener responsible for processing the results or exceptions of this operation.
-
stopRate
@Deprecated public final void stopRate(ChargeableItem confirmationItem, String sessionID, String serviceID, String userServiceID, int resolution, int resultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the stop of a session-based rating.
Firstly, it retrieves the rating session and re-rate the reservation item to compute a first rating result used by the client application to cancel the previous balance reservation. The transactions from this rating result are provided to the TIF.
Secondly, it consolidates a chargeable item for confirmation using both the reservation one from the rating session and the confirmation one if present. This chargeable item is rated and previously reserved counters are committed into the database. A second rating result is then available for the client application to confirm the balance reservation. The transactions from this rating result are also provided to the TIF.
This method manages also the session cancellation case by setting theresolutionparameter to canceled. It retrieves the rating session first and cancels the related counter reservations coming from either a previous session start or a session update. The rating result that is returned is empty in case of cancellation.
Finally, the rating session is removed and the session identifier becomes available for next sessions.
See alsoupdateRateandstartRate- Parameters:
confirmationItem- the confirmation item (optional,nullvalue is accepted)sessionID- the session identifier previously usedserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceresolution- the resolution of the rating session (CANCELLEDorCONFIRMED)resultType- the rating result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)ft- sets if the returned transactions must be filtered according to thetransactionTemplatelistener- the listener responsible for processing the results or exceptions of this operation.
-
stopRate
@Deprecated public final void stopRate(ChargeableItem confirmationItem, String sessionID, String serviceID, String userServiceID, int resolution, int resultType, int cleanupResultType, boolean ft, SessionEventListener listener) Deprecated.Deprecated since version 4.0 of SAP CC and replaced by the multiservice session-based charging services This operation class represents the stop of a session-based rating.
Firstly, it retrieves the rating session and re-rate the reservation item to compute a first rating result used by the client application to cancel the previous balance reservation. The transactions from this rating result are provided to the TIF.
Secondly, it consolidates a chargeable item for confirmation using both the reservation one from the rating session and the confirmation one if present. This chargeable item is rated and previously reserved counters are committed into the database. A second rating result is then available for the client application to confirm the balance reservation. The transactions from this rating result are also provided to the TIF.
This method manages also the session cancellation case by setting theresolutionparameter to canceled. It retrieves the rating session first and cancels the related counter reservations coming from either a previous session start or a session update. The rating result that is returned is empty in case of cancellation.
Finally, the rating session is removed and the session identifier becomes available for next sessions.
See alsoupdateRateandstartRate- Parameters:
confirmationItem- the confirmation item (optional,nullvalue is accepted)sessionID- the session identifier previously usedserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceresolution- the resolution of the rating session (CANCELLEDorCONFIRMED)resultType- the rating result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)cleanupResultType- the session cleanup rating result type to be returned (NONE_TRANSACTION,MASTER_TRANSACTION,ALL_TRANSACTIONorALL_TRANSACTION_AND_RECURRING)ft- sets if the returned transactions must be filtered according to thetransactionTemplatelistener- the listener responsible for processing the results or exceptions of this operation.
-
createSessionStartAsyncOperation
public ISessionStartChargingAsyncOperation createSessionStartAsyncOperation(String sessionID, String userServiceID, String serviceID, Date consumptionDate) This method creates astart operationin order to process an initial event of a session-based charging scenario.
Theinterfacereturned by this method allows defining several reservations through multiple calls toprepareReserve. When all the reservations are prepared, a call toexecutesends the request.
Thisoperationcharges each reservation (represented as a chargeable item) and creates the related reservations on counters and balances. For each of these reservations a persistent Rating Session is created and a rating result is returned. This return can be used to reserve the balance.
This operation should beexecutedonly once. It must not be reused for future calls.- Parameters:
sessionID- the session identifier which has to be uniqueserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- the date the service was consumed by the end customer (this date is used as a consumption date for reservations)- Returns:
- The operation in charge of collecting and executing the reservations
- See Also:
-
createSessionUpdateAsyncOperation
public ISessionUpdateChargingAsyncOperation createSessionUpdateAsyncOperation(String sessionID, String userServiceID, String serviceID, Date consumptionDate) This method creates anupdate operationin order to process an update event of a session-based charging scenario.
The interface returned by this method allows defining several:- reservations through calls to
prepareReserve - confirmations through calls to
prepareConfirm - cancellations through calls to
prepareCancel - reservation extensions through calls to
prepareConfirmAndReserve
executesends the request.
Thisoperationcharges each reservation (represented as chargeable item) and creates the related reservations on counters and balances. It extends a reservation by charging a partial or total confirmation of a previous reservation and updates the related reservations on counters and balances for the new reservation. And finally it confirms (partially or totally) a previous reservation. Alternatively it is able to cancel the reservation. For each of the new reservations a persistent Rating Session is created and a rating result is returned. This return can be used to reserve the balance. If the Rating Session already exists, it is updated with the new reservation.
This operation should beexecutedonly once. It must not be reused for future calls.- Parameters:
sessionID- the session identifier which has to be uniqueserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- the date the service was consumed by the end customer (this date is used as a consumption date for new reservations)- Returns:
- The operation in charge of collecting and executing the reservations and the confirmations
- See Also:
- reservations through calls to
-
createSessionStopAsyncOperation
public ISessionStopChargingAsyncOperation createSessionStopAsyncOperation(String sessionID, String userServiceID, String serviceID, Date consumptionDate) This method creates astop operationin order to process a termination event of a session-based charging scenario.
This operation can manage several:- confirmations through calls to
prepareConfirm - cancellations through calls to
prepareCancel
executesends the request.
Thisoperationconfirms (partially or totally) a previous reservation. Alternatively it is able to cancel the reservation. This operation should beexecutedonly once. It must not be reused for future calls.- Parameters:
sessionID- the session identifier which has to be uniqueserviceID- the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID- the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate- the date when the session stops- Returns:
- The operation in charge of collecting and executing the confirmations
- See Also:
- confirmations through calls to
-
registerReservationRenewalListener
public void registerReservationRenewalListener(byte rrlId, IReservationRenewalListener rrl) throws IllegalArgumentException, CommunicationFailureException, ServerFailureException Registers aReservation Renewal Listener(RRL) with its identifier. Areservation renewal listener identifier(RRLid) can be used only once in acharging client. But it can also be re-used by othercharging clients. As a consequence it is possible to register severalreservation renewal listenerswith the samereservation renewal listener identifier(one percharging client, at most). In such a situation SAP CC will always select the oldeststateful service clientregistered with thisreservation renewal listener identifier, which is still alive at the time the renew reservation notification must be sent.Note
The registration request is sent to all the available dispatchers. Each dispatcher updates its own map of
RRLids. If the dispatcher cannot update its map, an exception is thrown. In case heartbeat mechanism detects that the connection is down, thestateful service clientwill register again upon reconnection, the set of definedRRL. In case a new dispatcher is started then the registration process is performed right after the connection process.- Parameters:
rrlId- The identifier of thereservation renewal listenerto register (accepted values: 1 to 127)rrl- Thereservation renewal listenerto register- Throws:
IllegalArgumentException- The supported values for a RRLid are 1 to 127 included. A value out of this range or a duplicate RRLid can throw this exception.CommunicationFailureException- Thrown when thecharging clientcannot communicate with the dispatcher instances on the server system side.ServerFailureException- Thrown when the map of RRLids cannot be updated by the dispatcher instances on the server system side.
-
unregisterReservationRenewalListener
public void unregisterReservationRenewalListener(byte rrlId) throws IllegalArgumentException, CommunicationFailureException, ServerFailureException Unregisters aReservation Renewal Listenerfrom the list of listeners, by its identifier.- Parameters:
rrlId- The identifier of thereservation renewal listenerto unregister (accepted values: 1 to 127)- Throws:
IllegalArgumentException- The supported values for a RRLid are 1 to 127 included. A value out of this range or an unknown RRLid can throw this exception.CommunicationFailureException- Thrown when thecharging clientcannot communicate with the dispatcher instances on the server system side.ServerFailureException- Thrown when the map of RRLids cannot be updated by the dispatcher instances on the server system side.
-
registerSpendingStatusReportListener
public void registerSpendingStatusReportListener(byte ssrlId, ISpendingStatusReportListener ssrl) throws IllegalArgumentException, CommunicationFailureException, ServerFailureException Registers aSpending Status Report Listener(SSRL) with its identifier. A spending status report listener identifier (SSRL ID) can be used only once in amonitoring client. Othermonitoring clientscan reused this SSRL ID. It is possible to register several spending status report listeners with the same SSRL ID (one permonitoring client, at most). The SAP CC always selects the oldestmonitoring clientregistered with this SSRL ID and that is still alive at the time the spending status report notification must be sent.Note
The
monitoring clientsends the registration request to all the available dispatcher instances of the connected SAP CC system. Each dispatcher instance updates its own map of SSRL IDs. If a dispatcher instance cannot update its map, an exception is thrown. In case the heartbeat mechanism detects that the connection is down, themonitoring clientregisters again upon reconnection, the set of definedSSRL. If a new dispatcher instance is started in the SAP CC system, then the registration process is performed just after the connection process.- Parameters:
ssrlId- The identifier of thespending status report listenerto register (accepted values: 1 to 127)ssrl- Thespending status report listenerto register- Throws:
IllegalArgumentException- The supported values for a SSRL ID are 1 to 127 included. A value out of this range or a duplicate SSRL ID can throw this exception.CommunicationFailureException- Thrown when themonitoring clientcannot communicate with the dispatcher instances on the SAP CC system side.ServerFailureException- Thrown when the map of SSRL IDs cannot be updated by the dispatcher instances on the SAP CC system side.
-
unregisterSpendingStatusReportListener
public void unregisterSpendingStatusReportListener(byte ssrlId) throws IllegalArgumentException, CommunicationFailureException, ServerFailureException Unregisters aSpending Status Report Listenerfrom the list of listeners, by its identifier.- Parameters:
ssrlId- The identifier of thespending status report listenerto unregister (accepted values: 1 to 127)- Throws:
IllegalArgumentException- The supported values for a SSRLid are 1 to 127 included. A value out of this range or an unknown SSRL ID can throw this exception.CommunicationFailureException- Thrown when themonitoring clientcannot communicate with the dispatcher instances on the SAP CC system side.ServerFailureException- Thrown when the map of SSRL IDs cannot be updated by the dispatcher instances on the server system side.
-
monitorSpendingStatus
public void monitorSpendingStatus(String monitoringId, byte ssrlId, String userServiceId, String[] spendingStatusIds, int ttl, IMonitorSpendingStatusResultListener monitorSpendingStatusResultListener) throws IllegalArgumentException Manages the monitoring of spending statuses that relate to an end customer (seeuserServiceId) during customer service charging and refilling operations
The spending status monitoring is identified by themonitoringId.
The spendingStatusIds contains the list of spending status identifiers to monitor. This list can be:null: To cancel the monitoring- empty: To monitor all the available spending statuses for the retrieved charging contract
- explicit: To monitor only the specified spending statuses
The TTL "Time-To-Live" indicates a period of time (in seconds) after wich the SAP CC system automatically stops this spending status monitoring. The resend of pending spending status report(s) that relate to this monitoring is also canceled.
The monitor spending status result listener receive the result of this opeation and contains the performed operation and the current label value for each monitored spending status.Prerequisite
Your
monitoring clientmust implement aspending status report listenerin charge of receiving and processing the spending status changes. Monitoring results are returned to the implementation of theIMonitorSpendingStatusResultListener.Note
You can create, update, and cancel a spending status monitoring. You can monitor several times the same end customer.
- Parameters:
monitoringId- The identifier of the spending status monitoringssrlId- The identifier of the SpendingStatusReportListener (accepted values: 1 to 127)userServiceId- The user service identifier (USID): A technical identifier of the userspendingStatusIds- Identifying the set of spending statuses to monitorttl- The time to live given in secondsmonitorSpendingStatusResultListener- Receiving the result of this invocation- Throws:
IllegalArgumentException-- when monitoringId, userServiceId is
nullor empty - when the ssrlId is not in the range [1, 127]
- when one identifier provided in spendingStatusIds is
nullor empty - when an identifier is duplicated in the spendingStatusIds
- when the monitorSpendingStatusResultListener is
null
- when monitoringId, userServiceId is
-