Replenishment

The following services are included in this functional area:

Inventory Request Upload Service

The following services are included in this functional area:

Create Inventory Requests

Functional Area

Replenishment

Business Overview

Merchandising receives requests for inventory using this service, which allows for items to be ordered by the store and fulfilled through Merchandising. Unlike store order replenishment, Merchandising fulfills inventory requests from the store regardless of replenishment review cycles, delivery dates, and any other factors that may restrict a request from being fulfilled.

For item/store combinations that are on the Store Order type of replenishment in Merchandising, orders will be placed using this service and then the replenishment process builds the recommended order quantity (ROQ) based on the store's requests. Requests that will not be reviewed prior to the date requested by the store are fulfilled through a one-off process (through this service) that creates warehouse transfers and/or purchase orders to fulfill the requested quantities.

For item/location combinations that are currently using other methods of replenishment in Merchandising, the store requested quantities will be added on top of the calculated recommended order quantities to increase the overall replenishment. It can also be used for item/store combinations not on replenishment in Merchandising. In these cases, the one-off process described above will be used to create purchase orders or transfers, utilizing attributes defined for the item/location.

Other validation notes:

  • Order quantities will be rounded using the store order multiple when an order is created for a warehouse or rounded to the case size if ordering from the supplier.

  • Up charges will always be applied to a transfer, if they are defined for the items with locations matching the transfer.

  • Merchandising will validate that all items belong to the same department when department level ordering (supplier) or department level transfers (warehouse) are being used.

  • The store must be open for ordering.

Service Type

POST

ReST URL
MerchIntegrations/services/inventory/requests/create
Availability During Nightly Batch Cycle

This service will not be available when batches affecting either inventory or cost are in-progress.

Input Payload Details

Table 5-936 Create - Object. See list of elements for detail

Element Name Required Data Type Description

collectionSize

Yes

Number (4)

Number of items in the collection.

items

Yes

Collection of Object

References a collection of inventory request details.

Table 5-937 Items - Object. See list of elements for detail

Element Name Required Data Type Description

requestId

Yes

Number (10)

Used to build an error record when necessary.

store

Yes

Number (10)

The store ID which is requesting the item. The store must exist as a valid stockholding store in Merchandising.

requestType

Yes

String (2)

Defines the request type. Valid values are: Store order (SO) or Inventory Request (IR). If the request type is SO or blank, then replenishment method should be store order. If the request type is IR, delivery slot should be provided.

details

Yes

Collection of Object

References a collection of items on the inventory request.

Table 5-938 Details - Object. See list of elements for detail

Element Name Required Data Type Description

item

Yes

String (25)

Unique alphanumeric value that identifies the item to be requested. The item must be approved, orderable, and inventoried item; it must also be ranged to the location in the inventory request and must be active at that location.

quantity

Yes

Number (12,4)

This is the quantity being requested in standard UOM.

unitOfPurchase

Yes

String (6)

Unit of purchase must either be eaches (EA), case (CA), or pallet (PA).

needDate

Yes

date

This is the date that the store needs the item by.

deliverySlotId

No

String (15)

Specifies when the store requested quantity is needed at the store. Valid delivery slots are in the DELIVERY_SLOT table.

Sample Input Message

{
  "collectionSize": 1,
  "items": [
    {
      "requestId": 693933,
      "store": 6000,
      "requestType": "SO",
      "details": [
        {
          "item": "100100076",
          "quantity": 3,
          "unitOfPurchase": "EA",
          "needDate": "2001-12-31",
          "deliverySlotId": null
        }
      ]
    }
  ]
}
Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Replenishment Scheduled Update Upload Service

This section describes the Replenishment Schedule service.

Functional Area

Inventory Movement

Business Overview

The primary role of these services is to create, modify, and delete scheduled replenishments and send them to Merchandising.

Create Scheduled Replenishment Updates

This section describes the Create Replenishment Schedule service.

Business Overview

This service creates scheduled replenishments by calling the SVCPROV_REPL package to load input data to the staging tables and then calling the core replenishment package to validate and insert data to the Merchandising tables.

Service Type

Post

ReST URL

inventory/replenishment/createReplSched

Input Parameters

Table 5-939 ReplSchedCreModRDO

Parameter Name Data Type

replAttrId

BigDecimal

schRplDesc

String

scheduledActiveDate

Date

replAction

String

item

String

diff1

String

diff2

String

diff3

String

diff4

String

dept

BigDecimal

class1

BigDecimal

subclass

BigDecimal

loc

BigDecimal

locType

String

autoRangeInd

String

activateDate

Date

deactivateDate

Date

presStock

BigDecimal

demoStock

BigDecimal

stockCat

String

replOrderCtrl

String

sourcingWh

BigDecimal

supplier

BigDecimal

originCountryId

String

pickupLeadTime

BigDecimal

whLeadTime

BigDecimal

replMethodInd

String

replMethod

String

optimizeInd

String

minStock

BigDecimal

maxStock

BigDecimal

incrPct

BigDecimal

minSupplyDays

BigDecimal

maxSupplyDays

BigDecimal

timeSupplyHorizon

BigDecimal

addLeadTimeInd

String

invSellingDays

BigDecimal

serviceLevelType

String

serviceLevel

BigDecimal

serviceLevelFloatingStd

String

lostSalesFactor

BigDecimal

terminalStockQty

BigDecimal

seasonId

BigDecimal

phaseId

BigDecimal

rejectStoreOrdInd

String

multRunsPerDayInd

String

tsfZeroSohInd

String

nonScalingInd

String

maxScaleValue

BigDecimal

sizeProfileInd

String

reviewCycle

String

updateDaysInd

String

mondayInd

String

tuesdayInd

String

wednesdayInd

String

thursdayInd

String

fridayInd

String

saturdayInd

String

sundayInd

String

primaryPackNo

String

defaultPackInd

String

removePackInd

String

mraUpdate

String

mraRestore

String

includeAdditionalDemand

String

storeUserAccess

String

storeToleranceType

String

storeToleranceLimit

BigDecimal

JSON Structure:

[
 {"replAttrId": null,
  "schRplDesc": null,
  "scheduledActiveDate": "yyyy-MM-dd",
  "replAction": null,
  "item": null,
  "diff1": null,
  "diff2": null,
  "diff3": null,
  "diff4": null,
  "dept": null,
  "class1": null,
  "subclass": null,
  "loc": null,
  "locType": null,
  "autoRangeInd": null,
  "activateDate": "yyyy-MM-dd",
  "deactivateDate": "yyyy-MM-dd",
  "presStock": null,
  "demoStock": null,
  "stockCat": null,
  "replOrderCtrl": null,
  "sourcingWh": null,
  "supplier": null,
  "originCountryId": null,
  "pickupLeadTime": null,
  "whLeadTime": null,
  "replMethodInd": null,
  "replMethod": null,
  "optimizeInd":null,
  "minStock": null,
  "maxStock": null,
  "incrPct": null,
  "minSupplyDays": null,
  "maxSupplyDays": null,
  "timeSupplyHorizon": null,
  "addLeadTimeInd": null,
  "invSellingDays": null,
  "serviceLevelType": null,
  "serviceLevel": null,
  "serviceLevelFloatingStd": null,
  "lostSalesFactor": null,
  "terminalStockQty": null,
  "seasonId": null,
  "phaseId": null,
  "rejectStoreOrdInd": null,
  "multRunsPerDayInd": null,
  "tsfZeroSohInd": null,
  "nonScalingInd": null,
  "maxScaleValue": null,
  "sizeProfileInd": null,
  "reviewCycle": null,
  "updateDaysInd": null,
  "mondayInd": null,
  "tuesdayInd": null,
  "wednesdayInd": null,
  "thursdayInd": null,
  "fridayInd": null,
  "saturdayInd": null,
  "sundayInd": null,
  "primaryPackNo": null,
  "defaultPackInd": null,
  "removePackInd": null,
  "mraUpdate": null,
  "mraRestore": null,
  "includeAdditionalDemand": null,
  "storeUserAccess": null,
  "storeToleranceType": null,
  "storeToleranceLimit": null}]
Output

Table 5-940 ReplStatusRDO

Parameter Name Data Type

statusMsg

String

failReplTable

List<ReplFailRDO>

Table 5-941 ReplFailRDO

Parameter Name Data Type

replAttrId

BigDecimal

item

String

dept

BigDecimal

class1

BigDecimal

subclass

BigDecimal

loc

BigDecimal

locType

String

effectiveDate

Long

errorMsg

String

The output will contain the status of the request including validation errors, if any.

JSON Structure:
{
       "statusMsg": null,
       "failReplTable": [
         {
            "replAttrId": null,
            "item": null,
            "dept": null,
            "class1": null,
            "subclass": null,
            "loc": null,
            "locType": null,
            "effectiveDate": null,
            "errorMsg": null,
            "links": [],
            "hyperMediaContent": {
                "linkRDO": []
            }
         }
       ],
       "links": [],
       "hyperMediaContent": {
            "linkRDO": []
       }
}
Table Impact
TABLE SELECT INSERT UPDATE DELETE

REPL_ATTR_UPDATE_HEAD

Yes

Yes

No

No

REPL_ATTR_UPDATE_ITEM

Yes

Yes

No

No

REPL_ATTR_UPDATE_LOC

Yes

Yes

No

No

SVC_PROCESS_TRACKER

Yes

Yes

Yes

No

CORESVC_REPL_ERR

No

Yes

No

No

SVC_REPL_ATTR_UPDATE

Yes

Yes

No

Yes

REPL_ITEM_LOC

Yes

No

No

No

ITEM_MASTER

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ITEM_LOC

Yes

No

No

No

SYSTEM_OPTIONS

Yes

No

No

No

V_STORE

Yes

No

No

No

V_WH

Yes

No

No

No

JOB_AUDIT_LOGS

No

Yes

No

No

JOB_AUDIT_PAYLOAD

No

Yes

No

No

Manage Additional Demand in Replenishment Order Quantity (ROQ)

Functional Area

Replenishment

Business Overview

This service allows external systems to send the additional demand for the following replenishment methods: Time Supply, Time Supply - Issues, Time Supply - Seasonal, Dynamic, Dynamic - Issues, Dynamic - Seasonal. If the item/Location has additional demand enabled for these forecast based replenishment methods, then the forecasted demand will be augmented based on the additional demand at the location and the replenishment order quantity (ROQ) generated will be based on the overall demand. 

This management service supports both create and update actions. After all field validations are completed successfully, the additional demand record in the message will be inserted, if the demand record does not exist for the given item/location/date or, if the additional demand exists, the additional demand quantity and unit of measure (UOM) fields will be updated. If the message contains zero in the additional demand quantity field for an existing record, the service will delete this record from the Merchandising table.

Service Type

POST

ReST URL
MerchIntegrations/services/replenishment/additionalDemand/manage
Input Payload Details

Table 5-942 Manage - Object. See list of elements for detail

Element Name Required Data Type Description

collectionSize

Yes

Number (4)

Number of items in the collection.

items

Yes

Collection of Object

References a collection of additional demand quantities.

Table 5-943 Items - Object. See list of elements for detail

Element Name Required Data Type Description

item

Yes

String (25)

Contains the Item for which additional demand needs to get added in ROQ.

locationType

Yes

String (1)

This indicates the type for the location. Valid values are S - Store and W - Warehouse.

location

Yes

Number (10)

Contains the location corresponding to the forecast information for the item.

demandDate

Yes

date

Contains the date for additional demand.

additionalDemandQuantity

Yes

Number (12,4)

This field contains the additional demand for the given item/location/date combination.

additionalDemandUom

No

String (4)

Indicates the unit of measure in which the additional demand is uploaded by the external system. When storing the additional demand in the database table, the additional demand is converted into item’s standard UOM.

Table 5-944 ManageError - Object. See list of elements for detail

Element Name Required Data Type Description

item

No

String (25)

Contains the Item for which additional demand needs to get added in ROQ.

locationType

No

String (1)

This indicates the type for the location. Valid values are S - Store and W - Warehouse.

location

No

Number (10)

Contains the location corresponding to the forecast information for the item.

demandDate

No

date

Contains the date for additional demand.

additionalDemandQuantity

No

Number (12,4)

This field contains the additional demand for the given item/location/date combination.

additionalDemandUom

No

String (4)

Indicates the unit of measure in which the additional demand is uploaded by the external system. When storing the additional demand in the database table, the additional demand is converted into item’s standard UOM.

errors

No

Array of String

Holds the errors of the record.

Sample Input Message

{
  "collectionSize": 1,
  "items": [
    {
      "item": "101450060",
      "locationType": "S",
      "location": 1131,
      "demandDate": "2001-12-31",
      "additionalDemandQuantity": 60,
      "additionalDemandUom": "EA"
    }
  ]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of an error, the following standard error response is returned. The element validationErrors is present when input payload or input parameters do not follow the schema definition for this service. The element businessError is present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-945 ManageError - Object. See list of elements for detail

Element Name Required Data Type Description

item

No

String (25)

Contains the Item for which additional demand needs to get added in ROQ.

locationType

No

String (1)

This indicates the type for the location. Valid values are S - Store and W - Warehouse.

location

No

Number (10)

Contains the location corresponding to the forecast information for the item.

demandDate

No

date

Contains the date for additional demand.

additionalDemandQuantity

No

Number (12,4)

This field contains the additional demand for the given item/location/date combination.

additionalDemandUom

No

String (4)

Indicates the unit of measure in which the additional demand is uploaded by the external system. When storing the additional demand in the database table, the additional demand is converted into item’s standard UOM.

errors

No

Array of String

Holds the errors of the record.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "item": "101450060",
      "locationType": "S",
      "location": 1131,
      "demandDate": "2001-12-31",
      "additionalDemandQuantity": 60,
      "additionalDemandUom": "EA",
      "errors": [
        "String"
      ]
    }
  ]
}

Delete Scheduled Replenishment Updates

This section describes the Delete Replenishment Schedule service.

Business Overview

This service deletes scheduled replenishments by calling the SVCPROV_REPL package to load input to the staging tables and then calling the core replenishment package to validate and delete data from the Merchandising tables.

Service Type

Post

ReST URL

inventory/replenishment/deleteReplSched

Input Parameters

Table 5-946 ReplSchedDelRDO

Parameter Name Data Type

replAttrId

BigDecimal

item

String

dept

BigDecimal

class1

BigDecimal

subclass

BigDecimal

loc

BigDecimal

locType

String

JSON Structure:

[
   {
      "replAttrId": null,
      "item": null,
      "dept": null,
      "class1": null,
      "subclass": null,
      "loc": null,
      "locType": null
   }
]
Output

Table 5-947 ReplStatusRDO

Parameter Name Data Type

statusMsg

String

failReplTable

List<ReplFailRDO>

The output will contain the status of the request including validation errors, if any.

Table 5-948 ReplFailRDO

Parameter Name Data Type

replAttrId

BigDecimal

item

String

dept

BigDecimal

class1

BigDecimal

subclass

BigDecimal

loc

BigDecimal

locType

String

effectiveDate

Long

errorMsg

String

JSON Structure:
{
   "statusMsg": null,
   "failReplTable": [
      {
         "replAttrId": null,
         "item": null,
         "dept": null,
         "class1": null,
         "subclass": null,
         "loc": null,
         "locType": null,
         "effectiveDate": null,
         "errorMsg": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}
Table Impact
TABLE SELECT INSERT UPDATE DELETE

REPL_ATTR_UPDATE_HEAD

Yes

Yes

No

Yes

REPL_ATTR_UPDATE_ITEM

Yes

Yes

No

Yes

REPL_ATTR_UPDATE_LOC

Yes

Yes

No

Yes

SVC_PROCESS_TRACKER

Yes

Yes

Yes

No

CORESVC_REPL_ERR

No

Yes

No

No

SVC_REPL_ATTR_UPDATE

Yes

Yes

No

Yes

JOB_AUDIT_LOGS

No

Yes

No

No

JOB_AUDIT_PAYLOAD

No

Yes

No

No

Update Scheduled Replenishment Updates

This section describes the Modify Replenishment service.

Business Overview

This service modifies scheduled replenishments by calling the SVCPROV_REPL package to load input to the staging tables and then calling the core replenishment package to validate and process data to the Merchandising tables.

Service Type

Post

ReST URL

inventory/replenishment/modifyReplSched

Input Parameters

Table 5-949 ReplSchedCreModRDO

Parameter Name Data Type

replAttrId

BigDecimal

schRplDesc

String

scheduledActiveDate

Date

replAction

String

item

String

diff1

String

diff2

String

diff3

String

diff4

String

dept

BigDecimal

class1

BigDecimal

subclass

BigDecimal

loc

BigDecimal

locType

String

autoRangeInd

String

activateDate

Date

deactivateDate

Date

presStock

BigDecimal

demoStock

BigDecimal

stockCat

String

replOrderCtrl

String

sourcingWh

BigDecimal

supplier

BigDecimal

originCountryId

String

pickupLeadTime

BigDecimal

whLeadTime

BigDecimal

replMethodInd

String

replMethod

String

optimizeInd

String

minStock

BigDecimal

maxStock

BigDecimal

incrPct

BigDecimal

minSupplyDays

BigDecimal

maxSupplyDays

BigDecimal

timeSupplyHorizon

BigDecimal

addLeadTimeInd

String

invSellingDays

BigDecimal

serviceLevelType

String

serviceLevel

BigDecimal

serviceLevelFloatingStd

String

lostSalesFactor

BigDecimal

terminalStockQty

BigDecimal

seasonId

BigDecimal

phaseId

BigDecimal

rejectStoreOrdInd

String

multRunsPerDayInd

String

tsfZeroSohInd

String

nonScalingInd

String

maxScaleValue

BigDecimal

sizeProfileInd

String

reviewCycle

String

updateDaysInd

String

mondayInd

String

tuesdayInd

String

wednesdayInd

String

thursdayInd

String

fridayInd

String

saturdayInd

String

sundayInd

String

primaryPackNo

String

defaultPackInd

String

removePackInd

String

mraUpdate

String

mraRestore

String

includeAdditionalDemand

String

storeUserAccess

String

storeToleranceType

String

storeToleranceLimit

BigDecimal

JSON Structure:

[
  {
     "replAttrId": null,
     "schRplDesc": null,
     "scheduledActiveDate": "yyyy-MM-dd",
     "replAction": null,
     "item": null,
     "diff1": null,
     "diff2": null,
     "diff3": null,
     "diff4": null,
     "dept": null,
     "class1": null,
     "subclass": null,
     "loc": null,
     "locType": null,
     "autoRangeInd": null,
     "activateDate": "yyyy-MM-dd",
     "deactivateDate": "yyyy-MM-dd",
     "presStock": null,
     "demoStock": null,
     "stockCat": null,
     "replOrderCtrl": null,
     "sourcingWh": null,
     "supplier": null,
     "originCountryId": null,
     "pickupLeadTime": null,
     "whLeadTime": null,
     "replMethodInd": null,
     "replMethod": null,
     "optimizeInd":null,
     "minStock": null,
     "maxStock": null,
     "incrPct": null,
     "minSupplyDays": null,
     "maxSupplyDays": null,
     "timeSupplyHorizon": null,
     "addLeadTimeInd": null,
     "invSellingDays": null,
     "serviceLevelType": null,
     "serviceLevel": null,
     "serviceLevelFloatingStd": null,
     "lostSalesFactor": null,
     "terminalStockQty": null,
     "seasonId": null,
     "phaseId": null,
     "rejectStoreOrdInd": null,
     "multRunsPerDayInd": null,
     "tsfZeroSohInd": null,
     "nonScalingInd": null,
     "maxScaleValue": null,
     "sizeProfileInd": null,
     "reviewCycle": null,
     "updateDaysInd": null,
     "mondayInd": null,
     "tuesdayInd": null,
     "wednesdayInd": null,
     "thursdayInd": null,
     "fridayInd": null,
     "saturdayInd": null,
     "sundayInd": null,
     "primaryPackNo": null,
     "defaultPackInd": null,
     "removePackInd": null,
     "mraUpdate": null,
     "mraRestore": null
     "storeUserAccess": null,
     "storeToleranceType": null,
     "storeToleranceLimit": null}]
Output

Table 5-950 ReplStatusRDO

Parameter Name Data Type

statusMsg

String

failReplTable

List<ReplFailRDO>

Table 5-951 ReplFailRDO

Parameter Name Data Type

replAttrId

BigDecimal

item

String

dept

BigDecimal

class1

BigDecimal

subclass

BigDecimal

loc

BigDecimal

locType

String

effectiveDate

Long

errorMsg

String

The output will contain the status of the request including validation errors, if any.

JSON Structure:
{
     "statusMsg": null,
     "failReplTable": [
        {
           "replAttrId": null,
           "item": null,
           "dept": null,
           "class1": null,
           "subclass": null,
           "loc": null,
           "locType": null,
           "effectiveDate": null,
           "errorMsg": null,
           "links": [],
           "hyperMediaContent": {
              "linkRDO": []
           }
        }
     ],
     "links": [],
     "hyperMediaContent": {
        "linkRDO": []
     }
}
Table Impact
TABLE SELECT INSERT UPDATE DELETE

REPL_ATTR_UPDATE_HEAD

Yes

Yes

No

No

REPL_ATTR_UPDATE_ITEM

Yes

Yes

No

No

REPL_ATTR_UPDATE_LOC

Yes

Yes

No

No

SVC_PROCESS_TRACKER

Yes

Yes

Yes

No

CORESVC_REPL_ERR

No

Yes

No

No

SVC_REPL_ATTR_UPDATE

Yes

Yes

No

Yes

REPL_ITEM_LOC

Yes

No

No

No

ITEM_MASTER

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ITEM_LOC

Yes

No

No

No

SYSTEM_OPTIONS

Yes

No

No

No

V_STORE

Yes

No

No

No

V_WH

Yes

No

No

No

JOB_AUDIT_LOGS

No

Yes

No

No

JOB_AUDIT_PAYLOAD

No

Yes

No

No