High- Level Specification
| Implementing System | Kinaxis Maestro |
|---|---|
| Invoked by/Invokes | ERP-1487 - Getting issue details... STATUS |
| Business Process Reference | 04.04.06.01. Data provisioning ERP to Maestro |
Functional Overview
The PartSource table defines the sources of supply for a Part. When creating planned orders, a PartSource is selected to determine what type of order, supplier, lead times etc. Each Part should have at least one effective Part Source for RR to plan the Part.
- Part related fields – Procurement type of Make, Lead Times, Lot Sizes etc..
Scope and Objectives
The scope of this interface is between Global Integration Suite and Maestro. This document includes details of the PartSourceMake.tab object.
The objective is to populate the PartSourceMake and it's referenced tables based on the file provided by Global Integration Suite.
Process Flow Diagram
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. |
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 PartSource table, with the load initiated either manually or through a scheduled system task. |
6 | The Data Tables which store information in Maestro |
Assumptions
- Data will only come from Global Integration Suite into the Global Data Source, set up in Maestro.
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 | AbsolutePrePlanLimit | AbsolutePrePlanLimit | String | N | FixedValue | Default | Absolute limit used to restrict pre-planned orders for this source. |
| 0 | OrderPolicy | OrderPolicy.Value | String | N | FixedValue | Default | Order policy governing how supply is generated for this part source. |
| 0 | PrePlanLimit | PrePlanLimit | String | N | FixedValue | Default | Pre-planning limit used to control how far in advance planning can create supply. |
| 0 | ShipCalendar | Source.ShipCalendar.Value | String | N | FixedValue | Default | Shipping calendar used to determine valid shipment dates for this source. |
| 1 | BaseKey | BaseKey | String | Y | ExtractField | Default | Unique technical key identifying the part source record. |
| 2 | PartName | Part.Name | String | Y | ExtractField | Default | Part identifier for which this source definition applies. |
| 2 | ProductionVersionPartName | SYE::ProductionVersion.PartReference.Name | String | N | ExtractField | Default | Part reference associated with the production version from SAP. |
| 2 | TransferPartName | TransferPart.Name | String | N | ExtractField | Default | Transfer part used when supply is created via transfer logic. |
| 3 | PartSite | Part.Site.Value | String | Y | ExtractField | Default | Site / plant where the part is planned and sourced. |
| 3 | RoutingSite | Routing.Site.Value | String | N | ExtractField | Default | Site where the routing associated with this source is defined. |
| 3 | DestinationSite | Source.DestinationSite.Value | String | Y | ExtractField | Y | Destination site where the sourced supply is delivered. |
| 3 | SupplierId | Source.Supplier.Id | String | Y | ExtractField | Y | Supplier identifier associated with this part source. |
| 3 | SupplierSite | Source.Supplier.Site.Value | String | Y | ExtractField | Default | Supplier site associated with the sourcing definition. |
| 3 | ProductionVersionPartSite | SYE::ProductionVersion.PartReference.Site.Value | String | N | ExtractField | Default | Site associated with the production version part reference. |
| 3 | TransferPartSite | TransferPart.Site.Value | String | N | ExtractField | Default | Site associated with the transfer part. |
| 4 | SourceId | Source.ID | String | Y | ExtractField | Y | Unique identifier for the source record. |
| 4 | ProductionVersionId | SYE::ProductionVersion.Id | String | N | ExtractField | Y | Production Version identifier from SAP defining how the item is produced. |
| 5 | ProductionVersionDescription | SYE::ProductionVersion.Description | String | N | ExtractField | Default | Descriptive text for the production version. |
| 6 | BOMAlternate | BOMAlternate.Value | String | N | ExtractField | Y | Alternate Bill of Material associated with this part source. |
| 7 | RoutingId | Routing.Id | String | N | ExtractField | Y | Routing identifier used for production planning. |
| 8 | MaximumQty | MaximumQty | Quantity | N | ExtractField | Default | Maximum quantity allowed per order or planning bucket. |
| 9 | MultipleQty | MultipleQty | Quantity | N | ExtractField | Default | Order multiple quantity constraint for this source. |
| 10 | MinimumQty | MinimumQty | Quantity | N | ExtractField | Default | Minimum quantity allowed when creating supply. |
| 11 | UnitCost | UnitCost | Money | N | ExtractField | Default | Cost per unit for supply generated from this source. |
| 12 | MaterialCost | MaterialCost | Money | N | ExtractField | Default | Material cost component associated with this source. |
| 13 | LaborCost | LaborCost | Money | N | ExtractField | Default | Labor cost component associated with production for this source. |
| 14 | OverheadCost | OverheadCost | Money | N | ExtractField | Default | Overhead cost component associated with this source. |
| 15 | FixedLeadTime | FixedLeadTime | Quantity | N | ExtractField | Default | Fixed lead time used in planning calculations for this source. |
| 16 | PlanningTimeFence | PlanningTimeFence | Quantity | N | ExtractField | Default | Planning time fence restricting changes to near-term supply. |
| 16 | PTF | SYE::PTF | Quantity | N | ExtractField | Default | Custom Planning Time Fence field used for comparison against Maestro PTF and adjustable directly in the system. |
| 17 | EffectiveInDate | EffectiveInDate | Date | N | ExtractField | Default | Date from which this part source becomes effective. |
| 18 | EffectiveOutDate | EffectiveOutDate | Date | N | ExtractField | Default | Date after which this part source is no longer valid. |
| 19 | Priority | Priority | Quantity | N | ExtractField | Default | Priority used to rank this source when multiple sourcing options exist. |
| 21 | LeadTimeUnit | Source.LeadTimeUnit.Value | String | N | ExtractField | Default | Unit of measure used for lead time (for example, days or hours). |
| 21 | ERPType | SYE::ERP_Type.Value | String | N | ExtractField | Default | Internal-use field preserving the original source type from external ERP systems. |
| 22 | Type | Type.Value | String | N | ExtractField | Default | Source type classification used internally for planning logic. |
| 23 | DockToStockLeadTime | DockToStockLeadTime | Quantity | N | ExtractField | Default | Lead time required from dock receipt to stock availability. |
| 24 | SupplierUOM | SupplierUOM.Value | String | N | ExtractField | Default | Unit of measure used by the supplier for ordering and delivery. |
File Formats
See File Formats - SFTP section in the Data Integration Document.
Data Model PartSourceMake table settings:
| Allow Data update to: | Currency | |||
|---|---|---|---|---|
| Insert, Modify and Delete records | Insert and Modify records only | Allow automatic record creation | Determined by Maestro | Expression |
| Y | - | N | Y | - |
Data Model PartSourceMake custom fields:
Field name | Description | Data type | Key |
| ProductionVersionId | Production Version identifier from SAP defining how the item is produced. | String | N |
| ProductionVersionDescription | Descriptive text for the production version. | String | N |
PTF | Custom Planning Time Fence field used for comparison against Maestro PTF and adjustable directly in the system. | Quantity | N |
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 PartSourceMake table data have to be either loaded manually before loading the PartSourceMake table or at the same time as the PartSourceMake 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 |
BOMAlternate | Set to allow automatic record creation |
Routing | Set to allow automatic record creation |
Part | To be loaded before or with |
PartSourceType | Control Table |
OrderPolicy | Set to allow automatic record creation |
Volumetrics
Current APS Volume of PartSourceMake records is 47000.
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> |
| 4 | Data file contains duplicates | The PartSourceMake.tab file must be checked further for data uniqueness with respect to the key fields, in case data is available in file but not in Maestro |
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 Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|