Add Third Party Service Provider Agent Action Gives Java Null Pointer Exception at glog.ejb.location.db.LocationPK.hashCode(LocationPK.java:51) (Doc ID 1385545.1)

Last updated on SEPTEMBER 08, 2016

Applies to:

Oracle Transportation Management - Version: 6.2.0 to 6.2.5 - Release: 6.2 to 6.2
Information in this document applies to any platform.

Symptoms

On OTM version 6.2.0 when an Agent is configured to add a Third Party Service Provider following a Shipment having a Special added, the intention is for a Secondary Charge Shipment to be created. The Secondary Charge Shipment is not created and the logs contain an Error.

ERROR
-----------------------
java.lang.NullPointerException
at glog.ejb.location.db.LocationPK.hashCode(LocationPK.java:51)
at java.util.HashMap.put(HashMap.java:463)
at glog.util.cache.HashMapCache.put(HashMapCache.java:60)
at glog.util.cache.LRUCache.put(LRUCache.java:106)
at glog.util.cache.LRUCache.add(LRUCache.java:101)
at glog.business.location.TLocation.getInstance(TLocation.java:741)
at glog.business.shipment.TShipmentStop.<init>(TShipmentStop.java:376)
at glog.business.shipment.SecondaryChargeShipment.createStops(SecondaryChargeShipment.java:921)
at glog.business.shipment.SecondaryChargeShipment.<init>(SecondaryChargeShipment.java:207)
at glog.business.shipment.SecondaryChargeShipment.<init>(SecondaryChargeShipment.java:171)
at glog.business.shipment.SecondaryChargeShipmentBuilder.buildSecondaryChargeShipment(SecondaryChargeShipmentBuilder.java:1331)
at glog.business.shipment.SecondaryChargeShipmentBuilder.buildSecondaryChargeShipmentsForSpecialServices(SecondaryChargeShipmentBuilder.java:554)
at glog.business.action.ThirdPartyServiceProviderActionExecutor.buildSecondaryChargeShipments(ThirdPartyServiceProviderActionExecutor.java:135)
at glog.business.session.ThirdPartyServiceProviderActionSessionBean.buildSecondaryChargeShipmentsIntMed(ThirdPartyServiceProviderActionSessionBean.java:81)
at glog.business.session.ThirdPartyServiceProviderActionSessionServerSideEJBWrapper.buildSecondaryChargeShipmentsIntMed(ThirdPartyServiceProviderActionSessionServerSideEJBWrapper.java:85)
at glog.business.session.ThirdPartyServiceProviderActionSessionServerSideEJBWrapper_d17opr_EOImpl.buildSecondaryChargeShipmentsIntMed(ThirdPartyServiceProviderActionSessionServerSideEJBWrapper_d17opr_EOImpl.java:131)
at glog.server.agent.business.shipment.GenThirdPartySpeclSrvShipment.execute(GenThirdPartySpeclSrvShipment.java:40)
at glog.server.agent.ActionWorkflow.execute(ActionWorkflow.java:49)
at glog.server.workflow.WorkflowSessionBean.execute(WorkflowSessionBean.java:64)
at glog.server.workflow.WorkflowSessionServerSideEJBWrapper.execute(WorkflowSessionServerSideEJBWrapper.java:38)
at glog.server.workflow.WorkflowSessionServerSideEJBWrapper_61kh96_EOImpl.execute(WorkflowSessionServerSideEJBWrapper_61kh96_EOImpl.java:350)
at glog.server.workflow.WorkflowManager.execute(WorkflowManager.java:352)
at glog.server.workflow.Trigger.trigger(Trigger.java:122)
at glog.util.event.MemoryEventQueueRunnable.processEvent(MemoryEventQueueRunnable.java:146)
at glog.util.event.MemoryEventQueueRunnable.run(MemoryEventQueueRunnable.java:98)
at glog.util.event.EventThread.run(EventThread.java:86)
at java.lang.Thread.run(Thread.java:619)


STEPS
-----------------------
The issue can be reproduced at will with the following steps:

1 - Log onto a 6.2 OTM system.

2 - Navigate to: Shipment Management > Shipment Management > Power Data > Shipment Configuration > Secondary Charge Rule > Create the following:

ID: Enter as needed.
Rule Type: Stop Special Service.
Location Type: Stop
Special Service Profile: Set up as needed.
Transport Mode ID: TL
Quantity Type: Planned

3 - Navigate to: Business Process Automation > Agents and Milestones > Automation Agent > Create the following:

ID: Enter as needed
Type: SHIPMENT SPECIAL SERVICE
Active: Ticked
Event: SHIPMENT SPECIAL SERVICE - CREATED / INTEGRATION or INTERNAL or USER

Actions:
LOG: Special Service Gid : $gid
ADD THIRD PARTY SERVICE PROVIDER: <as above>, <ServProv ID>

4 - Create and Order Release and plan it onto a Shipment.

5 - Edit the Shipment.

6 - Click on the Groups and Charges tab, see if there is a secondary charge shipment, ignore any that are already existing.

7 - Click on Financials tab > New Shipment Special Service button > Add the Special Service created above for Location 1.

8 - Click Save and click Finished.

9 - The Secondary Charge Shipment is not created and the log contains the error.

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