com.highdeal.pnr.hci
Class ModifySubscriptionBulkOp

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

public class ModifySubscriptionBulkOp
extends java.lang.Object
implements MessageOperation

This operation allows to do a bulk modification on subscriptions thanks to a filter selecting entities to be modified, and a modification model containing modifications to be applied on selected entities. This operation must contain one subscriptionSearchFilter and one subscriptionModification, or one chargeActivationSearchFilter and one chargeActivationModification, otherwise the operation fails.
As the subscription is a tree structure, the filter must retrieve exactly entities on which the modification will occur. Modifications can occur on subscriptions (not necessarily root subscriptions) or charge activations in the tree structure.
If modifications occur on subscriptions, the filter must be a subscriptionSearchFilter, if the modifications occur on charge activations, the filter must be a chargeActivationSearchFilter.
If the filter is a subscriptionSearchFilter, the modification model must be a subscriptionModification, if the filter is a chargeActivationSearchFilter, the modification model must be a chargeActivationModification.

This operation may conflict with the pre-rating feature. This may lead to inconsistency if the modification is done in the past since the post-rating could have a result that differs from the one of the related pre-rating. To prevent from that, the user is warned when he/she tries to modify a subscription containing unresolved pre-ratings. But if the user considers the modification as safe, he/she can force it (using the ignorePrerating parameter).

Subscription modifications that are not safe are: Charge activation modifications that are not safe are: /!\ WARNING ABOUT COUNTER MODIFICATION A subscription or a chargeActivation counter can be modified only if it has already been created. It means that only the subscriptions for which a rating have been done or the subscriptions which have been activated by the pnr scheduler or the activateAll operation, will be impacted by this bulk modification. To improve bulk performance and minimize database locks, this process allows the user to customize some parameters : Warning: Modifications are not committed in one time. So if targeted subscriptions are rated during bulk process, we can not be sure that modifications are applied or not.

Operation Result

ModifySubscriptionBulkResult

Operation Failure Exceptions

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="modifySubscriptionBulk">
   <xs:complexType>
     <xs:choice>
       <xs:sequence>
         <xs:element ref="subscriptionSearchFilter" minOccurs="1" maxOccurs="1"/>
         <xs:element ref="subscriptionModification" minOccurs="1" maxOccurs="1"/>
         </xs:sequence>
         <xs:sequence>
         <xs:element ref="chargeActivationSearchFilter" minOccurs="1" maxOccurs="1"/>
         <xs:element ref="chargeActivationModification" minOccurs="1" maxOccurs="1"/>
       </xs:sequence>
     </xs:choice>
     <xs:attribute name="ignorePreRating" type="xs:string" default="false"/>
     <xs:attribute name="ignorePendingSession" type="xs:string" default="false"/>
   </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
           
 
Constructor Summary
ModifySubscriptionBulkOp()
          Builds an empty operation.
 
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.
 SearchFilterModel getFilter()
          Gets the filter.
 ModificationModel getModification()
          Gets the modification model.
 java.lang.String getName()
          Returns the name of the operation, that is "modifySubscriptionBulk".
 java.lang.String getOperationID()
          Gets the operation id.
 boolean isIgnorePendingSession()
          Gets the ignorePendingSession attribute.
 boolean isIgnorePreRating()
          Gets the ignorePreRating attribute.
 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 setFilter(SearchFilterModel sf)
          Sets the filter.
 void setIgnorePendingSession(boolean ignorePendingSession)
          Sets the ignorePendingSession attribute.
 void setIgnorePreRating(boolean ignorePreRating)
          Sets the ignorePreRating attribute.
 void setModification(ModificationModel m)
          Sets the subscription modification.
 void setOperationID(java.lang.String id)
          Sets the operation id.
 
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
See Also:
Constant Field Values
Constructor Detail

ModifySubscriptionBulkOp

public ModifySubscriptionBulkOp()
Builds an empty operation.

Method Detail

getOperationID

public java.lang.String getOperationID()
Gets the operation id.

Returns:
the operation id, or null if the operation has no id.

setOperationID

public void setOperationID(java.lang.String id)
Sets the operation id.

Parameters:
id - the operation id.

getName

public java.lang.String getName()
Returns the name of the operation, that is "modifySubscriptionBulk".

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

getFilter

public SearchFilterModel getFilter()
Gets the filter.

Returns:
the filter.

setFilter

public void setFilter(SearchFilterModel sf)
Sets the filter.

Parameters:
sf - the filter.

getModification

public ModificationModel getModification()
Gets the modification model.

Returns:
the modification model.

setModification

public void setModification(ModificationModel m)
Sets the subscription modification.

Parameters:
m - the subscription modification.

isIgnorePreRating

public boolean isIgnorePreRating()
Gets the ignorePreRating attribute.

Returns:
the ignorePreRating value

setIgnorePreRating

public void setIgnorePreRating(boolean ignorePreRating)
Sets the ignorePreRating attribute.

Parameters:
ignorePreRating -

isIgnorePendingSession

public boolean isIgnorePendingSession()
Gets the ignorePendingSession attribute.

Returns:
the ignorePendingSession value

setIgnorePendingSession

public void setIgnorePendingSession(boolean ignorePendingSession)
Sets the ignorePendingSession attribute.

Parameters:
ignorePendingSession -

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

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

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

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)