Fetch inventory availability from Inventory Visibility

You can fetch inventory availability from Inventory Visibility to Sterling Order Management.

The Sterling Order Management Inventory Adapter comes with the implementation of OMPGetInventoryFromCacheUE user exit (UE) for which the class is com.ibm.iv.adapter.IVReadCachedAvailabilityUEImpl. When you implement the IVReadCachedAvailabilityUEImpl UE, it invokes the IVReadCachedAvailability service that fetches the inventory availability from Inventory Visibility.

The IVReadCachedAvailabilityUEImpl considers input, sets some default attribute values, and invokes a custom API for network or node level. The IVReadCachedAvailabilityUEImpl transforms the user exit input XML to a valid input to IVReadCachedAvailabilityService.

The getAvailabilitycache, getItemListForOrdering and getCompleteItemList APIs call the OMPGetInventoryFromCacheUE user exit that fetches inventory availability from Inventory Visibility.

Sample UE Input for network
<InventoryAlerts AlertLevel="" AlertType="" DistributionRuleId="US_Group" InventoryOrganizationCode="" Node="" OrganizationCode="DEFAULT" UseDefaultDistributionRuleId="Y">
<InventoryItems>
<InventoryItem InventoryItemKey="127987349374983" ItemID="SKU1024" ProductClass="NEW" UnitOfMeasure="EACH"/>
<InventoryItem InventoryItemKey="830984809340" ItemID="SKU2048" ProductClass="NEW" UnitOfMeasure="EACH"/>
</InventoryItems>
</InventoryAlerts>
Sample Service Input for network
Sample Service Input
<InventoryVisibilityAPI URL="" HTTPMethod="" Content-Type="application/json">
  <Input>
{
  "lines": [{
    "unitOfMeasure": "EACH",
    "itemId": "SKU1024",
    "productClass": "NEW",
    "lineId": "1",
    "deliveryMethod": "SHP"
    "Content-Type": application/json" 
  },{
    "unitOfMeasure": "EACH",
    "itemId": "SKU2048",
    "productClass": "NEW",
    "lineId": "2",
    "deliveryMethod": "SHP"
  }],
  "distributionGroupId": "US_Group"
}
</Input>
</InventoryVisibilityAPI>
Sample UE Output for network
<InventoryItemList InventoryOrganizationCode="" OrganizationCode="DEFAULT" >
<InventoryItem InventoryItemKey="127987349374983" ItemID="SKU1024" ProductClass="NEW" UnitOfMeasure="EACH">
<InventoryAlertsList >
<InventoryAlerts AlertLevel="3" AlertQuantity="5.5" DistributionRuleId="US_Group" OnhandAvailableDate="2016-11-01T17:42:36.587-00:00" OnhandAvailableQuantity="15.4">
</InventoryAlertsList>
</InventoryItem>
<InventoryItem InventoryItemKey="830984809340" ItemID="SKU2048" ProductClass="NEW" UnitOfMeasure="EACH">
<InventoryAlertsList >
<InventoryAlerts AlertLevel="3" AlertQuantity="5.5" DistributionRuleId="US_Group" OnhandAvailableDate="2016-11-01T17:42:36.587-00:00" OnhandAvailableQuantity="40.0">
</InventoryAlertsList>
</InventoryItem>
</InventoryItemList>
Sample UE Input for node
<InventoryAlerts AlertLevel="" AlertType="" InventoryOrganizationCode="" Node="" OrganizationCode="DEFAULT" UseDefaultDistributionRuleId="Y">
<InventoryItems>
<InventoryItem InventoryItemKey="127987349374983" ItemID="SKU1024" ProductClass="NEW" UnitOfMeasure="EACH"/>
</InventoryItems>
</InventoryAlerts>
Sample Service Input for node
<InventoryVisibilityAPI Content-Type="application/json" HTTPMethod="POST">
    <Input>
{
  "lines":[{
  "shipNodes":[["dc-HartfordCT","store-BostonMA"]],
  "deliveryMethod":"SHP",
  "lineId":"1",
  "unitOfMeasure":"EACH",
  "productClass":"NEW",
  "itemId":"SKU1024"}]
}
</Input>
</InventoryVisibilityAPI>
Sample UE Output for node
<InventoryItemList InventoryOrganizationCode="" OrganizationCode="DEFAULT" >
<InventoryItem InventoryItemKey="127987349374983" ItemID="SKU1024" ProductClass="NEW" UnitOfMeasure="EACH">
<InventoryAlertsList >
<InventoryAlerts AlertLevel="3" AlertQuantity="5.5" Node="store-BostonMA" OnhandAvailableDate="2016-11-01T17:42:36.587-00:00" OnhandAvailableQuantity="15.4">
</InventoryAlertsList>
</InventoryItem>
</InventoryItemList>

For more information, see Javadocs.