com.highdeal.pnr.hci
Class ModifySubscriberAccountOp

java.lang.Object
  extended by com.highdeal.pnr.hci.ModifySubscriberAccountOp
All Implemented Interfaces:
MessageOperation, XMLMarshallable

public class ModifySubscriberAccountOp
extends java.lang.Object
implements MessageOperation

This operation allows to modify a subscriber account in the customer master data managed by the connected SAP CC system.

The modification of a subscriber account is taken into account immediatly. If the modification fails, an InvalidSubscriberAccountException is thrown. The reason of the problem is available thanks to the method getReason().

Here is the list of the allowed modifications:

Allowed modification description Reason of the exception when the modification is not respected
The additional info of a subscriber account can be updated (new property can be added, property can be removed). None
The holder of a subscriber account can be updated. MISSING_SERVICE_PROVIDER if not set.
Its default charged account can be updated. MISSING_DEFAULT_CHARGED_ACCOUNT if not set or if it is a credit limit balance.
New prepaid accounts can be added to the subscriber account and its full parameterization is taken into account if it is valid (it is not the case for modified accounts). DUPLICATED_CODES if the new prepaid accounts has the same code that another account.
Prepaid accounts can be removed. UNDELETABLE_ACCOUNT_BALANCE If at least one charge mapping uses the deleted balance, if it is the overrun target of an account or if it is not empty (and the option ignoreNotEmptyAccount is not set).
The description, the empty limit, the overrun balance (that can be removed), the tax code, the expiration alert plan and the clipping limit of a prepaid account can be modified. None, all the other modifications are not taking into account.
New credit limit balances can be added to the subscriber account and its full parameterization is taken into account if it is valid. DUPLICATED_CODES if the new credit limit balance has the same code that another account.
Credit limit balance can be removed. UNDELETABLE_ACCOUNT_BALANCE If at least one charge mapping uses the deleted balance.
The description, the credit limit and the reset frequency of a credit limit balance can be modified. None, all the other modifications are not taking into account.
New external account can be added to the subscriber account and its full parameterization is taken into account if it is valid. * DUPLICATED_CODES if the new external account has the same code that another account.
External account can be removed. UNDELETABLE_ACCOUNT_BALANCE If at least one charge mapping uses the deleted balance.
The description, the external account code, the external system code of an external account can be modified.
Currency can be modified only if the account is not already mapped by a charging mapping. FORBIDDEN_CURRENCY_UPDATE if the currency of a mapped account is modified.

Note

To delete some not empty prepaid accounts, set the option "ignoreNotEmptyAccount" to true. In this case, the prepaid accounts are first resetted before to be deleted. The reset takes into account the amount alerts only if the option "enableAmountAlerts" is set to true too.

Operation Result

ModifySubscriberAccountResult

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="modifySubscriberAccount">
   <xs:complexType>
     <xs:sequence>
       <xs:element ref="subscriberAccount" minOccurs="1" maxOccurs="1"/>
     </xs:sequence>
     <xs:attribute name="ignoreNotEmptyAccount" type="xs:boolean" />
     <xs:attribute name="enableAmountAlerts" type="xs:boolean" />
   </xs:complexType>
 </xs:element>

Operation Availability

You can send this operation request in HCI messages to the following final target types of instances in the connected SAP CC system:

EditionFinal Target Instances
raterupdaterguiderbulkLoadertaxerdispatcher
chargeNoYesNoNoNoNo

Field Summary
static java.lang.String OPERATION_NAME
          The XML tag name of the service operation: "modifySubscriberAccount"
 
Constructor Summary
ModifySubscriberAccountOp()
          Initialize an empty modify subscriber account operation.
ModifySubscriberAccountOp(SubscriberAccountModel subcriberAccount)
          Initialize a modify subsriber account specifying the modification of the subscriber account.
 
Method Summary
 void addCharacterData(java.lang.String cData)
          Adds character data to the content element.
 void addChild(java.lang.String tagName, XMLMarshallable child)
          Adds a child to the object, the child representing the marshallable object which must be added to the element.
 java.lang.String getName()
          Returns the name of the operation.
 SubscriberAccountModel getSubscriberAccount()
          Returns the modification of the subscriber account.
 boolean isAmountAlertsEnabled()
          Returns true if the amount alerts must be taken into account when a not empty prepaid account is deleted, false otherwise.
 void isAmountAlertsEnabled(boolean b)
          Sets if amount alerts must be taken into account when a not empty prepaid account is deleted.
 boolean isIgnoringNotEmptyAccount()
          Returns true if not empty prepaid account must be ignored.
 void isIgnoringNotEmptyAccount(boolean b)
          Sets if not empty prepaid account must be ignored or not.
 void marshal(XMLOutputter output)
          Gives an XML representation of this object, including its children.
 void setAttributes(XMLAttributes atts)
          Sets the attributes of the XML representation of the element being processed.
 void setSubscriberAccount(SubscriberAccountModel subcriberAccount)
          Sets the modification of the subscriber account.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OPERATION_NAME

public static final java.lang.String OPERATION_NAME
The XML tag name of the service operation: "modifySubscriberAccount"

See Also:
Constant Field Values
Constructor Detail

ModifySubscriberAccountOp

public ModifySubscriberAccountOp()
Initialize an empty modify subscriber account operation.


ModifySubscriberAccountOp

public ModifySubscriberAccountOp(SubscriberAccountModel subcriberAccount)
Initialize a modify subsriber account specifying the modification of the subscriber account.

Parameters:
subcriberAccount - The modified subscriber account
Method Detail

getSubscriberAccount

public SubscriberAccountModel getSubscriberAccount()
Returns the modification of the subscriber account.

Returns:
The modified subscriber account

setSubscriberAccount

public void setSubscriberAccount(SubscriberAccountModel subcriberAccount)
Sets the modification of the subscriber account.

Parameters:
subcriberAccount - The modified subscriber account

getName

public java.lang.String getName()
Returns the name of the operation. Is modifySubscriberAccount.

Specified by:
getName in interface MessageOperation
Returns:
"modifySubscriberAccount"

isIgnoringNotEmptyAccount

public boolean isIgnoringNotEmptyAccount()
Returns true if not empty prepaid account must be ignored. Useful to be able to delete not empty prepaid account. false otherwise.

Returns:
true if the modification ignores the not empty prepaid account, false otherwise

isIgnoringNotEmptyAccount

public void isIgnoringNotEmptyAccount(boolean b)
Sets if not empty prepaid account must be ignored or not.

Parameters:
b - true if the not empty prepaid accounts are ignored, false otherwise

isAmountAlertsEnabled

public boolean isAmountAlertsEnabled()
Returns true if the amount alerts must be taken into account when a not empty prepaid account is deleted, false otherwise.

Returns:
true if the amount alerts are enabled, false otherwise

isAmountAlertsEnabled

public void isAmountAlertsEnabled(boolean b)
Sets if amount alerts must be taken into account when a not empty prepaid account is deleted.

Parameters:
b - true to enable the amount alerts, false otherwise

setAttributes

public void setAttributes(XMLAttributes atts)
Description copied from interface: XMLMarshallable
Sets the attributes of the XML representation of the element being processed.

Specified by:
setAttributes in interface XMLMarshallable
Parameters:
atts - The XML attributes of the current element

addChild

public void addChild(java.lang.String tagName,
                     XMLMarshallable child)
Description copied from interface: XMLMarshallable
Adds a child to the object, the child representing the marshallable object which must be added to the element.

Specified by:
addChild in interface XMLMarshallable
Parameters:
tagName - The name of tag for the child
child - The child to be added

addCharacterData

public void addCharacterData(java.lang.String cData)
Description copied from interface: XMLMarshallable
Adds character data to the content element.

Specified by:
addCharacterData in interface XMLMarshallable
Parameters:
cData - The character data to be added

marshal

public void marshal(XMLOutputter output)
Description copied from interface: XMLMarshallable
Gives an XML representation of this object, including its children.

Specified by:
marshal in interface XMLMarshallable
Parameters:
output - The XML output to marshal the object into

Document Published: October 2015 (SAP CC 4.0 SP10 and Later)