Status

  Approved

Owner
Stakeholders
Jira Request ID

ERP-1213 - Getting issue details... STATUS

Jira Development ID

ERP-1497 - Getting issue details... STATUS

High- Level Specification

Implementing SystemKinaxis Maestro
Invoked by/Invokes

ERP-1488 - Getting issue details... STATUS

Business Process Reference04.04.06.01. Data provisioning ERP to Maestro


Functional Overview

The OnHand table stores inventory quantities and associated attributes for a part at a specific location within a warehouse. It represents the inventory position used by Maestro for planning, allocation, and pegging activities and is synonymous with inventory.

When on-hand inventory is allocated to demands for pegging, higher-priority demands are protected. If no priority is defined, on-hand inventory for a part is consumed based on the following attributes, in order:

  • Expiry date (earliest first)

  • Date (earliest first)

  • Unit cost (lowest cost first)

  • Quantity (smallest quantity first)

  • Location identifier and warehouse

Scope and Objectives

The scope of this interface is between Global Integration Suite and Maestro. This document includes details of the OnHand.tab object. 

The objective is to populate the OnHand and it's referenced tables based on the file provided by Global Integration Suite.

Process Flow Diagram

draw.io

Source page access restriction: Click the link below to check if the page is accessible.
/display/ER/ERP-1667+System+Interface+-+ScheduledReceiptPO.tab+interface+to+Maestro

Step

Description

1

Global Integration Suite transfers transformed Composites / Rest of World data from S/4, and performs some formatting, and sends the data to Maestro. 

2

China Integration Suite transfers transformed China data from S/4, and performs some formatting, and sends the data to Maestro. 

3

Transferred files will be sent to Maestro’s Client SFTP server. This sits outside of the Maestro firewall and is accessible by client using a user id/ password. Files are transferred from this component to the Planning Server SFTP by a Kinaxis automatic process once the trigger file has been placed (see below)

4

Files are moved to this SFTP server automatically, where they await loading into Maestro.

5

Maestro uses the configured DSM (Data Sources and Mapping) setup to load the data into the OnHand table, with the load initiated either manually or through a scheduled system task.

The Data Tables which store information in Maestro

Assumptions

  • Two data sources are set up in Maestro
    • Global: Contains data provided by ROW Integration Suite
    • China: Contains data provided by China Integration Suite
  • Each data source will provide a unique key. Therefore neither data source will overwrite data provided by the other. 

Dependencies

  • (SFTP) SFTP credentials needs to be set up, along with the file transfer mechanism.
  • Integration suites should provide data in the format described by the Data Sources and Mapping section of this document. 

Security, Integrity and Controls

See Application Architecture Kinaxis Maestro for security requirements for SFTP/REST based authentication and security. 


Configuration Requirements

The Data Sources and Mapping for this interface should be configured once, according to the structure in the Data Structure section below. 

The Data Model needs to be configured with the Syway-specific fields shown in the Data Model Custom Fields section below.

Special Requirements

None



Design Rationale

The base of this design has been taken from the existing Maestro implementation, as designed during the Advanced Planning System (APS) Project. 

A fit-gap analysis was undertaken within Syway, and changes were identified which have been incorporated into the Syway spec as shown.

API Use

The data object provided by either Integration Suite will be consumed by Maestro.

For more information see the Data Integration Document.

Data Structure

 The following Maestro fields will be populated by the file provided by Integration Suite:

Column Number

Field Name

Technical Field Name

Data Type

Key

Field Type

Autocreate

Description

0

BaseKey

BaseKey.Id

String

N

NULL

Default

Optional field that can be used as a key field. In SyWay, this is set to Null.

0

BatchStatus

Batch.Status.Value

Ref String

N

FixedValue

Y

A unique identifier that describes the status of a batch. Typically used to help determine if a batch is usable or not.

For SyWay, this is set to Null.

1

BatchPart

Batch.Part.Name

Ref String

Y

ExtractField

Default

The part that belongs to this batch record.

1

PartName

Part.Name

Ref String

Y

ExtractField

Default

The part number of the inventory.  Referenced Table: Part

2

BatchPartSite

Batch.Part.Site.Value

Ref String

Y

ExtractField

Default

The site associated with this part. 

2

LocationWarehouse

Location.Warehouse.Site.Value

Ref String

Y

ExtractField

Y

The warehouse where this location is.

2

Site

Part.Site.Value

Ref String

Y

ExtractField

Default

The site of the part number of the inventory.

3

Type

Type.Value

Ref String

Y

ExtractField

N

A value that determines whether the stock or inventory is considered in netting. This field references the OnHandType table. Valid values are' Net' or 'NoNet'.  Referenced Table: OnHandType

4

Location

Location.Id

Ref String

Y

ExtractField

Default

The stocking or bin location where the inventory is located.  Referenced Table: Location

5

Warehouse Id

Location.Warehouse.Id

Ref String

Y

ExtractField

Default

An Id code for the warehouse

6

Date

Date

Date

N

ExtractField

Default

Indicates the date at which  inventory was received.

7

Quantity

Quantity

Quantity

N

ExtractField

Default

The amount in stock. (at batch level)

7

TotalQuantity

TotalQuantity

Quantity

N

ExtractField

Default

Saving the total quantity from SAP before the data automations for reservations, Consignment, and Tolling (at batch level)

8

Expiry Date

ExpiryDate

Date

N

ExtractField

Default

The date on which this inventory expires (is no longer usable).

9

BatchID

Batch.Id

.CString

Y

ExtractField

Y

The identifier for this batch record.

10

Info

Info

CString

N

ExtractField

Default

Information coming from SAP 

File Formats 

See File Formats - SFTP section in the Data Integration Document.


Data Model OnHand table settings:

Allow Data update to:


Currency


Insert, Modify and Delete recordsInsert and Modify records only

Allow automatic record creation

Determined by Maestro

Expression

Y-NY-

Data Model OnHand custom fields:


Field name

Description

Data type

Key

ReservedQuantity

Used internally in Maestro. Supports the reservation solution by saving the quantity reserved for customers.

Quantity

 N

TotalQuantity

Saving the total quantity from SAP before the data automations for reservations, Consignment, and Tolling

Quantity

N

Info

Information coming from SAP

String

N

HoldType

Used to support the reservations for customers or production orders


Referenced table: HoldType

Reference

Processing Logic

See Processing Logic - SFTP section in the Data Integration Document.

Delta or Full Load Requirements

The preference is to do a full load. 

For more information on the difference between Full and Delta loads, see the  Full Loads and Delta Loads - SFTP section in the Data Integration Document.

Interface Alert & Monitoring

See the Interface Alert & Monitoring - SFTP section in the Data Integration Document,

Language Requirements

None

User Interface Requirements

Not required.
 

Sequencing

Reference tables to support OnHand table data have to be either loaded manually before loading the OnHand table or at the same time as the OnHand table is loaded or set to be created automatically in data model or in DSM.

Below tables need to be taken into account before OnHand table data load:

Table

SyWay configuration 

Batch

Set to allow automatic record creation

Location

Set to allow automatic record creation

Model

Not needed in SyWay. Picks Maestro default value - None

Pool

Not needed in SyWay. Picks Maestro default value - Unpooled

HoldType

Set to allow automatic record creation



Volumetrics

Current APS Volume of OnHand records is 110,000. Because APS makes up approximately 60% of Syway projected records, an expected estimate for Syway is therefore 150,000

This value is expected to grow by 1-2% per year. 



Performance Consideration

N/A


Error Handling

See Interface Alert & Monitoring section.


Testing

How to Test

Testing of the interface consists of executing the data load into Maestro and validating the results using standard monitoring and validation tools. After each load, the Data Import and Update log is reviewed to confirm successful execution and to identify any errors or warnings generated during the load process.

Loaded data is then validated using a Data Validation workbook to ensure data completeness and correctness. Validation checks include confirming that required fields are populated, values are displayed in the correct format, and that data quality issues such as blank fields, incorrect quantities, or zero or invalid unit costs are not present. Additional checks may be performed to ensure consistency across key attributes such as part, location, and quantity.

Any errors or data issues identified during testing are documented in the agreed issue tracking mechanism (for example, in Jira or an action log). Most common error types  are duplicate errors, missing references, junk values in input fields. 

Duplicate errors need further investigation, in case valid data is flagged as duplicate by Maestro during data load and key field combinations have to be looked into for data uniqueness.

Missing references are to be resolved by either providing the missing data that is required to support the file upload (this could be in the form of a file or Maestro settings to allow for the data to be created automatically) or removing the references from the file.

Required corrections are implemented in the middleware (Integration Suite), and the data is reloaded. Validation steps are repeated until no errors are present (or reasons are fully understood).

Test Conditions and Expected Results

1

Data Load Successful

The Data in the data file matches the data in the Maestro table, and there are no errors.
2

Data File contains 0 records

The Data Update should fail with a status of Pending. 

3

Data File contains invalid references (or other error)

The Data Update should Fail, the invalid references should be visible in the error log and the records with the error are not loaded into Maestro, and an alert is sent to the Admin team <Or whatever action is needed>

Fields for OnHand.tab which should be checked for invalid references are shown in the Data Structure table above as "Ref String" and are: 

Batch.Status.Value

Batch.Part.Name

Part.Name

Batch.Part.Site.Value

Location.Warehouse.Site.Value

Part.Site.Value

Type.Value

Location.Id

Location.Warehouse.Id

Data file contains duplicates

 Duplicates for OnHand.tab are permitted technically as there are no keys, so no duplicate errors should exist, but a manual comparison test should be performed to ensure that no 2 rows are the same.


Test Considerations/Dependencies

Dependent files should already be loaded into Maestro for these tests to complete. See Sequencing section above. 


Other Information


Development Details

Package

Package NameParent Package




Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference









Appendix

See also


No files shared here yet.

Change log

Version Published Changed By Comment
CURRENT (v. 30) Apr 06, 2026 15:13 KAVLEKAR-ext, Nihaal Updated the Delta or Full load Requirement section and Process Flow diagram
v. 29 Feb 10, 2026 14:54 NARAHARI-ext, Bhargavi
v. 28 Feb 05, 2026 12:18 BROWN-ext, Kevin
v. 27 Feb 04, 2026 12:12 BROWN-ext, Kevin
v. 26 Jan 29, 2026 15:11 BROWN-ext, Kevin
v. 25 Jan 28, 2026 17:55 BROWN-ext, Kevin Moved some information to Integration Architecture
v. 24 Jan 28, 2026 17:29 BROWN-ext, Kevin
v. 23 Jan 28, 2026 16:24 BROWN-ext, Kevin Included standard sections from Reference doc and updated as per Dhiraj/Patrick comments
v. 22 Jan 16, 2026 10:47 KAVLEKAR-ext, Nihaal
v. 21 Jan 14, 2026 13:06 BROWN-ext, Kevin

Go to Page History

1 Comment

  1. Hi BROWN-ext, Kevin

    I intend team to use table specific key fields or ref fields technical terminologies instead of general missing reference. For example for Onhand.tab you may want to write missing onhand.type field entry or Part.name is missing. 

    those will make test cases specific to table at the same time adding a key validation performed. 

    for generic cases- you may want to add count of records add up, and sum of volumes add up both sided. 

    We will details all all kinds of test cases in SIT but for now I NEED 1-2 generic test cases and 1-2 table specific test cases.