public class ModifySubscriptionBulkOp extends Object implements MessageOperation
subscriptionSearchFilter and one
subscriptionModification, or one
chargeActivationSearchFilter and one
chargeActivationModification, otherwise the operation fails.subscriptionSearchFilter, if the modifications occur on
charge activations, the filter must be a chargeActivationSearchFilter.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 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 :
PNR_BULK_THREAD_COUNT threads used to modify subscriptions.
PNR_BULK_SEARCH_FETCH_SIZE size of subscription blocks which matches the search filter.
PNR_BULK_MODIFICATION_FETCH_SIZE size of subscription blocks to modify.
ModifySubscriptionBulkResult 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>
You can send this operation request in HCI messages to the following final target types of instances in the connected SAP CC system:
| Edition | Final Target Instances | |||||
| rater | updater | guider | bulkLoader | taxer | dispatcher | |
| charge | No | Yes | No | No | No | No |
This operation is audited as part of the audit domain CUSTOMER
| Modifier and Type | Field and Description |
|---|---|
static String |
OPERATION_NAME |
| Constructor and Description |
|---|
ModifySubscriptionBulkOp()
Builds an empty operation.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCharacterData(String cData)
Adds character data to the content element.
|
void |
addChild(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.
|
String |
getName()
Returns the name of the operation, that is "modifySubscriptionBulk".
|
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(String id)
Sets the operation id.
|
public static final String OPERATION_NAME
public ModifySubscriptionBulkOp()
public String getOperationID()
public void setOperationID(String id)
id - the operation id.public String getName()
getName in interface MessageOperationpublic SearchFilterModel getFilter()
public void setFilter(SearchFilterModel sf)
sf - the filter.public ModificationModel getModification()
public void setModification(ModificationModel m)
m - the subscription modification.public boolean isIgnorePreRating()
public void setIgnorePreRating(boolean ignorePreRating)
ignorePreRating - public boolean isIgnorePendingSession()
public void setIgnorePendingSession(boolean ignorePendingSession)
ignorePendingSession - public void setAttributes(XMLAttributes atts)
XMLMarshallablesetAttributes in interface XMLMarshallableatts - The XML attributes of the current elementpublic void addCharacterData(String cData)
XMLMarshallableaddCharacterData in interface XMLMarshallablecData - The character data to be addedpublic void addChild(String tagName, XMLMarshallable child)
XMLMarshallablechild representing
the marshallable object which must be added to the element.addChild in interface XMLMarshallabletagName - The name of tag for the childchild - The child to be addedpublic void marshal(XMLOutputter output)
XMLMarshallablemarshal in interface XMLMarshallableoutput - The XML output to marshal the object into