Decimal Values Are Converted Into Integers By BRM JCA Adapter (Doc ID 564996.1)

Last updated on JULY 26, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.3.0.0.0 and later
Information in this document applies to any platform.
***Checked for relevance on DD-Mon-YYYY***


Symptoms

On Oracle Communications Billing and Revenue Management(BRM), 7.3.0.0.0 version, it is not possible to invoke a BRM opcode with decimal parameters from a BPEL process because
decimal values are converted into integers by the BRM JCA Adapter.

The Decimal parameters described in xsd (as xsd:decimal) are included in scheme as: xx.yy (i.e 14.32). The JCA adapter truncates yy and puts an integer into the input flist to the BRM opcode (only xx).

Steps To Reproduce:

1. Create BPEL process to invoke opcode.
2. Describe input flist in XSD file (use xsd:decimal for decimal values).
    The part of sample xsd file:

<xsd:element name="MDS_OP_BILL_RES_CREDIT_inputFlist">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="POID" minOccurs="1" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern

value="([0-9]*\.)+[0-9]*(\s)+(((/)*|(/)(poid)((/)*([a-zA-Z_]*))*))(\s)+[\-]*[0-9]+(\s)+[0-9]*"/>
<xsd:pattern value=""/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PRODUCTS" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="AMOUNT" type="xsd:decimal" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="EFFECTIVE_T" minOccurs="1"
maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:dateTime"/>
</xsd:simpleType>
</xsd:element>
<xsd:element name="END_T" minOccurs="1" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:dateTime"/>
</xsd:simpleType>
</xsd:element>
<xsd:element name="START_T" minOccurs="1" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:dateTime"/>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:string" name="elem"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

3. Invoke opcode.
4. Check opcode input flist in BRM log files.

Business Impact:
Unable to input decimal values in fields such as currency values.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms