Import Management

The following services are included in this functional area:

Actual Landed Cost

The following services are included in this functional area:

Actual Landed Cost Upload Service

The following services are included in this functional area:

Finalize Actual Landed Cost
Functional Area

Import Management - Actual Landed Cost

Business Overview

This service is used to finalize the Actual Landed Cost (ALC) for a list of purchase orders or purchase order/shipment combinations matching the provided collection of purchase order, ASN, obligation, and/or customs entry input records.  The available inputs for this service are purchase order, ASN, obligation, customs entry, method of finalization and the Back Out Estimates with No Actuals flag. Success or failure of the operation will be returned as part of the response object.  The value of the Allocation Shipment Level Obligations Method system option will determine if orders or order/shipment combinations are processed as follows:

  • When the Allocate Shipment Level Obligations Using system option is set to ASN (ASN), the service processes order/shipment combinations matching the input provided.

  • When the Allocate Shipment Level Obligations Using system option is set to Transportation (TRNSPRT), the service processes purchase orders matching the input provided; the service will not accept ASN as an input in this case.

This service compares the actual value from obligations or customs entries with the estimated value on the purchase order and posts records to transaction data (transaction code 20A), update weighted average cost (WAC) and open to buy (OTB) with the difference between the estimate and the actual.  

For the pending ALC to be finalized, the associated obligation or customs entry must be approved or confirmed respectively. Further, when Allocate Shipment Level Obligations Using is set to Transportation,  orders cannot be finalized until the purchase order has been closed.  When the Allocate Shipment Level Obligations Using is set to ASN, order/shipments must be received before the ALC can be finalized, and for ALC from Purchase Order Header or Purchase Order/Item level obligations, the associated purchase order must be closed before the associated ALC can be finalized.  

When the provided method of finalization is No Finalization, the pending ALC records are updated to have a status of No Finalization, which means that the actual values are ignored and the estimated values that were posted at the time of receipt will be retained. Subsequent finalizations of the same purchase orders or purchase order/shipments will only attempt to finalize new ALC records in Pending status; the records previously marked as No Finalization or Processed will not be processed during future finalizations.

Service Type

PUT

ReST URL
MerchIntegrations/services/importManagement/actualLandedCost/finalize
Input Payload Details

Table 5-156 Finalize - 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

Collection of the input details for which the ALC Finalization needs to be done.

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

Element Name Required Data Type Description

orderNo

No

Number (12)

The unique identifier for the Purchase Order.

asn

No

String (30)

The ASN linked to the Shipment.

obligation

No

Number (10)

The unique identifier for the Obligation.

customsEntryNo

No

String (40)

The Customs Entry Number.

methodOfFinalization

Yes

String (6)

The method of ALC Finalization to be used.

backOutEstimatesWithNoActualsInd

No

String (1)

Indicates whether the Order Estimates, which are not having Actuals, need to be Backed out or not.

Table 5-158 FinalizeError - Object. See list of elements for detail

Element Name Required Data Type Description

alcFinalizeError

Yes

Collection of Object

Table 5-159 AlcFinalizeError - Object. See list of elements for detail

Element Name Required Data Type Description

orderNo

Yes

Number (12)

asn

Yes

String (30)

obligation

Yes

Number (10)

customsEntryNo

Yes

String (40)

errorMessages

Yes

Array of String

List of errors identified during business data processing of the request.

Sample Input Message

{
  "collectionSize": 1,
  "items": [
    {
      "orderNo": 100000,
      "asn": "ASN_1234",
      "obligation": 56789,
      "customsEntryNo": "CE_1234",
      "methodOfFinalization": "W",
      "backOutEstimatesWithNoActualsInd": "N"
    }
  ]
}
Response Code: 200 (Success)

Table 5-160 FinalizeResponse - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

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

Element Name Required Data Type Description

orderNo

Yes

Number (12)

asn

Yes

String (30)

obligation

Yes

Number (10)

customsEntryNo

Yes

String (40)

alcStatus

Yes

String (250)

The status of the ALC records, after the successful completion of the ALC Finalization.

Sample Response Message

{
  "items": [
    {
      "orderNo": 120711,
      "asn": "String",
      "obligation": 389535,
      "customsEntryNo": "String",
      "alcStatus": "String"
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when the input payload or input parameters do not match the schema definition of 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-162 FinalizeError - Object. See list of elements for detail

Element Name Required Data Type Description

alcFinalizeError

Yes

Collection of Object

Table 5-163 AlcFinalizeError - Object. See list of elements for detail

Element Name Required Data Type Description

orderNo

Yes

Number (12)

asn

Yes

String (30)

obligation

Yes

Number (10)

customsEntryNo

Yes

String (40)

errorMessages

Yes

Array of String

List of errors identified during business data processing of the request.

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": [
    {
      "alcFinalizeError": [
        {
          "orderNo": 120711,
          "asn": "String",
          "obligation": 389535,
          "customsEntryNo": "String",
          "errorMessages": [
            "String"
          ]
        }
      ]
    }
  ]
}

Obligations

The following services are included in this functional area:

Obligations Upload Services

This section describes the Obligations Upload Services.

Function Area

Import Management - Obligations

Business Overview

The primary role of these services is to support requests from trading partners or suppliers for bulk uploads of obligations in Merchandising.

Create Obligation

Business Overview

This service creates obligations by calling the SVCPROV_OBLIGATION package, then calling the core obligation package to validate and insert data to the Merchandising tables.

This service creates obligations with required fields. At least one component is needed to create a successful obligation. If the obligation level is Purchase Order Header (PO) or Purchase Order/Items (POIT) then component locations can be added if desired. Allocation to Actual Landed Cost (ALC) will be performed after obligation creation.

When creating a new Purchase Order Header (PO) or Purchase Order/Item (POIT) level obligation with a provided status of Approved, if the purchase order has a single location or if the component/location level details are provided on the obligation, you are able to specify whether the corresponding non-merchandise invoice should be generated and sent to Invoice Matching (REIMCS) upon obligation approval, or if the system should wait until the purchase order is closed. To have the system generate the non-merchandise invoice upon obligation approval, the Create Non-Merchandise Invoice upon Obligation Approval flag (createInvoiceOnObligationApproval) should be passed in as Yes (Y); otherwise you can send a value of No (N). If no value is provided for the flag, the system will assume a value of No (N). If the purchase order has multiple locations, the non-merchandise invoice will not be generated or sent to Invoice Matching until the purchase order is closed. The reason for waiting until closure in this case is because this allows the system to know the final receipt quantities in order to determine the location allocation of the expenses on the obligation.

When creating new obligations of any level besides Purchase Order Header or Purchase Order/Item, non-merchandise invoices will be generated and sent to Invoice Matching (REIMCS) upon obligation approval.

Purchase Order and Purchase Order/Item level obligations are intended to be used for a full purchase order, meaning the system expects that a given expense component will only appear on one obligation for a given purchase order or for a given purchase order/item. For example, if you are being charged a freight expense for each of two shipments for a single purchase order. To use a Purchase Order Header level obligation, you would need to total the freight expense for the two shipments and enter the total value on a single Purchase Order Header level obligation with the total quantity on the order. You cannot create two separate Purchase Order Header level obligations for the same Freight expense component for a partial quantity. If you want to create separate obligations for a subset of the total ordered quantity, you need to use one of the transportation or ASN level obligations.

Service Type

Post

ReST URL

/ObligationUpload/createObligation

Input Parameters

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

qty

BigDecimal

qtyUom

String

currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

amt

BigDecimal

rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

action

String

locType

String

locId

BigDecimal

qty

BigDecimal

amt

BigDecimal

JSON Structure

invoiceDate and paidDate will take input in strings the 'YYYY-MM-DD' format that will be converted to Timestamp format and inserted into tables.

[{
      "obligationKey": null,
      "obligationLevel":null ,
      "keyValue1":null,
      "keyValue2":null,
      "keyValue3":null,
      "keyValue4":null,
      "keyValue5":null,
      "keyValue6":null,
      "status":null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "invoiceDate":null,
      "qty":null,
      "qtyUom":null,
      "exchangeRate":null,
      "currency":null,
      "paymentMethod":null,
      "checkAuthNo":null,
      "paidAmt":null,
      "paidDate":null,
      "comments":null,
      "obligationCompTbl" : [{
            "compId":null,
            "allocateToAlc":null,
            "allocationType":null,
            "allocationBasisUom": null,
            "amt":null,
            "rate":null,
            "perCount":null,
            "perCountUom":null,
            "obligationCompLocTbl":[{
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

The service will insert data into the Obligation (obligation), Obligation Component (obligation_comp) and Obligation Component Location (obligation_comp_loc) tables based on obligation levels. Obligation amounts will be allocated to each order/item/location represented on the obligation and will be recorded in the Actual Landed Cost (ALC) tables. Non-merchandise invoices generated for approved obligations will be inserted into invoice staging tables to be loaded into Invoice Matching.

For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
       "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

No

Yes

No

No

OBLIGATION_COMP

No

Yes

No

No

OBLIGATION_COMP_LOC

No

Yes

No

No

ORDHEAD

Yes

No

No

No

ORDSKU

Yes

No

No

No

ORDLOC

Yes

No

No

No

TRANSPORTATION

Yes

No

No

No

SHIPMENT

Yes

No

No

No

SHIPSKU

Yes

No

No

No

V_PACKSKU_QTY

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ORDLOC_EXP

Yes

No

No

No

CE_HEAD

Yes

No

No

No

ELC_COMP

Yes

No

No

No

RTM_UNIT_OPTIONS

Yes

No

No

No

ALC_HEAD

Yes

Yes

Yes

No

ALC_COMP_LOC

Yes

Yes

Yes

No

INVC_HEAD

No

Yes

No

No

INVC_NON_MERCH

No

Yes

No

No

INVC_XREF

No

Yes

No

No

Create Obligation Component

Business Overview

This service creates obligation components for existing obligations in Pending status by calling the SVCPROV_OBLIGATION package, then calling the core obligation package to validate and insert data to the Merchandising tables.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/partner/invoice combination to identify the existing obligation. Expense component details can be added.. Allocation to Actual Landed Cost (ALC) will be done after component creation.

Service Type

Post

ReST URL

/ObligationUpload/createObligationComp

Input Parameters

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

Status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

Qty

BigDecimal

qtyUom

String

Currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

Comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

Amt

BigDecimal

Rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

Action

String

locType

String

locId

BigDecimal

Qty

BigDecimal

Amt

BigDecimal

JSON Structure: The same RDO 'RestObligationRecRDO' will be used for createObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,  
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [
         {
            "compId":null,
            "allocateToAlc":null,
            "allocationType":null,
            "allocationBasisUom": null,
            "amt":null,
            "rate":null,
            "perCount":null,
            "perCountUom":null,
            "obligationCompLocTbl":[
               {
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

The service will insert data into the Obligation Component (obligation_comp) table, and for Purchase Order Header or Purchase Order/Item obligations with location details, into the Obligation Component Location (obligation_comp_loc) table. Obligation amounts will be allocated to each order/item/location represented on the obligation and will be recorded in the Actual Landed Cost (ALC) tables.

For Success:

{
   "successObligationTbl": [
      {
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

Yes

No

No

No

OBLIGATION_COMP

Yes

Yes

No

No

OBLIGATION_COMP_LOC

Yes

Yes

No

No

ORDHEAD

Yes

No

No

No

ORDSKU

Yes

No

No

No

ORDLOC

Yes

No

No

No

SHIPMENT

Yes

No

No

No

SHIPSKU

Yes

No

No

No

V_PACKSKU_QTY

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ORDLOC_EXP

Yes

No

No

No

ELC_COMP

Yes

No

No

No

ALC_HEAD

Yes

Yes

Yes

No

ALC_COMP_LOC

Yes

Yes

Yes

No

Create Obligation Component Location

Business Overview

This service creates obligation component locations for Purchase Order Header or Purchase Order/Item level obligations by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and insert data into the Merchandising tables.

For Purchase Order Header (PO) and Purchase Order/Item (POIT) obligation levels, a location-level breakdown of the obligation component amounts can be added. This service accepts an obligation key, supplier/invoice or partner type/partner/invoice combination to identify the existing obligation. Allocation to Actual Landed Cost (ALC) will be done done after successful location creation.

Service Type

Post

ReST URL

/ObligationUpload/createObligationCompLoc

Input Parameters

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

qty

BigDecimal

qtyUom

String

currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

amt

BigDecimal

rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

action

String

locType

String

locId

BigDecimal

qty

BigDecimal

amt

BigDecimal

JSON Structure: Same RDO 'RestObligationRecRDO' will be used for createObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,  
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{
            "compId":null,
            "obligationCompLocTbl":[{
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

For Success:

{
   "successObligationTbl": [
      { 
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

Yes

No

No

No

OBLIGATION_COMP

Yes

No

No

No

OBLIGATION_COMP_LOC

Yes

Yes

No

No

ORDHEAD

Yes

No

No

No

ORDSKU

Yes

No

No

No

ORDLOC

Yes

No

No

No

SHIPMENT

Yes

No

No

No

SHIPSKU

Yes

No

No

No

V_PACKSKU_QTY

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ORDLOC_EXP

Yes

No

No

No

ALC_HEAD

Yes

Yes

Yes

No

ALC_COMP_LOC

Yes

Yes

Yes

No

Modify Obligation

Business Overview

This service updates obligation header record by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and update data to the Obligation table.

This service accepts an obligation key, a supplier/invoice combination or a partner type/partner/invoice combination to identify the existing obligation.

When approving an existing Purchase Order Header (PO) or Purchase Order/Item (POIT) level obligation, if purchase order has a single location or if component/location level details are provided on the obligation, you are able to specify whether the corresponding non-merchandise invoice should be generated and sent to Invoice Matching (REIMCS) upon obligation approval, or if the system should wait until the purchase order is closed. To have the system generate the non-merchandise invoice upon obligation approval, the Create Non-Merchandise Invoice upon Obligation Approval flag (createInvoiceOnObligationApproval) should be passed in as Yes (Y), otherwise you can send a value of No (N). If no value is provided for the flag, the system will assume a value of No (N). If the purchase order has multiple locations, the non-merchandise invoice will not be generated or sent to Invoice Matching until the purchase order is closed. The reason for waiting until closure in this case is because this allows the system to know the final receipt quantities in order to determine the location allocation of the expenses on the obligation.

When approving obligations of any level besides Purchase Order Header or Purchase Order/Item, non-merchandise invoices will be generated and sent to Invoice Matching (REIMCS) upon obligation approval.

When modifying and/or approving a pending Purchase Order Header (PO) or Purchase Order/Item (POIT) level obligation, if purchase order has a single location or if component/location level details are provided on the obligation, you are able to specify whether the corresponding non-merchandise invoice should be generated and sent to Invoice Matching (REIMCS) upon obligation approval, or if the system should wait until the purchase order is closed. To have the system generate the non-merchandise invoice upon obligation approval, the Create Non-Merchandise Invoice upon Obligation Approval flag (createInvoiceOnObligationApproval) should be passed in as Yes (Y), otherwise you can send a value of No (N). If no value is provided for the flag, the system will assume a value of No (N). If the purchase order has multiple locations, the non-merchandise invoice will not be generated or sent to Invoice Matching until the purchase order is closed. The reason for waiting until closure in this case is because this allows the system to know the final receipt quantities in order to determine the location allocation of the expenses on the obligation.

When approving existing obligations of any level besides Purchase Order Header or Purchase Order/Item, non-merchandise invoices will be generated and sent to Invoice Matching (REIMCS) upon obligation approval.

The following fields can be updated when the obligation is in Pending status.

  • Status

  • Partner Type

  • Partner ID

  • Supplier Site

  • Invoice

  • Invoice Date

  • Quantity

  • Quantity UOM

  • Currency

  • Exchange Rate

The below fields, which are not mandatory, can be updated in pending as well as approved status.

  • Payment Method

  • Check Authorization No.

  • Amount Paid

  • Paid Date

  • Comments

Service Type

Post

ReST URL

/ObligationUpload/modifyObligation

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

qty

BigDecimal

qtyUom

String

currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

amt

BigDecimal

rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

action

String

locType

String

locId

BigDecimal

qty

BigDecimal

amt

BigDecimal

JSON Structure: Same RDO 'RestObligationRecRDO' will be used for modifyObligation but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

invoiceDate and paidDate will take input in a string with the 'YYYY-MM-DD' format, which will be converted to Timestamp format and insert into the tables.

[{
      "obligationKey": null,
      "status":null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "invoiceDate":null,
      "qty":null,
      "qtyUom":null,
      "exchangeRate":null,
      "currency":null,
      "paymentMethod":null,
      "checkAuthNo":null,
      "paidAmt":null,
      "paidDate":null,
      "comments":null
}]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

NULL values will be ignored for mandatory fields. Non-mandatory fields can be updated to NULL.

For Success:

{
   "successObligationTbl": [
      { 
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

Yes

No

No

No

OBLIGATION_COMP

Yes

No

No

No

OBLIGATION_COMP_LOC

Yes

No

No

No

ORDHEAD

Yes

No

No

No

ORDSKU

Yes

No

No

No

ORDLOC

Yes

No

No

No

SHIPMENT

Yes

No

No

No

SHIPSKU

Yes

No

No

No

V_PACKSKU_QTY

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ORDLOC_EXP

Yes

No

No

No

ALC_HEAD

Yes

Yes

Yes

No

ALC_COMP_LOC

Yes

Yes

Yes

No

INVC_HEAD

No

Yes

No

No

INVC_NON_MERCH

No

Yes

No

No

INVC_XREF

No

Yes

No

No

Modify Obligation Comp

Business Overview

This service updates existing obligation component records which are in pending status by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and update data in the obligation_comp table.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/partner/invoice combination to identify the existing obligation. The user can modify component level fields on pending obligations. Reallocation to ALC will be done after update.

Service Type

Post

ReST URL

/ObligationUpload/modifyObligationComp

Input Parameters

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

qty

BigDecimal

qtyUom

String

currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

amt

BigDecimal

rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

action

String

locType

String

locId

BigDecimal

qty

BigDecimal

amt

BigDecimal

JSON Structure: The same RDO 'RestObligationRecRDO' will be used for modifyObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{"compId":null,
            "allocateToAlc":null,
            "allocationType":null,
            "allocationBasisUom": null,
            "amt":null,
            "rate":null,
            "perCount":null,
            "perCountUom":null,
      }]
}]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

For Success:

{
   "successObligationTbl": [
      { 
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

Yes

No

No

No

OBLIGATION_COMP

Yes

No

No

No

OBLIGATION_COMP_LOC

Yes

No

No

No

ORDHEAD

Yes

No

No

No

ORDSKU

Yes

No

No

No

ORDLOC

Yes

No

No

No

SHIPMENT

Yes

No

No

No

SHIPSKU

Yes

No

No

No

V_PACKSKU_QTY

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ORDLOC_EXP

Yes

No

No

No

ALC_HEAD

Yes

Yes

Yes

No

ALC_COMP_LOC

Yes

Yes

Yes

No

Modify Obligation Component Location

Business Overview

This service updates existing obligation component records which are in pending status by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and update data in the obligation_comp table.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/partner/invoice combination to identify the obligation. Enter an expense component for which you want to modify the location. Reallocation to ALC will be done after update.

Service Type

Post

ReST URL

/ObligationUpload/modifyObligationCompLoc

Input Parameters

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

qty

BigDecimal

qtyUom

String

currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

amt

BigDecimal

rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

action

String

locType

String

locId

BigDecimal

qty

BigDecimal

amt

BigDecimal

JSON Structure: The same RDO 'RestObligationRecRDO' will be used for modifyObligationCompLoc but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,  
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{
            "compId":null,
            "obligationCompLocTbl":[{
                  "action":null,
                  "locType":null,
                  "locId": null,
                  "qty":null,
                  "amt":null}]
      }]
}]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

The action field is mandatory here. Valid value for this are MOD/DEL. MOD is to update a location and DEL to delete a location.

For Success:

{
   "successObligationTbl": [
      { 
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

Yes

No

No

No

OBLIGATION_COMP

Yes

No

Yes

No

OBLIGATION_COMP_LOC

Yes

No

Yes

No

ORDHEAD

Yes

No

No

No

ORDSKU

Yes

No

No

No

ORDLOC

Yes

No

No

No

SHIPMENT

Yes

No

No

No

SHIPSKU

Yes

No

No

No

V_PACKSKU_QTY

Yes

No

No

No

ITEM_SUPP_COUNTRY

Yes

No

No

No

ORDLOC_EXP

Yes

No

No

No

ALC_HEAD

Yes

No

Yes

No

ALC_COMP_LOC

Yes

No

Yes

No

Delete Obligation

Business Overview

This service deletes existing obligation records with pending status by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and delete entire obligation records from Merchandising tables.

This service accepts an obligation key, a supplier/invoice combination, or a partner type/partner/invoice combination to identify the obligation. This service will delete the entire obligation record.

Service Type

Post

ReST URL

/ObligationUpload/deleteObligation

Input Parameters

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

qty

BigDecimal

qtyUom

String

currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

amt

BigDecimal

rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

action

String

locType

String

locId

BigDecimal

qty

BigDecimal

amt

BigDecimal

JSON Structure: The same RDO 'RestObligationRecRDO' will be used for deleteObligation but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,  
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null }]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

For Success:

{
   "successObligationTbl": [
      { 
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

Yes

No

No

Yes

OBLIGATION_COMP

Yes

No

No

Yes

OBLIGATION_COMP_LOC

Yes

No

No

Yes

ALC_HEAD

Yes

No

No

Yes

ALC_COMP_LOC

Yes

No

No

Yes

Delete Obligation Component

Business Overview

This service deletes obligation components for existing obligations by calling the SVCPROV_OBLIGATION package and then calling the core obligation package to validate and delete data from Merchandising tables.

This service accepts an obligation key, a supplier/invoice combination or a partner type/partner/invoice combination to identify the obligation. Pass the expense component to be deleted. This service will delete the component if the obligation is in Pending status and the component is not the only component on the obligation. If locations are attached to the components then that will be deleted as well. Reallocation to ALC will be done after deletion.

Service Type

Post

ReST URL

/ObligationUpload/deleteObligationComp

Input Parameters

RestObligationRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

obligationLevel

String

keyValue1

String

keyValue2

String

keyValue3

String

keyValue4

String

keyValue5

String

keyValue6

String

status

String

partnerType

String

partnerId

String

supplierSite

String

invoice

String

invoiceDate

Timestamp

qty

BigDecimal

qtyUom

String

currency

String

exchangeRate

BigDecimal

checkAuthNo

String

paidAmt

BigDecimal

paidDate

Timestamp

comments

String

obligationCompTbl

List<RestObligationCompRecRDO>

RestObligationCompRecRDO

Parameter Name Data Type

compId

String

allocateToAlc

String

allocationType

String

allocationBasisUom

String

amt

BigDecimal

rate

BigDecimal

perCount

BigDecimal

perCountUom

String

obligationCompLocTbl

List<RestObligationCompLocRecRDO>

RestObligationCompLocRecRDO

Parameter Name Data Type

action

String

locType

String

locId

BigDecimal

qty

BigDecimal

amt

BigDecimal

JSON Structure: The same RDO 'RestObligationRecRDO' will be used for deleteObligationComp, but only the below parameters will be considered for the request. The rest of the parameters will be ignored.

[{
      "obligationKey": null,  
      "partnerType":null,
      "partnerId":null,
      "supplierSite":null,
      "invoice":null,
      "obligationCompTbl" : [{
            "compId":null
      }]
}]

Output

RestObligationStatusRecRDO

Parameter Name Data Type

successObligationTbl

List<RestObligationSuccessRecRDO>

successObligationCount

BigDecimal

failObligationTbl

List<RestObligationFailRecRDO>

failObligationCount

BigDecimal

RestObligationSuccessRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

RestObligationFailRecRDO

Parameter Name Data Type

obligationKey

BigDecimal

status

String

invoice

String

errorMessage

String

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

For Success:

{
   "successObligationTbl": [
      { 
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "successObligationCount": null,
   "failObligationTbl": [],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

For Failure:

{
   "successObligationTbl": [],
   "successObligationCount": null,
   "failObligationTbl": [
      {
         "errorMessage": null,
         "status": null,
         "invoice": null,
         "obligationKey": null,
         "links": [],
         "hyperMediaContent": {
            "linkRDO": []
         }
      }
   ],
   "failObligationCount": null,
   "links": [],
   "hyperMediaContent": {
      "linkRDO": []
   }
}

Table Impact

TABLE SELECT INSERT UPDATE DELETE

OBLIGATION

Yes

No

No

Yes

OBLIGATION_COMP

Yes

No

No

Yes

OBLIGATION_COMP_LOC

Yes

No

No

Yes

ORDHEAD

Yes

No

No

Yes

ORDSKU

Yes

No

No

Yes

ORDLOC

Yes

No

No

Yes

SHIPMENT

Yes

No

No

Yes

SHIPSKU

Yes

No

No

Yes

V_PACKSKU_QTY

Yes

No

No

Yes

ITEM_SUPP_COUNTRY

Yes

No

No

Yes

ORDLOC_EXP

Yes

No

No

Yes

ALC_HEAD

Yes

No

Yes

Yes

ALC_COMP_LOC

Yes

No

Yes

Yes