IBM Support

Unable to restore Orders due to error - YDB92_001

Troubleshooting


Problem

Attempts to restore orders from history table using API restoreOrder throws error - YDB92_001 ( The data bound to the column is invalid in this context) java.sql.SQLException: ORA-12899: value too large for column "YFS_PAYMENT"."CREDIT_CARD_EXP_DATE" (actual: 50, maximum: 30)

Cause

This is due to the encryption class being called at the time of purging the payment record into the payment history table.

Diagnosing The Problem

The following parameters are enabled along with the encryption class -
1. Encrypt Primary Payment Attributes for the following Payment Type Groups - Credit Card
2. Additionally Encrypt Credit Card Name And Credit Card Expiration Date

Due to the above settings, the application is attempting to encrypt the credit card details while restoring the order. The encryption of the encrypted values is manifesting in the form of the error - ORA-12899: value too large for column "YFS_PAYMENT"."CREDIT_CARD_EXP_DATE

Resolving The Problem

Set the property yfs.ignorePaymentEncryptionForPurgeAndRestore=Y in the customer overrides properties file and rebuild the EAR. This will ensure that encrypted parameters are not encrypted again on using restoreOrder API

[{"Product":{"code":"SS6PEW","label":"Sterling Order Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"9.2;9.2.1;9.3;9.4;9.5","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
16 June 2018

UID

swg22001154