NullPointerException When Attempt To Delete An Item From Shopping Cart (Doc ID 2076848.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle iProcurement - Version 12.2.4 and later
Information in this document applies to any platform.

Symptoms

In Oracle iProcurement, Release 12.2.4, an error occurs when attempting to delete an item from the shopping cart pop-up window.


Error

Error Page
You have encountered an unexpected error. Please contact the System Administrator for assistance.
Click here for exception details.

  

Exception Details.  

Fatal OAException:oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = oracle.jbo.DMLException: JBO-26041: Failed to post data to database during ""Insert"": SQL Statement ""INSERT INTO PO_REQ_DISTRIBUTIONS_ALL(DISTRIBUTION_ID,LAST_UPDATE_DATE,LAST_UPDATED_BY,REQUISITION_LINE_ID,LAST_UPDATE_LOGIN,CREATION_DATE,CREATED_BY,DISTRIBUTION_NUM,SET_OF_BOOKS_ID,REQ_LINE_QUANTITY,ENCUMBERED_FLAG,GL_ENCUMBERED_DATE,GL_CANCELLED_DATE,ENCUMBERED_AMOUNT,ATTRIBUTE_CATEGORY,PROJECT_ID,TASK_ID,EXPENDITURE_TYPE,EXPENDITURE_ORGANIZATION_ID,GL_CLOSED_DATE,EXPENDITURE_ITEM_DATE,ORG_ID,ALLOCATION_TYPE,ALLOCATION_VALUE,RECOVERABLE_TAX,NONRECOVERABLE_TAX,RECOVERY_RATE,REQ_AWARD_ID) VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28)".;
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912)
at oracle.apps.icx.por.common.server.ErrorUtil.handleFatalException(ErrorUtil.java:667)
at oracle.apps.icx.por.schema.server.PorBaseEOImpl.doDML(PorBaseEOImpl.java:772)
at oracle.apps.icx.por.schema.server.PoReqDistributionEOImpl.doDML(PoReqDistributionEOImpl.java:414)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:4542)
at oracle.apps.fnd.framework.server.OAEntityImpl.postChanges(OAEntityImpl.java:1770)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3004)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2815)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1978)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2180)
at oracle.apps.fnd.framework.server.OADBTransactionImpl.commit(OADBTransactionImpl.java:702)
at oracle.apps.icx.por.req.server.RequisitionSvrCmd.implicitSaveReq(RequisitionSvrCmd.java:439)
at oracle.apps.icx.por.req.server.RequisitionAMImpl.implicitSaveReq(RequisitionAMImpl.java:965)
at oracle.apps.icx.por.req.server.ShoppingCartSvrCmd.validateDeleteSave(ShoppingCartSvrCmd.java:1685)
at oracle.apps.icx.por.req.server.ShoppingCartSvrCmd.deleteLine(ShoppingCartSvrCmd.java:593)
at oracle.apps.icx.por.req.server.ShoppingCartSvrCmd.execute(ShoppingCartSvrCmd.java:162)
at oracle.apps.icx.por.common.server.PorBaseAMImpl.executeServerCommand(PorBaseAMImpl.java:122)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
..
..
## Detail 0 ##
java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into (""PO"".""PO_REQ_DISTRIBUTIONS_ALL"".""CODE_COMBINATION_ID"")

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1115)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1488)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3904)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1512)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:172)
at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:427)
at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:5743)
at oracle.apps.icx.por.schema.server.PorBaseEOImpl.doDML(PorBaseEOImpl.java:768)
at oracle.apps.icx.por.schema.server.PoReqDistributionEOImpl.doDML(PoReqDistributionEOImpl.java:414)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:4542)
at oracle.apps.fnd.framework.server.OAEntityImpl.postChanges(OAEntityImpl.java:1770)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3004)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2815)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1978)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2180)
at oracle.apps.fnd.framework.server.OADBTransactionImpl.commit(OADBTransactionImpl.java:702)
at oracle.apps.icx.por.req.server.RequisitionSvrCmd.implicitSaveReq(RequisitionSvrCmd.java:439)
at oracle.apps.icx.por.req.server.RequisitionAMImpl.implicitSaveReq(RequisitionAMImpl.java:965)
at oracle.apps.icx.por.req.server.ShoppingCartSvrCmd.validateDeleteSave(ShoppingCartSvrCmd.java:1685)
at oracle.apps.icx.por.req.server.ShoppingCartSvrCmd.deleteLine(ShoppingCartSvrCmd.java:593)
at oracle.apps.icx.por.req.server.ShoppingCartSvrCmd.execute(ShoppingCartSvrCmd.java:162)
at oracle.apps.icx.por.common.server.PorBaseAMImpl.executeServerCommand(PorBaseAMImpl.java:122)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
..
..

 

Steps To Reproduce

The issue can be reproduced at will with the following steps:
1. Log in to Oracle Applications, using an iProcurement responsbility.
2. Navigate to Shop tab > Non-Catalog Request subtab.
3. Add a non-catalog request (NCR) item to cart.
4. Click the View Cart and Checkout button.
5. In the resulting Shopping Cart pop-up window, click the "Show Delivery and Billing" link.  It is seen that the "Enter Charge Account" link is there, which means that the charge account was not derived for the NCR line and is not attached to the line/distribution.
6. Click the Delete icon to remove the line from the cart. The error occurs at this point.



Business Impact

Due to this issue, users are unable to remove undesired lines from the shopping cart.



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