IBM Support

JR49896: CMVC 234945 - Validation of Unique Promotion codes fails due to TypeCastException with Oracle databases.

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • An error message similar to the following may be seen in the
    logs indicating a BigDecimal is returned when an Integer is
    expected.
    
     [4/2/14 17:09:58:328 UTC] 00000143 CommerceSrvr E
     com.ibm.commerce.command.ECCommandACME executeCommand CMN0420E:
    The
     following command exception has occurred during processing:
     "java.lang.ClassCastException: java.math.BigDecimal
    incompatible with
     java.lang.Integer". java.lang.ClassCastException:
    java.math.BigDecimal
     incompatible with java.lang.Integer
    
             at
     com.ibm.commerce.promotion.facade.server.commands.ValidateUniqu
    ePromotio
     nCodesTaskCmdImpl.verifyPromotionCodes(ValidateUniquePromotionC
    odesTaskC
     mdImpl.java:137)
    
             at
     com.ibm.commerce.promotion.facade.server.commands.ValidateUniqu
    ePromotio
     nCodesTaskCmdImpl.performExecute(ValidateUniquePromotionCodesTa
    skCmdImpl
     .java:84
    

Local fix

  • Disable the Validation of Unique Promotion Codes command by
    deleting the entry for it in CMDREG, then restart
    commerce/refresh command registry.
     Sample SQL: delete from CMDREG where INTERFACENAME =
    'com.ibm.commerce.promotion.facade.server.commands.ValidateUniqu
    ePromotionCodesTaskCmd';
    

Problem summary

  • USERS AFFECTED:
     Clients using Oracle DB with unique promotion codes and
    validating those codes with the ValidateUniquePromotionCode
    command.
    
     PROBLEM ABSTRACT:
     Validation of Unique Promotion codes fails due to
    TypeCastException with Oracle databases.
    
     BUSINESS IMPACT:
     Shopper is unable to complete an order using a unique promotion
    code.
    
     RECOMMENDATION:
    

Problem conclusion

  • The creation statement for the PX_CDUSAGE table defines the
    STATUS column as SMALLINT.  The resulting schema shows that
    being mapped to NUMBER(38) for an Oracle database.  The default
    mapping between the Oracle result for NUMBER(38) and Java is to
    BigDecimal.  The code is modified to bypass this default
    conversion by converting the result first to a String
    representation then re-parsing to Integer.
    
     -------------------------------------------------------------
     The latest available maintenance information can be obtained
    from the Recommended Fixes for WebSphere Commerce technote:
     http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR49896

  • Reported component name

    WC BUS DEV ED W

  • Reported component ID

    5724I3900

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-04-07

  • Closed date

    2014-07-03

  • Last modified date

    2014-07-03

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WC BUS DEV ED W

  • Fixed component ID

    5724I3900

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYT2H","label":"WebSphere Commerce Developer Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":null,"label":null}}]

Document Information

Modified date:
03 July 2014