Fatal Error Received When Maintaining Or Creating From Existing Approved Promotion (Doc ID 1481401.1)

Last updated on AUGUST 17, 2016

Applies to:

Oracle Retail Price Management - Version 13.1.1 and later
Information in this document applies to any platform.
***Checked for relevance on 27-Jan-2014***

Symptoms

In an existing Promotion where there are 2 or more Promotion Components and in different statues, 1 of them completed and the other one is active,
if an item on the Promotion Component which is in 'Completed' status is deleted in RMS, users receive the following fatal exception on using 'Create from Existing' functionality
for this promotion.

This error is also received when maintaining a promotion with a deleted item.

Error:

com.retek.platform.exception.RetekNetworkException: Server connection failed and retries were not successful .
  exception id: null
at com.retek.platform.service.ServiceAccessor.callRemoteMethod(ServiceAccessor.java:383)
at com.retek.rpm.app.RPMServiceAccessorProxy.remoteTransaction(RPMServiceAccessorProxy.java:24)
at com.retek.platform.service.ServiceAccessorProxy.invoke(ServiceAccessorProxy.java:52)
at $Proxy14.findListablePromotionComponentVOs(Unknown Source)
at com.oracle.retail.rpm.promotions.gui.PromotionComponentCopyDialog$PromotionEditorChangeListener$1.execute(PromotionComponentCopyDialog.java:274)
at com.retek.rpm.gui.RPMAbstractPage$5.getValue(RPMAbstractPage.java:220)
at com.retek.platform.client.util.SynchronousWorker$1.run(SynchronousWorker.java:67)
at foxtrot.AbstractWorkerThread$2.run(AbstractWorkerThread.java:49)
at java.security.AccessController.doPrivileged(Native Method)
at foxtrot.AbstractWorkerThread.runTask(AbstractWorkerThread.java:45)
at foxtrot.workers.DefaultWorkerThread.run(DefaultWorkerThread.java:153)
at java.lang.Thread.run(Unknown Source)
Caused by: com.retek.platform.exception.RetekNetworkException: oracle.oc4j.rmi.OracleRemoteException: com.retek.platform.exception.RetekUnknownSystemException: com.retek.platform.exception.RetekUnknownSystemException: Error executing service call: Failed to lazily initialize a collection [method=com.oracle.retail.rpm.promotions.service.PromotionComponentAppService.findListablePromotionComponentVOs, params=com.retek.platform.service.ClientContextcom.retek.platform.bo.IdentifiableReference]
  exception id: 1333723205777; nested exception is:
com.retek.platform.exception.RetekUnknownSystemException: com.retek.platform.exception.RetekUnknownSystemException: Error executing service call: Failed to lazily initialize a collection [method=com.oracle.retail.rpm.promotions.service.PromotionComponentAppService.findListablePromotionComponentVOs, params=com.retek.platform.service.ClientContextcom.retek.platform.bo.IdentifiableReference]
  exception id: 1333723205777
at com.retek.platform.service.EjbServiceLocator$ServiceToEjbAdaptor.invoke(EjbServiceLocator.java:416)
at $Proxy1.executeCommand(Unknown Source)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
at com.retek.platform.service.ServiceAccessor.callRemoteMethod(ServiceAccessor.java:300)
... 11 more
.
.

Caused by: com.retek.platform.exception.InvalidObjectReferenceException: net.sf.hibernate.ObjectNotFoundException: No row with the given identifier exists: com.retek.platform.bo.StringObjectId@85271f7c, of class: com.retek.rpm.domain.core.bo.ItemImpl
  exception id: 1333723205706

Steps to Reproduce:
1. Create a promotion with start date = vdate and end date as vdate + 20
2. Create a promo component with component Type = ‘Multibuy’ with Start Date = vdate and End Date = vdate +1
using an item which has item_level=2 and tran_level=2 and status='A' in item_master
3. Create a promo component with component Type = ‘Multibuy’ with Start Date = vdate and End Date = vdate +10
using different item which has item_level=2 and tran_level=2 and status='A' in item_master
4. Approve both the Promotion Components.
5. On successful conflict checking both the promotion component should be in “Active” state.
6. Run the priceEventExecutionBatch.sh and priceEventExecutionRMSBatch.sh
7. Advance Vdate to Vdate+ 2
8. Ensure to bounce RPM so that RPM picks the latest Vdate
9. The Promotion will be in completed* status
10. First Promotion Component is now 'Completed'
11. Second Promotion Component is 'Active'
12. Mark the item used in First promotion component above for deletion in RMS system will have to mark the pack associated with it for deletion as well
13. Run the dlyprg (Daily Purge RMS batch job) - may have to run 2 times to delete both pack and the item
14. Confirm that the items has been successfully deleted.

15. Run ItemLocDeleteBatch in RPM.
16. Check the Promotion again using 'Maintain Promotion' screen - only Second Promotion will be visible
17. Maintain the promotion in RPM or Click 'Create from Existing' in the ‘Promotion Components’ section- small separate window 'Copy' will open.
In the Promotion text box type the same Promotion number and tab out of the box.
Exception will be generated.

 

 

 

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