From cdcde5e32719d65c221ca5602a239b40a612b47e Mon Sep 17 00:00:00 2001 From: --show-origin Date: Fri, 8 Sep 2023 06:04:35 -0700 Subject: [PATCH 01/16] feat: started updating product stock to item stock --- io.catenax.item_stock/1.0.0/ItemStock.ttl | 192 ++++++++++++++++++++++ io.catenax.item_stock/1.0.0/metadata.json | 1 + io.catenax.item_stock/RELEASE_NOTES.md | 7 + 3 files changed, 200 insertions(+) create mode 100644 io.catenax.item_stock/1.0.0/ItemStock.ttl create mode 100644 io.catenax.item_stock/1.0.0/metadata.json create mode 100644 io.catenax.item_stock/RELEASE_NOTES.md diff --git a/io.catenax.item_stock/1.0.0/ItemStock.ttl b/io.catenax.item_stock/1.0.0/ItemStock.ttl new file mode 100644 index 00000000..30ae9a75 --- /dev/null +++ b/io.catenax.item_stock/1.0.0/ItemStock.ttl @@ -0,0 +1,192 @@ +@prefix samm: . +@prefix samm-c: . +@prefix samm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . + +:ItemStock a samm:Aspect; + samm:properties (:positions :materialNumberCustomer [ + samm:property :materialNumberCatenaX; + samm:optional "true"^^xsd:boolean +] [ + samm:property :materialNumberSupplier; + samm:optional "true"^^xsd:boolean +]); + samm:operations (); + samm:events (); + samm:preferredName "Stock of Items"@en; + samm:description "This aspect represents the latest quantities of a partner's items that are on stock. The stock represent the build-to-order (BTO) stocks already available."@en. +:positions a samm:Property; + samm:preferredName "Positions"@en; + samm:description "In case of a supplier's stocks for a customer, these stocks may reference the order position for that they have been produced. \nIn case of a customer's stock delivered by a supplier, there is exactly one position.\n\nIn case there is no item on stock, positions MUST be empty."@en; + samm:characteristic :PositionsCollection. +:materialNumberCustomer a samm:Property; + samm:preferredName "Customer Material Number"@en; + samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; + samm:characteristic :MaterialNumber; + samm:exampleValue "MNR-7307-AU340474.002". +:materialNumberCatenaX a samm:Property; + samm:preferredName "Material UUID Used in Catena-X"@en; + samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en; + samm:characteristic :CatenaXIdTraitCharacteristic; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". +:materialNumberSupplier a samm:Property; + samm:preferredName "Supplier Material Number"@en; + samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; + samm:characteristic :MaterialNumber; + samm:exampleValue "MNR-8101-ID146955.001". +:PositionsCollection a samm-c:Collection; + samm:preferredName "Positions Collection"@en; + samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; + samm:dataType :Position. +:MaterialNumber a samm:Characteristic; + samm:preferredName "Material Number"@en; + samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; + samm:dataType xsd:string. +:CatenaXIdTraitCharacteristic a samm-c:Trait; + samm:preferredName "Catena-X ID Trait"@en; + samm:description "Trait to ensure UUID v4 data format"@en; + samm-c:baseCharacteristic :Uuidv4Characteristic; + samm-c:constraint :Uuidv4RegularExpression. +:Position a samm:Entity; + samm:properties ([ + samm:property :orderPositionReference; + samm:optional "true"^^xsd:boolean +] :lastUpdatedOnDateTime :allocatedStocks); + samm:preferredName "Position"@en; + samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en. +:orderPositionReference a samm:Property; + samm:preferredName "Order Position Reference"@en; + samm:description "The order position reference contains information to identify a position within an order."@en; + samm:characteristic :OrderPositionReferenceCharacteristic. +:lastUpdatedOnDateTime a samm:Property; + samm:preferredName "Lasted Updated on Date"@en; + samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en; + samm:characteristic :DateTimeStamp; + samm:exampleValue "2023-04-01T14:23:00"^^xsd:date. +:allocatedStocks a samm:Property; + samm:preferredName "Allocated Stocks"@en; + samm:description "Stocks already allocated to the customer. There is one AllocatedStock per supplierStockLocation."@en; + samm:characteristic :AllocatedStockCollection. +:OrderPositionReferenceCharacteristic a samm:Characteristic; + samm:preferredName "Order Position Reference Characteristic"@en; + samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; + samm:dataType :OrderPositionReference. +:DateTimeStamp a samm:Characteristic; + samm:preferredName "Date Time Stamp Characteristic"@en; + samm:description "The Date with the the timezone of the involved site."@en; + samm:dataType xsd:date; + samm:see . +:AllocatedStockCollection a samm-c:Collection; + samm:preferredName "Allocated Stock Collection"@en; + samm:description "Collection of AllocatedStocks that may relate to different supplierStockLocations."@en; + samm:dataType :AllocatedStock. +:OrderPositionReference a samm:Entity; + samm:properties ([ + samm:property :supplierOrderId; + samm:optional "true"^^xsd:boolean +] :customerOrderId :customerOrderPositionId); + samm:preferredName "Reference to Order Position"@en; + samm:description "Encapsulates the references to identify a position within an order."@en. +:AllocatedStock a samm:Entity; + samm:properties (:quantityOnAllocatedStock :supplierStockLocationId); + samm:preferredName "Stock Allocated to Customer"@en; + samm:description "This is the quantity of already produced goods at a given location that has not yet been shipped. The allocated stock is the stock available for the customer and may refer to a given position (see OrderPositionReference). Quantities of Materials belonging to this stock are not available for other positions or customers. This stock consists only of the good parts."@en. +:supplierOrderId a samm:Property; + samm:preferredName "Supplier Order ID"@en; + samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "M-Nbr-4711". +:customerOrderId a samm:Property; + samm:preferredName "Customer Order ID"@en; + samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "C-Nbr-4711". +:customerOrderPositionId a samm:Property; + samm:preferredName "Customer Order Position ID"@en; + samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; + samm:characteristic :OrderPositionIdCharacteristic; + samm:exampleValue "PositionId-01". +:quantityOnAllocatedStock a samm:Property; + samm:preferredName "Quantity on Allocated Stock"@en; + samm:description "This is the quantity of the material within the position that is already ready to be delivered."@en; + samm:characteristic :QuantityCharacteristic. +:supplierStockLocationId a samm:Property; + samm:preferredName "Location ID of Supplier's Stock"@en; + samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; + samm:characteristic :SupplierStockLocationIDCharacteristic; + samm:see . +:OrderIdCharacteristic a samm:Characteristic; + samm:preferredName "Order ID Characteristic"@en; + samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; + samm:dataType xsd:string. +:OrderPositionIdCharacteristic a samm:Characteristic; + samm:preferredName "Position ID within Order"@en; + samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; + samm:dataType xsd:string. +:QuantityCharacteristic a samm-c:Quantifiable; + samm:preferredName "Quantity Characteristic"@en; + samm:description "Describes the quantity in which the child part is assembled in the given parent object by providing a quantity value and the measurement unit in which the quantity is measured."@en; + samm:dataType :Quantity. +:SupplierStockLocationIDCharacteristic a samm:Characteristic; + samm:preferredName "Location ID Characteristic of Supplier's Stock"@en; + samm:description "This is the location where the stock is located."@en; + samm:dataType :LocationId. +:LocationId a samm:Entity; + samm:properties (:locationIdType :locationId); + samm:preferredName "Location ID"@en; + samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en. +:locationIdType a samm:Property; + samm:preferredName "Type of Location ID"@en; + samm:description "Type of the location's ID."@en; + samm:characteristic :LocationIdTypeEnum; + samm:exampleValue "BPNS". +:locationId a samm:Property; + samm:preferredName "Location ID"@en; + samm:description "The actual ID reflecting the type (locationIdType) of the location."@en; + samm:characteristic :LocationIdCharacteristic; + samm:exampleValue "BPNS0123456789ZZ". +:LocationIdTypeEnum a samm-c:Enumeration; + samm:preferredName "Location ID Type Enum"@en; + samm:description "Enumeration specifying types of keys for locations within Catena-X."@en; + samm:dataType xsd:string; + samm:see ; + samm-c:values ("BPNS" "BPNA"). +:LocationIdCharacteristic a samm:Characteristic; + samm:preferredName "Location ID Characteristic"@en; + samm:description "The actual key based on the type."@en; + samm:dataType xsd:string; + samm:see . +:Quantity a samm:Entity; + samm:properties (:quantityNumber :measurementUnit); + samm:preferredName "Quantity"@en; + samm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en. +:quantityNumber a samm:Property; + samm:preferredName "Quantity Number"@en; + samm:description "The number of objects related to the measurement unit"@en; + samm:characteristic :NumberofObjects; + samm:exampleValue "2.5"^^xsd:double. +:measurementUnit a samm:Property; + samm:preferredName "Measurement Unit"@en; + samm:description "Unit of measurement for the quantity of objects.\nIf possible, use units from the aspect meta model unit catalog, which is based on the UNECE Recommendation No. 20 \"Codes for Units of Measure used in International Trade\"."@en; + samm:characteristic samm-c:UnitReference; + samm:exampleValue "unit:litre"^^samm:curie; + samm:see . +:NumberofObjects a samm:Characteristic; + samm:preferredName "Number of Objects"@en; + samm:description "Quantifiable number of objects in reference to the measurementUnit"@en; + samm:dataType xsd:double. +:Uuidv4Characteristic a samm:Characteristic; + samm:preferredName "UUID v4"@en; + samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en; + samm:dataType xsd:string; + samm:see . +:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint; + samm:preferredName "Catena-X ID Regular Expression"@en; + samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en; + samm:see ; + samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)". + diff --git a/io.catenax.item_stock/1.0.0/metadata.json b/io.catenax.item_stock/1.0.0/metadata.json new file mode 100644 index 00000000..c22749ae --- /dev/null +++ b/io.catenax.item_stock/1.0.0/metadata.json @@ -0,0 +1 @@ +{ "status" : "release"} diff --git a/io.catenax.item_stock/RELEASE_NOTES.md b/io.catenax.item_stock/RELEASE_NOTES.md new file mode 100644 index 00000000..04540925 --- /dev/null +++ b/io.catenax.item_stock/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +# Changelog +All notable changes to this model will be documented in this file. + +## [1.0.0] - 2023-06-05 +### Added +- initial model + From c6e8562297e78cd45bca7eba14e846d33c7cfa4d Mon Sep 17 00:00:00 2001 From: --show-origin Date: Wed, 13 Sep 2023 07:11:56 -0700 Subject: [PATCH 02/16] feat: updated semantics for allocated stocks --- io.catenax.item_stock/1.0.0/ItemStock.ttl | 33 +++++++++++------------ 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/io.catenax.item_stock/1.0.0/ItemStock.ttl b/io.catenax.item_stock/1.0.0/ItemStock.ttl index 30ae9a75..68ee9fd1 100644 --- a/io.catenax.item_stock/1.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/1.0.0/ItemStock.ttl @@ -58,6 +58,16 @@ ] :lastUpdatedOnDateTime :allocatedStocks); samm:preferredName "Position"@en; samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en. +:Uuidv4Characteristic a samm:Characteristic; + samm:preferredName "UUID v4"@en; + samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en; + samm:dataType xsd:string; + samm:see . +:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint; + samm:preferredName "Catena-X ID Regular Expression"@en; + samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en; + samm:see ; + samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)". :orderPositionReference a samm:Property; samm:preferredName "Order Position Reference"@en; samm:description "The order position reference contains information to identify a position within an order."@en; @@ -69,7 +79,7 @@ samm:exampleValue "2023-04-01T14:23:00"^^xsd:date. :allocatedStocks a samm:Property; samm:preferredName "Allocated Stocks"@en; - samm:description "Stocks already allocated to the customer. There is one AllocatedStock per supplierStockLocation."@en; + samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; samm:characteristic :AllocatedStockCollection. :OrderPositionReferenceCharacteristic a samm:Characteristic; samm:preferredName "Order Position Reference Characteristic"@en; @@ -82,7 +92,7 @@ samm:see . :AllocatedStockCollection a samm-c:Collection; samm:preferredName "Allocated Stock Collection"@en; - samm:description "Collection of AllocatedStocks that may relate to different supplierStockLocations."@en; + samm:description "Collection of allocated stocks that may relate to different stock locations."@en; samm:dataType :AllocatedStock. :OrderPositionReference a samm:Entity; samm:properties ([ @@ -135,6 +145,10 @@ samm:preferredName "Location ID Characteristic of Supplier's Stock"@en; samm:description "This is the location where the stock is located."@en; samm:dataType :LocationId. +:Quantity a samm:Entity; + samm:properties (:quantityNumber :measurementUnit); + samm:preferredName "Quantity"@en; + samm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en. :LocationId a samm:Entity; samm:properties (:locationIdType :locationId); samm:preferredName "Location ID"@en; @@ -160,10 +174,6 @@ samm:description "The actual key based on the type."@en; samm:dataType xsd:string; samm:see . -:Quantity a samm:Entity; - samm:properties (:quantityNumber :measurementUnit); - samm:preferredName "Quantity"@en; - samm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en. :quantityNumber a samm:Property; samm:preferredName "Quantity Number"@en; samm:description "The number of objects related to the measurement unit"@en; @@ -179,14 +189,3 @@ samm:preferredName "Number of Objects"@en; samm:description "Quantifiable number of objects in reference to the measurementUnit"@en; samm:dataType xsd:double. -:Uuidv4Characteristic a samm:Characteristic; - samm:preferredName "UUID v4"@en; - samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en; - samm:dataType xsd:string; - samm:see . -:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint; - samm:preferredName "Catena-X ID Regular Expression"@en; - samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en; - samm:see ; - samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)". - From f668f5d2a98a8ddaf349a7a53885204c581e03dc Mon Sep 17 00:00:00 2001 From: --show-origin Date: Thu, 14 Sep 2023 05:21:39 -0700 Subject: [PATCH 03/16] feat: updated semantics same as yesterday --- io.catenax.item_stock/1.0.0/ItemStock.ttl | 342 +++++++++++++--------- 1 file changed, 198 insertions(+), 144 deletions(-) diff --git a/io.catenax.item_stock/1.0.0/ItemStock.ttl b/io.catenax.item_stock/1.0.0/ItemStock.ttl index 68ee9fd1..a4917cc6 100644 --- a/io.catenax.item_stock/1.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/1.0.0/ItemStock.ttl @@ -23,150 +23,204 @@ samm:preferredName "Positions"@en; samm:description "In case of a supplier's stocks for a customer, these stocks may reference the order position for that they have been produced. \nIn case of a customer's stock delivered by a supplier, there is exactly one position.\n\nIn case there is no item on stock, positions MUST be empty."@en; samm:characteristic :PositionsCollection. -:materialNumberCustomer a samm:Property; - samm:preferredName "Customer Material Number"@en; - samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; - samm:characteristic :MaterialNumber; - samm:exampleValue "MNR-7307-AU340474.002". -:materialNumberCatenaX a samm:Property; - samm:preferredName "Material UUID Used in Catena-X"@en; - samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en; - samm:characteristic :CatenaXIdTraitCharacteristic; - samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". -:materialNumberSupplier a samm:Property; - samm:preferredName "Supplier Material Number"@en; - samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; - samm:characteristic :MaterialNumber; - samm:exampleValue "MNR-8101-ID146955.001". -:PositionsCollection a samm-c:Collection; - samm:preferredName "Positions Collection"@en; - samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; - samm:dataType :Position. -:MaterialNumber a samm:Characteristic; - samm:preferredName "Material Number"@en; - samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; - samm:dataType xsd:string. -:CatenaXIdTraitCharacteristic a samm-c:Trait; - samm:preferredName "Catena-X ID Trait"@en; - samm:description "Trait to ensure UUID v4 data format"@en; - samm-c:baseCharacteristic :Uuidv4Characteristic; - samm-c:constraint :Uuidv4RegularExpression. -:Position a samm:Entity; - samm:properties ([ - samm:property :orderPositionReference; - samm:optional "true"^^xsd:boolean -] :lastUpdatedOnDateTime :allocatedStocks); - samm:preferredName "Position"@en; - samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en. -:Uuidv4Characteristic a samm:Characteristic; - samm:preferredName "UUID v4"@en; - samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en; - samm:dataType xsd:string; - samm:see . -:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint; - samm:preferredName "Catena-X ID Regular Expression"@en; - samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en; - samm:see ; - samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)". -:orderPositionReference a samm:Property; - samm:preferredName "Order Position Reference"@en; - samm:description "The order position reference contains information to identify a position within an order."@en; - samm:characteristic :OrderPositionReferenceCharacteristic. -:lastUpdatedOnDateTime a samm:Property; - samm:preferredName "Lasted Updated on Date"@en; - samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en; - samm:characteristic :DateTimeStamp; - samm:exampleValue "2023-04-01T14:23:00"^^xsd:date. -:allocatedStocks a samm:Property; - samm:preferredName "Allocated Stocks"@en; - samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; - samm:characteristic :AllocatedStockCollection. -:OrderPositionReferenceCharacteristic a samm:Characteristic; - samm:preferredName "Order Position Reference Characteristic"@en; - samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; - samm:dataType :OrderPositionReference. -:DateTimeStamp a samm:Characteristic; - samm:preferredName "Date Time Stamp Characteristic"@en; - samm:description "The Date with the the timezone of the involved site."@en; - samm:dataType xsd:date; - samm:see . -:AllocatedStockCollection a samm-c:Collection; - samm:preferredName "Allocated Stock Collection"@en; - samm:description "Collection of allocated stocks that may relate to different stock locations."@en; - samm:dataType :AllocatedStock. -:OrderPositionReference a samm:Entity; - samm:properties ([ - samm:property :supplierOrderId; - samm:optional "true"^^xsd:boolean -] :customerOrderId :customerOrderPositionId); - samm:preferredName "Reference to Order Position"@en; - samm:description "Encapsulates the references to identify a position within an order."@en. -:AllocatedStock a samm:Entity; - samm:properties (:quantityOnAllocatedStock :supplierStockLocationId); - samm:preferredName "Stock Allocated to Customer"@en; - samm:description "This is the quantity of already produced goods at a given location that has not yet been shipped. The allocated stock is the stock available for the customer and may refer to a given position (see OrderPositionReference). Quantities of Materials belonging to this stock are not available for other positions or customers. This stock consists only of the good parts."@en. -:supplierOrderId a samm:Property; - samm:preferredName "Supplier Order ID"@en; - samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; - samm:characteristic :OrderIdCharacteristic; - samm:exampleValue "M-Nbr-4711". -:customerOrderId a samm:Property; - samm:preferredName "Customer Order ID"@en; - samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; - samm:characteristic :OrderIdCharacteristic; - samm:exampleValue "C-Nbr-4711". -:customerOrderPositionId a samm:Property; - samm:preferredName "Customer Order Position ID"@en; - samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; - samm:characteristic :OrderPositionIdCharacteristic; - samm:exampleValue "PositionId-01". -:quantityOnAllocatedStock a samm:Property; - samm:preferredName "Quantity on Allocated Stock"@en; - samm:description "This is the quantity of the material within the position that is already ready to be delivered."@en; - samm:characteristic :QuantityCharacteristic. -:supplierStockLocationId a samm:Property; - samm:preferredName "Location ID of Supplier's Stock"@en; - samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; - samm:characteristic :SupplierStockLocationIDCharacteristic; - samm:see . -:OrderIdCharacteristic a samm:Characteristic; - samm:preferredName "Order ID Characteristic"@en; - samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; - samm:dataType xsd:string. -:OrderPositionIdCharacteristic a samm:Characteristic; - samm:preferredName "Position ID within Order"@en; - samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; - samm:dataType xsd:string. -:QuantityCharacteristic a samm-c:Quantifiable; - samm:preferredName "Quantity Characteristic"@en; - samm:description "Describes the quantity in which the child part is assembled in the given parent object by providing a quantity value and the measurement unit in which the quantity is measured."@en; - samm:dataType :Quantity. -:SupplierStockLocationIDCharacteristic a samm:Characteristic; - samm:preferredName "Location ID Characteristic of Supplier's Stock"@en; - samm:description "This is the location where the stock is located."@en; - samm:dataType :LocationId. -:Quantity a samm:Entity; - samm:properties (:quantityNumber :measurementUnit); - samm:preferredName "Quantity"@en; - samm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en. -:LocationId a samm:Entity; - samm:properties (:locationIdType :locationId); - samm:preferredName "Location ID"@en; - samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en. -:locationIdType a samm:Property; - samm:preferredName "Type of Location ID"@en; - samm:description "Type of the location's ID."@en; - samm:characteristic :LocationIdTypeEnum; - samm:exampleValue "BPNS". -:locationId a samm:Property; - samm:preferredName "Location ID"@en; - samm:description "The actual ID reflecting the type (locationIdType) of the location."@en; - samm:characteristic :LocationIdCharacteristic; - samm:exampleValue "BPNS0123456789ZZ". -:LocationIdTypeEnum a samm-c:Enumeration; - samm:preferredName "Location ID Type Enum"@en; - samm:description "Enumeration specifying types of keys for locations within Catena-X."@en; - samm:dataType xsd:string; +:materialNumberCustomer a samm:Property ; + samm:preferredName "Customer Material Number"@en ; + samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en ; + samm:characteristic :MaterialNumber ; + samm:exampleValue "MNR-7307-AU340474.002" . + +:materialNumberCatenaX a samm:Property ; + samm:preferredName "Material UUID Used in Catena-X"@en ; + samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en ; + samm:characteristic :CatenaXIdTraitCharacteristic ; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" . + +:materialNumberSupplier a samm:Property ; + samm:preferredName "Supplier Material Number"@en ; + samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en ; + samm:characteristic :MaterialNumber ; + samm:exampleValue "MNR-8101-ID146955.001" . + +:PositionsCollection a samm-c:Collection ; + samm:preferredName "Positions Collection"@en ; + samm:description """If any stock is available, then there is at least one position. + +In case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer. + +In case of a customer's stock delivered by a supplier, there is exactly one position without order position references."""@en ; + samm:dataType :Position . + +:MaterialNumber a samm:Characteristic ; + samm:preferredName "Material Number"@en ; + samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en ; + samm:dataType xsd:string . + +:CatenaXIdTraitCharacteristic a samm-c:Trait ; + samm:preferredName "Catena-X ID Trait"@en ; + samm:description "Trait to ensure UUID v4 data format"@en ; + samm-c:baseCharacteristic :Uuidv4Characteristic ; + samm-c:constraint :Uuidv4RegularExpression . + +:Position a samm:Entity ; + samm:preferredName "Position"@en ; + samm:description """The Position can be located at several stocks. +In case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. +In case of a customer's stock for a supplier, the order position reference MUST NOT be set."""@en ; + samm:properties ( [ samm:property :orderPositionReference; samm:optional true ] :lastUpdatedOnDateTime :allocatedStocks ) . + +:Uuidv4Characteristic a samm:Characteristic ; + samm:preferredName "UUID v4"@en ; + samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en ; + samm:see ; + samm:dataType xsd:string . + +:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint ; + samm:preferredName "Catena-X ID Regular Expression"@en ; + samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en ; + samm:see ; + samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" . + +:orderPositionReference a samm:Property ; + samm:preferredName "Order Position Reference"@en ; + samm:description "The order position reference contains information to identify a position within an order."@en ; + samm:characteristic :OrderPositionReferenceCharacteristic . + +:lastUpdatedOnDateTime a samm:Property ; + samm:preferredName "Lasted Updated on Date"@en ; + samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en ; + samm:characteristic :DateTimeStamp ; + samm:exampleValue "2023-04-01T14:23:00"^^xsd:date . + +:allocatedStocks a samm:Property ; + samm:preferredName "Allocated Stocks"@en ; + samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en ; + samm:characteristic :AllocatedStockCollection . + +:OrderPositionReferenceCharacteristic a samm:Characteristic ; + samm:preferredName "Order Position Reference Characteristic"@en ; + samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en ; + samm:dataType :OrderPositionReference . + +:DateTimeStamp a samm:Characteristic ; + samm:preferredName "Date Time Stamp Characteristic"@en ; + samm:description "The Date with the the timezone of the involved site."@en ; + samm:see ; + samm:dataType xsd:date . + +:AllocatedStockCollection a samm-c:Collection ; + samm:preferredName "Allocated Stock Collection"@en ; + samm:description "Collection of allocated stocks that may relate to different stock locations."@en ; + samm:dataType :AllocatedStock . + +:OrderPositionReference a samm:Entity ; + samm:preferredName "Reference to Order Position"@en ; + samm:description "Encapsulates the references to identify a position within an order."@en ; + samm:properties ( [ samm:property :supplierOrderId; samm:optional true ] :customerOrderId :customerOrderPositionId ) . + +:AllocatedStock a samm:Entity ; + samm:preferredName "Stock Allocated to a Partner"@en ; + samm:description """This is the quantity of items on stock at a location. A stock can either be +- from a certain supplier and ready to be consumed by a customer or +- from a supplier and ready to be shipped to a certain customer. + +In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."""@en ; + samm:properties ( :quantityOnAllocatedStock :supplierStockLocationId ) . + +:supplierOrderId a samm:Property ; + samm:preferredName "Supplier Order ID"@en ; + samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en ; + samm:characteristic :OrderIdCharacteristic ; + samm:exampleValue "M-Nbr-4711" . + +:customerOrderId a samm:Property ; + samm:preferredName "Customer Order ID"@en ; + samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en ; + samm:characteristic :OrderIdCharacteristic ; + samm:exampleValue "C-Nbr-4711" . + +:customerOrderPositionId a samm:Property ; + samm:preferredName "Customer Order Position ID"@en ; + samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en ; + samm:characteristic :OrderPositionIdCharacteristic ; + samm:exampleValue "PositionId-01" . + +:quantityOnAllocatedStock a samm:Property ; + samm:preferredName "Quantity on Allocated Stock"@en ; + samm:description "This is the quantity of the material within the position that is already ready to be delivered."@en ; + samm:characteristic :QuantityCharacteristic . + +:supplierStockLocationId a samm:Property ; + samm:preferredName "Location ID of Supplier's Stock"@en ; + samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en ; + samm:see ; + samm:characteristic :SupplierStockLocationIDCharacteristic . + +:OrderIdCharacteristic a samm:Characteristic ; + samm:preferredName "Order ID Characteristic"@en ; + samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en ; + samm:dataType xsd:string . + +:OrderPositionIdCharacteristic a samm:Characteristic ; + samm:preferredName "Position ID within Order"@en ; + samm:description "The position ID is unique for an order and used within business context to refer to a position."@en ; + samm:dataType xsd:string . + +:QuantityCharacteristic a samm-c:Quantifiable ; + samm:preferredName "Quantity Characteristic"@en ; + samm:description "Describes the quantity in which the child part is assembled in the given parent object by providing a quantity value and the measurement unit in which the quantity is measured."@en ; + samm:dataType :Quantity . + +:SupplierStockLocationIDCharacteristic a samm:Characteristic ; + samm:preferredName "Location ID Characteristic of Supplier's Stock"@en ; + samm:description "This is the location where the stock is located."@en ; + samm:dataType :LocationId . + +:Quantity a samm:Entity ; + samm:preferredName "Quantity"@en ; + samm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en ; + samm:properties ( :quantityNumber :measurementUnit ) . + +:LocationId a samm:Entity ; + samm:preferredName "Location ID"@en ; + samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en ; + samm:properties ( :locationIdType :locationId ) . + +:quantityNumber a samm:Property ; + samm:preferredName "Quantity Number"@en ; + samm:description "The number of objects related to the measurement unit"@en ; + samm:characteristic :NumberofObjects ; + samm:exampleValue "2.5"^^xsd:double . + +:measurementUnit a samm:Property ; + samm:preferredName "Measurement Unit"@en ; + samm:description """Unit of measurement for the quantity of objects. +If possible, use units from the aspect meta model unit catalog, which is based on the UNECE Recommendation No. 20 \"Codes for Units of Measure used in International Trade\"."""@en ; + samm:see ; + samm:characteristic samm-c:UnitReference ; + samm:exampleValue "unit:litre"^^samm:curie . + +:locationIdType a samm:Property ; + samm:preferredName "Type of Location ID"@en ; + samm:description "Type of the location's ID."@en ; + samm:characteristic :LocationIdTypeEnum ; + samm:exampleValue "BPNS" . + +:locationId a samm:Property ; + samm:preferredName "Location ID"@en ; + samm:description "The actual ID reflecting the type (locationIdType) of the location."@en ; + samm:characteristic :LocationIdCharacteristic ; + samm:exampleValue "BPNS0123456789ZZ" . + +:NumberofObjects a samm:Characteristic ; + samm:preferredName "Number of Objects"@en ; + samm:description "Quantifiable number of objects in reference to the measurementUnit"@en ; + samm:dataType xsd:double . + +:LocationIdTypeEnum a samm-c:Enumeration ; + samm:preferredName "Location ID Type Enum"@en ; + samm:description "Enumeration specifying types of keys for locations within Catena-X."@en ; + samm:see ; + samm:dataType xsd:string ; samm:see ; samm-c:values ("BPNS" "BPNA"). :LocationIdCharacteristic a samm:Characteristic; From 14bccc6f29b6e12c3d3419e329fc20189ddb8f82 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Thu, 14 Sep 2023 05:34:15 -0700 Subject: [PATCH 04/16] feat: adjusted semantics for locations --- io.catenax.item_stock/1.0.0/ItemStock.ttl | 364 +++++++++------------- 1 file changed, 155 insertions(+), 209 deletions(-) diff --git a/io.catenax.item_stock/1.0.0/ItemStock.ttl b/io.catenax.item_stock/1.0.0/ItemStock.ttl index a4917cc6..903be0b9 100644 --- a/io.catenax.item_stock/1.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/1.0.0/ItemStock.ttl @@ -23,223 +23,169 @@ samm:preferredName "Positions"@en; samm:description "In case of a supplier's stocks for a customer, these stocks may reference the order position for that they have been produced. \nIn case of a customer's stock delivered by a supplier, there is exactly one position.\n\nIn case there is no item on stock, positions MUST be empty."@en; samm:characteristic :PositionsCollection. -:materialNumberCustomer a samm:Property ; - samm:preferredName "Customer Material Number"@en ; - samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en ; - samm:characteristic :MaterialNumber ; - samm:exampleValue "MNR-7307-AU340474.002" . - -:materialNumberCatenaX a samm:Property ; - samm:preferredName "Material UUID Used in Catena-X"@en ; - samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en ; - samm:characteristic :CatenaXIdTraitCharacteristic ; - samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" . - -:materialNumberSupplier a samm:Property ; - samm:preferredName "Supplier Material Number"@en ; - samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en ; - samm:characteristic :MaterialNumber ; - samm:exampleValue "MNR-8101-ID146955.001" . - -:PositionsCollection a samm-c:Collection ; - samm:preferredName "Positions Collection"@en ; - samm:description """If any stock is available, then there is at least one position. - -In case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer. - -In case of a customer's stock delivered by a supplier, there is exactly one position without order position references."""@en ; - samm:dataType :Position . - -:MaterialNumber a samm:Characteristic ; - samm:preferredName "Material Number"@en ; - samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en ; - samm:dataType xsd:string . - -:CatenaXIdTraitCharacteristic a samm-c:Trait ; - samm:preferredName "Catena-X ID Trait"@en ; - samm:description "Trait to ensure UUID v4 data format"@en ; - samm-c:baseCharacteristic :Uuidv4Characteristic ; - samm-c:constraint :Uuidv4RegularExpression . - -:Position a samm:Entity ; - samm:preferredName "Position"@en ; - samm:description """The Position can be located at several stocks. -In case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. -In case of a customer's stock for a supplier, the order position reference MUST NOT be set."""@en ; - samm:properties ( [ samm:property :orderPositionReference; samm:optional true ] :lastUpdatedOnDateTime :allocatedStocks ) . - -:Uuidv4Characteristic a samm:Characteristic ; - samm:preferredName "UUID v4"@en ; - samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en ; - samm:see ; - samm:dataType xsd:string . - -:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint ; - samm:preferredName "Catena-X ID Regular Expression"@en ; - samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en ; - samm:see ; - samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" . - -:orderPositionReference a samm:Property ; - samm:preferredName "Order Position Reference"@en ; - samm:description "The order position reference contains information to identify a position within an order."@en ; - samm:characteristic :OrderPositionReferenceCharacteristic . - -:lastUpdatedOnDateTime a samm:Property ; - samm:preferredName "Lasted Updated on Date"@en ; - samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en ; - samm:characteristic :DateTimeStamp ; - samm:exampleValue "2023-04-01T14:23:00"^^xsd:date . - -:allocatedStocks a samm:Property ; - samm:preferredName "Allocated Stocks"@en ; - samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en ; - samm:characteristic :AllocatedStockCollection . - -:OrderPositionReferenceCharacteristic a samm:Characteristic ; - samm:preferredName "Order Position Reference Characteristic"@en ; - samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en ; - samm:dataType :OrderPositionReference . - -:DateTimeStamp a samm:Characteristic ; - samm:preferredName "Date Time Stamp Characteristic"@en ; - samm:description "The Date with the the timezone of the involved site."@en ; - samm:see ; - samm:dataType xsd:date . - -:AllocatedStockCollection a samm-c:Collection ; - samm:preferredName "Allocated Stock Collection"@en ; - samm:description "Collection of allocated stocks that may relate to different stock locations."@en ; - samm:dataType :AllocatedStock . - -:OrderPositionReference a samm:Entity ; - samm:preferredName "Reference to Order Position"@en ; - samm:description "Encapsulates the references to identify a position within an order."@en ; - samm:properties ( [ samm:property :supplierOrderId; samm:optional true ] :customerOrderId :customerOrderPositionId ) . - -:AllocatedStock a samm:Entity ; - samm:preferredName "Stock Allocated to a Partner"@en ; - samm:description """This is the quantity of items on stock at a location. A stock can either be -- from a certain supplier and ready to be consumed by a customer or -- from a supplier and ready to be shipped to a certain customer. - -In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."""@en ; - samm:properties ( :quantityOnAllocatedStock :supplierStockLocationId ) . - -:supplierOrderId a samm:Property ; - samm:preferredName "Supplier Order ID"@en ; - samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en ; - samm:characteristic :OrderIdCharacteristic ; - samm:exampleValue "M-Nbr-4711" . - -:customerOrderId a samm:Property ; - samm:preferredName "Customer Order ID"@en ; - samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en ; - samm:characteristic :OrderIdCharacteristic ; - samm:exampleValue "C-Nbr-4711" . - -:customerOrderPositionId a samm:Property ; - samm:preferredName "Customer Order Position ID"@en ; - samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en ; - samm:characteristic :OrderPositionIdCharacteristic ; - samm:exampleValue "PositionId-01" . - -:quantityOnAllocatedStock a samm:Property ; - samm:preferredName "Quantity on Allocated Stock"@en ; - samm:description "This is the quantity of the material within the position that is already ready to be delivered."@en ; - samm:characteristic :QuantityCharacteristic . - -:supplierStockLocationId a samm:Property ; - samm:preferredName "Location ID of Supplier's Stock"@en ; - samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en ; - samm:see ; - samm:characteristic :SupplierStockLocationIDCharacteristic . - -:OrderIdCharacteristic a samm:Characteristic ; - samm:preferredName "Order ID Characteristic"@en ; - samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en ; - samm:dataType xsd:string . - -:OrderPositionIdCharacteristic a samm:Characteristic ; - samm:preferredName "Position ID within Order"@en ; - samm:description "The position ID is unique for an order and used within business context to refer to a position."@en ; - samm:dataType xsd:string . - -:QuantityCharacteristic a samm-c:Quantifiable ; - samm:preferredName "Quantity Characteristic"@en ; - samm:description "Describes the quantity in which the child part is assembled in the given parent object by providing a quantity value and the measurement unit in which the quantity is measured."@en ; - samm:dataType :Quantity . - -:SupplierStockLocationIDCharacteristic a samm:Characteristic ; - samm:preferredName "Location ID Characteristic of Supplier's Stock"@en ; - samm:description "This is the location where the stock is located."@en ; - samm:dataType :LocationId . - -:Quantity a samm:Entity ; - samm:preferredName "Quantity"@en ; - samm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en ; - samm:properties ( :quantityNumber :measurementUnit ) . - -:LocationId a samm:Entity ; - samm:preferredName "Location ID"@en ; - samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en ; - samm:properties ( :locationIdType :locationId ) . - -:quantityNumber a samm:Property ; - samm:preferredName "Quantity Number"@en ; - samm:description "The number of objects related to the measurement unit"@en ; - samm:characteristic :NumberofObjects ; - samm:exampleValue "2.5"^^xsd:double . - -:measurementUnit a samm:Property ; - samm:preferredName "Measurement Unit"@en ; - samm:description """Unit of measurement for the quantity of objects. -If possible, use units from the aspect meta model unit catalog, which is based on the UNECE Recommendation No. 20 \"Codes for Units of Measure used in International Trade\"."""@en ; - samm:see ; - samm:characteristic samm-c:UnitReference ; - samm:exampleValue "unit:litre"^^samm:curie . - -:locationIdType a samm:Property ; - samm:preferredName "Type of Location ID"@en ; - samm:description "Type of the location's ID."@en ; - samm:characteristic :LocationIdTypeEnum ; - samm:exampleValue "BPNS" . - -:locationId a samm:Property ; - samm:preferredName "Location ID"@en ; - samm:description "The actual ID reflecting the type (locationIdType) of the location."@en ; - samm:characteristic :LocationIdCharacteristic ; - samm:exampleValue "BPNS0123456789ZZ" . - -:NumberofObjects a samm:Characteristic ; - samm:preferredName "Number of Objects"@en ; - samm:description "Quantifiable number of objects in reference to the measurementUnit"@en ; - samm:dataType xsd:double . - -:LocationIdTypeEnum a samm-c:Enumeration ; - samm:preferredName "Location ID Type Enum"@en ; - samm:description "Enumeration specifying types of keys for locations within Catena-X."@en ; - samm:see ; - samm:dataType xsd:string ; - samm:see ; - samm-c:values ("BPNS" "BPNA"). -:LocationIdCharacteristic a samm:Characteristic; - samm:preferredName "Location ID Characteristic"@en; - samm:description "The actual key based on the type."@en; +:materialNumberCustomer a samm:Property; + samm:preferredName "Customer Material Number"@en; + samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; + samm:characteristic :MaterialNumber; + samm:exampleValue "MNR-7307-AU340474.002". +:materialNumberCatenaX a samm:Property; + samm:preferredName "Material UUID Used in Catena-X"@en; + samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en; + samm:characteristic :CatenaXIdTraitCharacteristic; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". +:materialNumberSupplier a samm:Property; + samm:preferredName "Supplier Material Number"@en; + samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; + samm:characteristic :MaterialNumber; + samm:exampleValue "MNR-8101-ID146955.001". +:PositionsCollection a samm-c:Collection; + samm:preferredName "Positions Collection"@en; + samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; + samm:dataType :Position. +:MaterialNumber a samm:Characteristic; + samm:preferredName "Material Number"@en; + samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; + samm:dataType xsd:string. +:CatenaXIdTraitCharacteristic a samm-c:Trait; + samm:preferredName "Catena-X ID Trait"@en; + samm:description "Trait to ensure UUID v4 data format"@en; + samm-c:baseCharacteristic :Uuidv4Characteristic; + samm-c:constraint :Uuidv4RegularExpression. +:Position a samm:Entity; + samm:properties ([ + samm:property :orderPositionReference; + samm:optional "true"^^xsd:boolean +] :lastUpdatedOnDateTime :allocatedStocks); + samm:preferredName "Position"@en; + samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en. +:Uuidv4Characteristic a samm:Characteristic; + samm:preferredName "UUID v4"@en; + samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en; samm:dataType xsd:string; - samm:see . + samm:see . +:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint; + samm:preferredName "Catena-X ID Regular Expression"@en; + samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en; + samm:see ; + samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)". +:orderPositionReference a samm:Property; + samm:preferredName "Order Position Reference"@en; + samm:description "The order position reference contains information to identify a position within an order."@en; + samm:characteristic :OrderPositionReferenceCharacteristic. +:lastUpdatedOnDateTime a samm:Property; + samm:preferredName "Lasted Updated on Date"@en; + samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en; + samm:characteristic :DateTimeStamp; + samm:exampleValue "2023-04-01T14:23:00"^^xsd:date. +:allocatedStocks a samm:Property; + samm:preferredName "Allocated Stocks"@en; + samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; + samm:characteristic :AllocatedStockCollection. +:OrderPositionReferenceCharacteristic a samm:Characteristic; + samm:preferredName "Order Position Reference Characteristic"@en; + samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; + samm:dataType :OrderPositionReference. +:DateTimeStamp a samm:Characteristic; + samm:preferredName "Date Time Stamp Characteristic"@en; + samm:description "The Date with the the timezone of the involved site."@en; + samm:dataType xsd:date; + samm:see . +:AllocatedStockCollection a samm-c:Collection; + samm:preferredName "Allocated Stock Collection"@en; + samm:description "Collection of allocated stocks that may relate to different stock locations."@en; + samm:dataType :AllocatedStock. +:OrderPositionReference a samm:Entity; + samm:properties ([ + samm:property :supplierOrderId; + samm:optional "true"^^xsd:boolean +] :customerOrderId :customerOrderPositionId); + samm:preferredName "Reference to Order Position"@en; + samm:description "Encapsulates the references to identify a position within an order."@en. +:AllocatedStock a samm:Entity; + samm:properties (:quantityOnAllocatedStock :stockLocationId); + samm:preferredName "Stock Allocated to a Partner"@en; + samm:description "This is the quantity of items on stock at a location. A stock can either be\n- from a certain supplier and ready to be consumed by a customer or\n- from a supplier and ready to be shipped to a certain customer. \n\nIn case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."@en. +:supplierOrderId a samm:Property; + samm:preferredName "Supplier Order ID"@en; + samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "M-Nbr-4711". +:customerOrderId a samm:Property; + samm:preferredName "Customer Order ID"@en; + samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "C-Nbr-4711". +:customerOrderPositionId a samm:Property; + samm:preferredName "Customer Order Position ID"@en; + samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; + samm:characteristic :OrderPositionIdCharacteristic; + samm:exampleValue "PositionId-01". +:quantityOnAllocatedStock a samm:Property; + samm:preferredName "Quantity on Allocated Stock"@en; + samm:description "This is the quantity of the material on stock. In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer."@en; + samm:characteristic :QuantityCharacteristic. +:OrderIdCharacteristic a samm:Characteristic; + samm:preferredName "Order ID Characteristic"@en; + samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; + samm:dataType xsd:string. +:OrderPositionIdCharacteristic a samm:Characteristic; + samm:preferredName "Position ID within Order"@en; + samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; + samm:dataType xsd:string. +:QuantityCharacteristic a samm-c:Quantifiable; + samm:preferredName "Quantity Characteristic"@en; + samm:description "Describes the quantity on stock of the item defined by a quantity value and the measurement unit in which the quantity is measured."@en; + samm:dataType :Quantity. +:Quantity a samm:Entity; + samm:properties (:quantityNumber :measurementUnit); + samm:preferredName "Quantity"@en; + samm:description "Comprises the number of objects and the unit of measurement for the item."@en. +:LocationId a samm:Entity; + samm:properties (:locationIdType :locationId); + samm:preferredName "Location ID"@en; + samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en. :quantityNumber a samm:Property; samm:preferredName "Quantity Number"@en; - samm:description "The number of objects related to the measurement unit"@en; - samm:characteristic :NumberofObjects; + samm:description "The number of objects related to the measurement unit."@en; + samm:characteristic :NumberOfObjects; samm:exampleValue "2.5"^^xsd:double. :measurementUnit a samm:Property; samm:preferredName "Measurement Unit"@en; - samm:description "Unit of measurement for the quantity of objects.\nIf possible, use units from the aspect meta model unit catalog, which is based on the UNECE Recommendation No. 20 \"Codes for Units of Measure used in International Trade\"."@en; + samm:description "TODO: Unit of measurement for the quantity of objects.\nIf possible, use units from the aspect meta model unit catalog, which is based on the UNECE Recommendation No. 20 \"Codes for Units of Measure used in International Trade\". TODO"@en; samm:characteristic samm-c:UnitReference; samm:exampleValue "unit:litre"^^samm:curie; samm:see . -:NumberofObjects a samm:Characteristic; +:locationIdType a samm:Property; + samm:preferredName "Type of Location ID"@en; + samm:description "Type of the location's ID."@en; + samm:characteristic :LocationIdTypeEnum; + samm:exampleValue "BPNS". +:locationId a samm:Property; + samm:preferredName "Location ID"@en; + samm:description "The actual ID reflecting the type (locationIdType) of the location."@en; + samm:characteristic :LocationIdCharacteristic; + samm:exampleValue "BPNS0123456789ZZ". +:LocationIdTypeEnum a samm-c:Enumeration; + samm:preferredName "Location ID Type Enum"@en; + samm:description "Enumeration specifying types of keys for locations within Catena-X."@en; + samm:dataType xsd:string; + samm:see ; + samm-c:values ("BPNS" "BPNA"). +:LocationIdCharacteristic a samm:Characteristic; + samm:preferredName "Location ID Characteristic"@en; + samm:description "The actual key based on the type."@en; + samm:dataType xsd:string; + samm:see . +:stockLocationId a samm:Property; + samm:preferredName "Location ID of Stock"@en; + samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; + samm:characteristic :StockLocationIDCharacteristic; + samm:see . +:StockLocationIDCharacteristic a samm:Characteristic; + samm:preferredName "Location ID Characteristic of Stock"@en; + samm:description "This is the location where the stock is located."@en; + samm:dataType :LocationId. +:NumberOfObjects a samm:Characteristic; samm:preferredName "Number of Objects"@en; - samm:description "Quantifiable number of objects in reference to the measurementUnit"@en; + samm:description "Quantifiable number of objects in reference to the measurement unit."@en; samm:dataType xsd:double. From 1c06e0153e0dfe0cc1bf2131177c88675ab373b0 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Thu, 28 Sep 2023 10:00:57 -0700 Subject: [PATCH 05/16] chore: updated changelog --- io.catenax.item_stock/RELEASE_NOTES.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/io.catenax.item_stock/RELEASE_NOTES.md b/io.catenax.item_stock/RELEASE_NOTES.md index 04540925..7f2a4e8b 100644 --- a/io.catenax.item_stock/RELEASE_NOTES.md +++ b/io.catenax.item_stock/RELEASE_NOTES.md @@ -1,6 +1,14 @@ # Changelog All notable changes to this model will be documented in this file. +## [2.0.0] - 2023-10-09 +- updated model to also cover customer side +- renamed product stock to item stock (aspect) +- usage of shared aspect + - for uuid for materialNumberCatenaX + - for Qquantity characteristic +- positions for customer side stock MAY NOT contain order position references + ## [1.0.0] - 2023-06-05 ### Added - initial model From 07b0705aa6009bca1fcf54fa19725c4aaa32d82b Mon Sep 17 00:00:00 2001 From: --show-origin Date: Thu, 28 Sep 2023 10:06:30 -0700 Subject: [PATCH 06/16] feat: use unit of measure shared aspect --- io.catenax.item_stock/1.0.0/ItemStock.ttl | 32 +++++------------------ 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/io.catenax.item_stock/1.0.0/ItemStock.ttl b/io.catenax.item_stock/1.0.0/ItemStock.ttl index 903be0b9..5eee4273 100644 --- a/io.catenax.item_stock/1.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/1.0.0/ItemStock.ttl @@ -6,6 +6,7 @@ @prefix rdfs: . @prefix xsd: . @prefix : . +@prefix ext-quantity: . :ItemStock a samm:Aspect; samm:properties (:positions :materialNumberCustomer [ @@ -124,6 +125,11 @@ samm:preferredName "Quantity on Allocated Stock"@en; samm:description "This is the quantity of the material on stock. In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer."@en; samm:characteristic :QuantityCharacteristic. +:stockLocationId a samm:Property; + samm:preferredName "Location ID of Stock"@en; + samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; + samm:characteristic :StockLocationIDCharacteristic; + samm:see . :OrderIdCharacteristic a samm:Characteristic; samm:preferredName "Order ID Characteristic"@en; samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; @@ -135,26 +141,11 @@ :QuantityCharacteristic a samm-c:Quantifiable; samm:preferredName "Quantity Characteristic"@en; samm:description "Describes the quantity on stock of the item defined by a quantity value and the measurement unit in which the quantity is measured."@en; - samm:dataType :Quantity. -:Quantity a samm:Entity; - samm:properties (:quantityNumber :measurementUnit); - samm:preferredName "Quantity"@en; - samm:description "Comprises the number of objects and the unit of measurement for the item."@en. + samm:dataType ext-quantity:ItemQuantityEntity. :LocationId a samm:Entity; samm:properties (:locationIdType :locationId); samm:preferredName "Location ID"@en; samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en. -:quantityNumber a samm:Property; - samm:preferredName "Quantity Number"@en; - samm:description "The number of objects related to the measurement unit."@en; - samm:characteristic :NumberOfObjects; - samm:exampleValue "2.5"^^xsd:double. -:measurementUnit a samm:Property; - samm:preferredName "Measurement Unit"@en; - samm:description "TODO: Unit of measurement for the quantity of objects.\nIf possible, use units from the aspect meta model unit catalog, which is based on the UNECE Recommendation No. 20 \"Codes for Units of Measure used in International Trade\". TODO"@en; - samm:characteristic samm-c:UnitReference; - samm:exampleValue "unit:litre"^^samm:curie; - samm:see . :locationIdType a samm:Property; samm:preferredName "Type of Location ID"@en; samm:description "Type of the location's ID."@en; @@ -176,16 +167,7 @@ samm:description "The actual key based on the type."@en; samm:dataType xsd:string; samm:see . -:stockLocationId a samm:Property; - samm:preferredName "Location ID of Stock"@en; - samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; - samm:characteristic :StockLocationIDCharacteristic; - samm:see . :StockLocationIDCharacteristic a samm:Characteristic; samm:preferredName "Location ID Characteristic of Stock"@en; samm:description "This is the location where the stock is located."@en; samm:dataType :LocationId. -:NumberOfObjects a samm:Characteristic; - samm:preferredName "Number of Objects"@en; - samm:description "Quantifiable number of objects in reference to the measurement unit."@en; - samm:dataType xsd:double. From de4838b13ea6ba4634a3e6e2c4a382bab2f29c2d Mon Sep 17 00:00:00 2001 From: --show-origin Date: Thu, 28 Sep 2023 10:10:55 -0700 Subject: [PATCH 07/16] chore: updated namespace and license --- io.catenax.item_stock/2.0.0/ItemStock.ttl | 176 ++++++++++++++++++++++ io.catenax.item_stock/2.0.0/metadata.json | 1 + 2 files changed, 177 insertions(+) create mode 100644 io.catenax.item_stock/2.0.0/ItemStock.ttl create mode 100644 io.catenax.item_stock/2.0.0/metadata.json diff --git a/io.catenax.item_stock/2.0.0/ItemStock.ttl b/io.catenax.item_stock/2.0.0/ItemStock.ttl new file mode 100644 index 00000000..cc32c7a1 --- /dev/null +++ b/io.catenax.item_stock/2.0.0/ItemStock.ttl @@ -0,0 +1,176 @@ +####################################################################### +# Copyright (c) 2023 ISTOS GmbH (a member of the DMG Mori Group) +# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +# Copyright (c) 2023 TRUMPF Werkzeugmaschinen SE + Co. KG +# Copyright (c) 2023 Volkswagen AG +# Copyright (c) 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### +@prefix samm: . +@prefix samm-c: . +@prefix samm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . +@prefix ext-quantity: . +@prefix ext-uuid: . + +:ItemStock a samm:Aspect; + samm:preferredName "Stock of Items"@en; + samm:description "This aspect represents the latest quantities of a partner's items that are on stock. The stock represent the build-to-order (BTO) stocks already available."@en; + samm:properties (:positions :materialNumberCustomer [ + samm:property :materialNumberCatenaX; + samm:optional "true"^^xsd:boolean +] [ + samm:property :materialNumberSupplier; + samm:optional "true"^^xsd:boolean +]); + samm:operations (); + samm:events (). +:positions a samm:Property; + samm:preferredName "Positions"@en; + samm:description "In case of a supplier's stocks for a customer, these stocks may reference the order position for that they have been produced. \nIn case of a customer's stock delivered by a supplier, there is exactly one position.\n\nIn case there is no item on stock, positions MUST be empty."@en; + samm:characteristic :PositionsCollection. +:materialNumberCustomer a samm:Property; + samm:preferredName "Customer Material Number"@en; + samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; + samm:characteristic :MaterialNumber; + samm:exampleValue "MNR-7307-AU340474.002". +:materialNumberCatenaX a samm:Property; + samm:preferredName "Material UUID Used in Catena-X"@en; + samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en; + samm:characteristic ext-uuid:UuidV4Trait; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". +:materialNumberSupplier a samm:Property; + samm:preferredName "Supplier Material Number"@en; + samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; + samm:characteristic :MaterialNumber; + samm:exampleValue "MNR-8101-ID146955.001". +:PositionsCollection a samm-c:Collection; + samm:preferredName "Positions Collection"@en; + samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; + samm:dataType :Position. +:Position a samm:Entity; + samm:preferredName "Position"@en; + samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en; + samm:properties ([ + samm:property :orderPositionReference; + samm:optional "true"^^xsd:boolean +] :lastUpdatedOnDateTime :allocatedStocks). +:lastUpdatedOnDateTime a samm:Property; + samm:preferredName "Lasted Updated on Date"@en; + samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en; + samm:characteristic :DateTimeStamp; + samm:exampleValue "2023-04-01T14:23:00"^^xsd:date. +:allocatedStocks a samm:Property; + samm:preferredName "Allocated Stocks"@en; + samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; + samm:characteristic :AllocatedStockCollection. +:orderPositionReference a samm:Property; + samm:preferredName "Order Position Reference"@en; + samm:description "The order position reference contains information to identify a position within an order."@en; + samm:characteristic :OrderPositionReferenceCharacteristic. +:OrderPositionReferenceCharacteristic a samm:Characteristic; + samm:preferredName "Order Position Reference Characteristic"@en; + samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; + samm:dataType :OrderPositionReference. +:OrderPositionReference a samm:Entity; + samm:preferredName "Reference to Order Position"@en; + samm:description "Encapsulates the references to identify a position within an order."@en; + samm:properties ([ + samm:property :supplierOrderId; + samm:optional "true"^^xsd:boolean +] :customerOrderId :customerOrderPositionId). +:customerOrderId a samm:Property; + samm:preferredName "Customer Order ID"@en; + samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "C-Nbr-4711". +:customerOrderPositionId a samm:Property; + samm:preferredName "Customer Order Position ID"@en; + samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; + samm:characteristic :OrderPositionIdCharacteristic; + samm:exampleValue "PositionId-01". +:supplierOrderId a samm:Property; + samm:preferredName "Supplier Order ID"@en; + samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "M-Nbr-4711". +:OrderIdCharacteristic a samm:Characteristic; + samm:preferredName "Order ID Characteristic"@en; + samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; + samm:dataType xsd:string. +:OrderPositionIdCharacteristic a samm:Characteristic; + samm:preferredName "Position ID within Order"@en; + samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; + samm:dataType xsd:string. +:DateTimeStamp a samm:Characteristic; + samm:preferredName "Date Time Stamp Characteristic"@en; + samm:description "The Date with the the timezone of the involved site."@en; + samm:dataType xsd:date; + samm:see . +:AllocatedStockCollection a samm-c:Collection; + samm:preferredName "Allocated Stock Collection"@en; + samm:description "Collection of allocated stocks that may relate to different stock locations."@en; + samm:dataType :AllocatedStock. +:AllocatedStock a samm:Entity; + samm:preferredName "Stock Allocated to a Partner"@en; + samm:description "This is the quantity of items on stock at a location. A stock can either be\n- from a certain supplier and ready to be consumed by a customer or\n- from a supplier and ready to be shipped to a certain customer. \n\nIn case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."@en; + samm:properties (:quantityOnAllocatedStock :stockLocationId). +:quantityOnAllocatedStock a samm:Property; + samm:preferredName "Quantity on Allocated Stock"@en; + samm:description "This is the quantity of the material on stock. In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer."@en; + samm:characteristic :QuantityCharacteristic. +:stockLocationId a samm:Property; + samm:preferredName "Location ID of Stock"@en; + samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; + samm:characteristic :StockLocationIDCharacteristic; + samm:see . +:QuantityCharacteristic a samm-c:Quantifiable; + samm:preferredName "Quantity Characteristic"@en; + samm:description "Describes the quantity on stock of the item defined by a quantity value and the measurement unit in which the quantity is measured."@en; + samm:dataType ext-quantity:ItemQuantityEntity. +:StockLocationIDCharacteristic a samm:Characteristic; + samm:preferredName "Location ID Characteristic of Stock"@en; + samm:description "This is the location where the stock is located."@en; + samm:dataType :LocationId. +:LocationId a samm:Entity; + samm:preferredName "Location ID"@en; + samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en; + samm:properties (:locationIdType :locationId). +:locationIdType a samm:Property; + samm:preferredName "Type of Location ID"@en; + samm:description "Type of the location's ID."@en; + samm:characteristic :LocationIdTypeEnum; + samm:exampleValue "BPNS". +:locationId a samm:Property; + samm:preferredName "Location ID"@en; + samm:description "The actual ID reflecting the type (locationIdType) of the location."@en; + samm:characteristic :LocationIdCharacteristic; + samm:exampleValue "BPNS0123456789ZZ". +:LocationIdTypeEnum a samm-c:Enumeration; + samm:preferredName "Location ID Type Enum"@en; + samm:description "Enumeration specifying types of keys for locations within Catena-X."@en; + samm:dataType xsd:string; + samm:see ; + samm-c:values ("BPNS" "BPNA"). +:LocationIdCharacteristic a samm:Characteristic; + samm:preferredName "Location ID Characteristic"@en; + samm:description "The actual key based on the type."@en; + samm:dataType xsd:string; + samm:see . +:MaterialNumber a samm:Characteristic; + samm:preferredName "Material Number"@en; + samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; + samm:dataType xsd:string. diff --git a/io.catenax.item_stock/2.0.0/metadata.json b/io.catenax.item_stock/2.0.0/metadata.json new file mode 100644 index 00000000..c22749ae --- /dev/null +++ b/io.catenax.item_stock/2.0.0/metadata.json @@ -0,0 +1 @@ +{ "status" : "release"} From edd152a3e19bb15f16c062ba532ccbc8901bb2d0 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Thu, 28 Sep 2023 10:17:22 -0700 Subject: [PATCH 08/16] fix: remove old itemstock --- io.catenax.item_stock/1.0.0/ItemStock.ttl | 173 ---------------------- io.catenax.item_stock/1.0.0/metadata.json | 1 - 2 files changed, 174 deletions(-) delete mode 100644 io.catenax.item_stock/1.0.0/ItemStock.ttl delete mode 100644 io.catenax.item_stock/1.0.0/metadata.json diff --git a/io.catenax.item_stock/1.0.0/ItemStock.ttl b/io.catenax.item_stock/1.0.0/ItemStock.ttl deleted file mode 100644 index 5eee4273..00000000 --- a/io.catenax.item_stock/1.0.0/ItemStock.ttl +++ /dev/null @@ -1,173 +0,0 @@ -@prefix samm: . -@prefix samm-c: . -@prefix samm-e: . -@prefix unit: . -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix : . -@prefix ext-quantity: . - -:ItemStock a samm:Aspect; - samm:properties (:positions :materialNumberCustomer [ - samm:property :materialNumberCatenaX; - samm:optional "true"^^xsd:boolean -] [ - samm:property :materialNumberSupplier; - samm:optional "true"^^xsd:boolean -]); - samm:operations (); - samm:events (); - samm:preferredName "Stock of Items"@en; - samm:description "This aspect represents the latest quantities of a partner's items that are on stock. The stock represent the build-to-order (BTO) stocks already available."@en. -:positions a samm:Property; - samm:preferredName "Positions"@en; - samm:description "In case of a supplier's stocks for a customer, these stocks may reference the order position for that they have been produced. \nIn case of a customer's stock delivered by a supplier, there is exactly one position.\n\nIn case there is no item on stock, positions MUST be empty."@en; - samm:characteristic :PositionsCollection. -:materialNumberCustomer a samm:Property; - samm:preferredName "Customer Material Number"@en; - samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; - samm:characteristic :MaterialNumber; - samm:exampleValue "MNR-7307-AU340474.002". -:materialNumberCatenaX a samm:Property; - samm:preferredName "Material UUID Used in Catena-X"@en; - samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en; - samm:characteristic :CatenaXIdTraitCharacteristic; - samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". -:materialNumberSupplier a samm:Property; - samm:preferredName "Supplier Material Number"@en; - samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; - samm:characteristic :MaterialNumber; - samm:exampleValue "MNR-8101-ID146955.001". -:PositionsCollection a samm-c:Collection; - samm:preferredName "Positions Collection"@en; - samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; - samm:dataType :Position. -:MaterialNumber a samm:Characteristic; - samm:preferredName "Material Number"@en; - samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; - samm:dataType xsd:string. -:CatenaXIdTraitCharacteristic a samm-c:Trait; - samm:preferredName "Catena-X ID Trait"@en; - samm:description "Trait to ensure UUID v4 data format"@en; - samm-c:baseCharacteristic :Uuidv4Characteristic; - samm-c:constraint :Uuidv4RegularExpression. -:Position a samm:Entity; - samm:properties ([ - samm:property :orderPositionReference; - samm:optional "true"^^xsd:boolean -] :lastUpdatedOnDateTime :allocatedStocks); - samm:preferredName "Position"@en; - samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en. -:Uuidv4Characteristic a samm:Characteristic; - samm:preferredName "UUID v4"@en; - samm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en; - samm:dataType xsd:string; - samm:see . -:Uuidv4RegularExpression a samm-c:RegularExpressionConstraint; - samm:preferredName "Catena-X ID Regular Expression"@en; - samm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en; - samm:see ; - samm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)". -:orderPositionReference a samm:Property; - samm:preferredName "Order Position Reference"@en; - samm:description "The order position reference contains information to identify a position within an order."@en; - samm:characteristic :OrderPositionReferenceCharacteristic. -:lastUpdatedOnDateTime a samm:Property; - samm:preferredName "Lasted Updated on Date"@en; - samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en; - samm:characteristic :DateTimeStamp; - samm:exampleValue "2023-04-01T14:23:00"^^xsd:date. -:allocatedStocks a samm:Property; - samm:preferredName "Allocated Stocks"@en; - samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; - samm:characteristic :AllocatedStockCollection. -:OrderPositionReferenceCharacteristic a samm:Characteristic; - samm:preferredName "Order Position Reference Characteristic"@en; - samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; - samm:dataType :OrderPositionReference. -:DateTimeStamp a samm:Characteristic; - samm:preferredName "Date Time Stamp Characteristic"@en; - samm:description "The Date with the the timezone of the involved site."@en; - samm:dataType xsd:date; - samm:see . -:AllocatedStockCollection a samm-c:Collection; - samm:preferredName "Allocated Stock Collection"@en; - samm:description "Collection of allocated stocks that may relate to different stock locations."@en; - samm:dataType :AllocatedStock. -:OrderPositionReference a samm:Entity; - samm:properties ([ - samm:property :supplierOrderId; - samm:optional "true"^^xsd:boolean -] :customerOrderId :customerOrderPositionId); - samm:preferredName "Reference to Order Position"@en; - samm:description "Encapsulates the references to identify a position within an order."@en. -:AllocatedStock a samm:Entity; - samm:properties (:quantityOnAllocatedStock :stockLocationId); - samm:preferredName "Stock Allocated to a Partner"@en; - samm:description "This is the quantity of items on stock at a location. A stock can either be\n- from a certain supplier and ready to be consumed by a customer or\n- from a supplier and ready to be shipped to a certain customer. \n\nIn case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."@en. -:supplierOrderId a samm:Property; - samm:preferredName "Supplier Order ID"@en; - samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; - samm:characteristic :OrderIdCharacteristic; - samm:exampleValue "M-Nbr-4711". -:customerOrderId a samm:Property; - samm:preferredName "Customer Order ID"@en; - samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; - samm:characteristic :OrderIdCharacteristic; - samm:exampleValue "C-Nbr-4711". -:customerOrderPositionId a samm:Property; - samm:preferredName "Customer Order Position ID"@en; - samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; - samm:characteristic :OrderPositionIdCharacteristic; - samm:exampleValue "PositionId-01". -:quantityOnAllocatedStock a samm:Property; - samm:preferredName "Quantity on Allocated Stock"@en; - samm:description "This is the quantity of the material on stock. In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer."@en; - samm:characteristic :QuantityCharacteristic. -:stockLocationId a samm:Property; - samm:preferredName "Location ID of Stock"@en; - samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; - samm:characteristic :StockLocationIDCharacteristic; - samm:see . -:OrderIdCharacteristic a samm:Characteristic; - samm:preferredName "Order ID Characteristic"@en; - samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; - samm:dataType xsd:string. -:OrderPositionIdCharacteristic a samm:Characteristic; - samm:preferredName "Position ID within Order"@en; - samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; - samm:dataType xsd:string. -:QuantityCharacteristic a samm-c:Quantifiable; - samm:preferredName "Quantity Characteristic"@en; - samm:description "Describes the quantity on stock of the item defined by a quantity value and the measurement unit in which the quantity is measured."@en; - samm:dataType ext-quantity:ItemQuantityEntity. -:LocationId a samm:Entity; - samm:properties (:locationIdType :locationId); - samm:preferredName "Location ID"@en; - samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en. -:locationIdType a samm:Property; - samm:preferredName "Type of Location ID"@en; - samm:description "Type of the location's ID."@en; - samm:characteristic :LocationIdTypeEnum; - samm:exampleValue "BPNS". -:locationId a samm:Property; - samm:preferredName "Location ID"@en; - samm:description "The actual ID reflecting the type (locationIdType) of the location."@en; - samm:characteristic :LocationIdCharacteristic; - samm:exampleValue "BPNS0123456789ZZ". -:LocationIdTypeEnum a samm-c:Enumeration; - samm:preferredName "Location ID Type Enum"@en; - samm:description "Enumeration specifying types of keys for locations within Catena-X."@en; - samm:dataType xsd:string; - samm:see ; - samm-c:values ("BPNS" "BPNA"). -:LocationIdCharacteristic a samm:Characteristic; - samm:preferredName "Location ID Characteristic"@en; - samm:description "The actual key based on the type."@en; - samm:dataType xsd:string; - samm:see . -:StockLocationIDCharacteristic a samm:Characteristic; - samm:preferredName "Location ID Characteristic of Stock"@en; - samm:description "This is the location where the stock is located."@en; - samm:dataType :LocationId. diff --git a/io.catenax.item_stock/1.0.0/metadata.json b/io.catenax.item_stock/1.0.0/metadata.json deleted file mode 100644 index c22749ae..00000000 --- a/io.catenax.item_stock/1.0.0/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{ "status" : "release"} From c64cd68defd781abdf01ec5a9838e55ab2d6f810 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Thu, 26 Oct 2023 07:23:29 -0700 Subject: [PATCH 09/16] feat: added isBlocked --- io.catenax.item_stock/2.0.0/ItemStock.ttl | 72 ++++++++++------------- 1 file changed, 32 insertions(+), 40 deletions(-) diff --git a/io.catenax.item_stock/2.0.0/ItemStock.ttl b/io.catenax.item_stock/2.0.0/ItemStock.ttl index cc32c7a1..bd4432f2 100644 --- a/io.catenax.item_stock/2.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/2.0.0/ItemStock.ttl @@ -1,20 +1,3 @@ -####################################################################### -# Copyright (c) 2023 ISTOS GmbH (a member of the DMG Mori Group) -# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) -# Copyright (c) 2023 TRUMPF Werkzeugmaschinen SE + Co. KG -# Copyright (c) 2023 Volkswagen AG -# Copyright (c) 2023 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This work is made available under the terms of the -# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, -# which is available at -# https://creativecommons.org/licenses/by/4.0/legalcode. -# -# SPDX-License-Identifier: CC-BY-4.0 -####################################################################### @prefix samm: . @prefix samm-c: . @prefix samm-e: . @@ -61,6 +44,10 @@ samm:preferredName "Positions Collection"@en; samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; samm:dataType :Position. +:MaterialNumber a samm:Characteristic; + samm:preferredName "Material Number"@en; + samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; + samm:dataType xsd:string. :Position a samm:Entity; samm:preferredName "Position"@en; samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en; @@ -68,6 +55,10 @@ samm:property :orderPositionReference; samm:optional "true"^^xsd:boolean ] :lastUpdatedOnDateTime :allocatedStocks). +:orderPositionReference a samm:Property; + samm:preferredName "Order Position Reference"@en; + samm:description "The order position reference contains information to identify a position within an order."@en; + samm:characteristic :OrderPositionReferenceCharacteristic. :lastUpdatedOnDateTime a samm:Property; samm:preferredName "Lasted Updated on Date"@en; samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en; @@ -77,10 +68,15 @@ samm:preferredName "Allocated Stocks"@en; samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; samm:characteristic :AllocatedStockCollection. -:orderPositionReference a samm:Property; - samm:preferredName "Order Position Reference"@en; - samm:description "The order position reference contains information to identify a position within an order."@en; - samm:characteristic :OrderPositionReferenceCharacteristic. +:DateTimeStamp a samm:Characteristic; + samm:preferredName "Date Time Stamp Characteristic"@en; + samm:description "The Date with the the timezone of the involved site."@en; + samm:dataType xsd:date; + samm:see . +:AllocatedStockCollection a samm-c:Collection; + samm:preferredName "Allocated Stock Collection"@en; + samm:description "Collection of allocated stocks that may relate to different stock locations. Per location there could be at maximum one blocked and one non blocked stock at the same time."@en; + samm:dataType :AllocatedStock. :OrderPositionReferenceCharacteristic a samm:Characteristic; samm:preferredName "Order Position Reference Characteristic"@en; samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; @@ -92,6 +88,11 @@ samm:property :supplierOrderId; samm:optional "true"^^xsd:boolean ] :customerOrderId :customerOrderPositionId). +:supplierOrderId a samm:Property; + samm:preferredName "Supplier Order ID"@en; + samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "M-Nbr-4711". :customerOrderId a samm:Property; samm:preferredName "Customer Order ID"@en; samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; @@ -102,11 +103,6 @@ samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; samm:characteristic :OrderPositionIdCharacteristic; samm:exampleValue "PositionId-01". -:supplierOrderId a samm:Property; - samm:preferredName "Supplier Order ID"@en; - samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; - samm:characteristic :OrderIdCharacteristic; - samm:exampleValue "M-Nbr-4711". :OrderIdCharacteristic a samm:Characteristic; samm:preferredName "Order ID Characteristic"@en; samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; @@ -115,19 +111,10 @@ samm:preferredName "Position ID within Order"@en; samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; samm:dataType xsd:string. -:DateTimeStamp a samm:Characteristic; - samm:preferredName "Date Time Stamp Characteristic"@en; - samm:description "The Date with the the timezone of the involved site."@en; - samm:dataType xsd:date; - samm:see . -:AllocatedStockCollection a samm-c:Collection; - samm:preferredName "Allocated Stock Collection"@en; - samm:description "Collection of allocated stocks that may relate to different stock locations."@en; - samm:dataType :AllocatedStock. :AllocatedStock a samm:Entity; samm:preferredName "Stock Allocated to a Partner"@en; samm:description "This is the quantity of items on stock at a location. A stock can either be\n- from a certain supplier and ready to be consumed by a customer or\n- from a supplier and ready to be shipped to a certain customer. \n\nIn case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."@en; - samm:properties (:quantityOnAllocatedStock :stockLocationId). + samm:properties (:quantityOnAllocatedStock :stockLocationId :isBlocked). :quantityOnAllocatedStock a samm:Property; samm:preferredName "Quantity on Allocated Stock"@en; samm:description "This is the quantity of the material on stock. In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer."@en; @@ -170,7 +157,12 @@ samm:description "The actual key based on the type."@en; samm:dataType xsd:string; samm:see . -:MaterialNumber a samm:Characteristic; - samm:preferredName "Material Number"@en; - samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; - samm:dataType xsd:string. +:isBlocked a samm:Property; + samm:preferredName "Is Blocked"@en; + samm:description "A set of finished items that are located on the blocked stock area, quarantine area, etc. waiting to be released.\n\nExample: Stock is in review and not released due to customer complaint regarding a recent batch."@en; + samm:characteristic :IsBlockedCharacteristic; + samm:exampleValue "false"^^xsd:boolean. +:IsBlockedCharacteristic a samm:Characteristic; + samm:preferredName "Is Blocked Characteristic"@en; + samm:description "Boolean characteristic indicating whether a stock is blocked (true) or not (false)."@en; + samm:dataType xsd:boolean. From 445a025613e8ec535a76c0274778ff3032083b14 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Fri, 3 Nov 2023 06:38:32 -0700 Subject: [PATCH 10/16] feat: renamed materialNumberCX, added direction --- io.catenax.item_stock/2.0.0/ItemStock.ttl | 122 ++++++++++++---------- io.catenax.item_stock/RELEASE_NOTES.md | 10 +- 2 files changed, 71 insertions(+), 61 deletions(-) diff --git a/io.catenax.item_stock/2.0.0/ItemStock.ttl b/io.catenax.item_stock/2.0.0/ItemStock.ttl index bd4432f2..de259311 100644 --- a/io.catenax.item_stock/2.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/2.0.0/ItemStock.ttl @@ -1,3 +1,20 @@ +####################################################################### +# Copyright (c) 2023 ISTOS GmbH (a member of the DMG Mori Group) +# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +# Copyright (c) 2023 TRUMPF Werkzeugmaschinen SE + Co. KG +# Copyright (c) 2023 Volkswagen AG +# Copyright (c) 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### @prefix samm: . @prefix samm-c: . @prefix samm-e: . @@ -6,6 +23,7 @@ @prefix rdfs: . @prefix xsd: . @prefix : . +@prefix ext-number: . @prefix ext-quantity: . @prefix ext-uuid: . @@ -13,12 +31,12 @@ samm:preferredName "Stock of Items"@en; samm:description "This aspect represents the latest quantities of a partner's items that are on stock. The stock represent the build-to-order (BTO) stocks already available."@en; samm:properties (:positions :materialNumberCustomer [ - samm:property :materialNumberCatenaX; + samm:property :materialGlobalAssetId; samm:optional "true"^^xsd:boolean ] [ samm:property :materialNumberSupplier; samm:optional "true"^^xsd:boolean -]); +] :direction); samm:operations (); samm:events (). :positions a samm:Property; @@ -30,11 +48,6 @@ samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; samm:characteristic :MaterialNumber; samm:exampleValue "MNR-7307-AU340474.002". -:materialNumberCatenaX a samm:Property; - samm:preferredName "Material UUID Used in Catena-X"@en; - samm:description "Material identifier used uniquely within Catena-X to identify the Material (e.g. PartAsPlanned)."@en; - samm:characteristic ext-uuid:UuidV4Trait; - samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". :materialNumberSupplier a samm:Property; samm:preferredName "Supplier Material Number"@en; samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; @@ -68,6 +81,10 @@ samm:preferredName "Allocated Stocks"@en; samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; samm:characteristic :AllocatedStockCollection. +:OrderPositionReferenceCharacteristic a samm:Characteristic; + samm:preferredName "Order Position Reference Characteristic"@en; + samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; + samm:dataType :OrderPositionReference. :DateTimeStamp a samm:Characteristic; samm:preferredName "Date Time Stamp Characteristic"@en; samm:description "The Date with the the timezone of the involved site."@en; @@ -77,10 +94,6 @@ samm:preferredName "Allocated Stock Collection"@en; samm:description "Collection of allocated stocks that may relate to different stock locations. Per location there could be at maximum one blocked and one non blocked stock at the same time."@en; samm:dataType :AllocatedStock. -:OrderPositionReferenceCharacteristic a samm:Characteristic; - samm:preferredName "Order Position Reference Characteristic"@en; - samm:description "The order position reference includes reference numbers for the order and the ID. As these information are meant for the customer, the customer reference numbers are mandatory."@en; - samm:dataType :OrderPositionReference. :OrderPositionReference a samm:Entity; samm:preferredName "Reference to Order Position"@en; samm:description "Encapsulates the references to identify a position within an order."@en; @@ -88,6 +101,10 @@ samm:property :supplierOrderId; samm:optional "true"^^xsd:boolean ] :customerOrderId :customerOrderPositionId). +:AllocatedStock a samm:Entity; + samm:preferredName "Stock Allocated to a Partner"@en; + samm:description "This is the quantity of items on stock at a location. A stock can either be\n- from a certain supplier and ready to be consumed by a customer or\n- from a supplier and ready to be shipped to a certain customer. \n\nIn case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."@en; + samm:properties (:quantityOnAllocatedStock :stockLocationBPNS :isBlocked :stockLocationBPNA). :supplierOrderId a samm:Property; samm:preferredName "Supplier Order ID"@en; samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; @@ -103,6 +120,27 @@ samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; samm:characteristic :OrderPositionIdCharacteristic; samm:exampleValue "PositionId-01". +:quantityOnAllocatedStock a samm:Property; + samm:preferredName "Quantity on Allocated Stock"@en; + samm:description "This is the quantity of the material on stock. In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer."@en; + samm:characteristic :QuantityCharacteristic. +:stockLocationBPNS a samm:Property; + samm:preferredName "BPNS of Stock Location"@en; + samm:description "BPNS identifying the site the stock is located at. One stock has always one location."@en; + samm:characteristic ext-number:BpnsTrait; + samm:exampleValue "BPNS1234567890ZZ"; + samm:see . +:isBlocked a samm:Property; + samm:preferredName "Is Blocked"@en; + samm:description "A set of finished items that are located on the blocked stock area, quarantine area, etc. waiting to be released.\n\nExample: Stock is in review and not released due to customer complaint regarding a recent batch."@en; + samm:characteristic :IsBlockedCharacteristic; + samm:exampleValue "false"^^xsd:boolean. +:stockLocationBPNA a samm:Property; + samm:preferredName "BPNA of Stock Location"@en; + samm:description "BPNA identifying the address the stock is located at. One stock has always one location."@en; + samm:characteristic ext-number:BpnaTrait; + samm:exampleValue "BPNA1234567890"; + samm:see . :OrderIdCharacteristic a samm:Characteristic; samm:preferredName "Order ID Characteristic"@en; samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; @@ -111,58 +149,26 @@ samm:preferredName "Position ID within Order"@en; samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; samm:dataType xsd:string. -:AllocatedStock a samm:Entity; - samm:preferredName "Stock Allocated to a Partner"@en; - samm:description "This is the quantity of items on stock at a location. A stock can either be\n- from a certain supplier and ready to be consumed by a customer or\n- from a supplier and ready to be shipped to a certain customer. \n\nIn case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer. This stock consists only of the good-finished items."@en; - samm:properties (:quantityOnAllocatedStock :stockLocationId :isBlocked). -:quantityOnAllocatedStock a samm:Property; - samm:preferredName "Quantity on Allocated Stock"@en; - samm:description "This is the quantity of the material on stock. In case of stocks \"from a supplier ready to be shipped to a certain customer\", the stock may refer to an order position of a customer."@en; - samm:characteristic :QuantityCharacteristic. -:stockLocationId a samm:Property; - samm:preferredName "Location ID of Stock"@en; - samm:description "One stock has always one location. The location is identified using BPNs. The location can be identified differently depending on the partner."@en; - samm:characteristic :StockLocationIDCharacteristic; - samm:see . :QuantityCharacteristic a samm-c:Quantifiable; samm:preferredName "Quantity Characteristic"@en; samm:description "Describes the quantity on stock of the item defined by a quantity value and the measurement unit in which the quantity is measured."@en; samm:dataType ext-quantity:ItemQuantityEntity. -:StockLocationIDCharacteristic a samm:Characteristic; - samm:preferredName "Location ID Characteristic of Stock"@en; - samm:description "This is the location where the stock is located."@en; - samm:dataType :LocationId. -:LocationId a samm:Entity; - samm:preferredName "Location ID"@en; - samm:description "A location can be described by different kinds of identifiers. Within Catena-X, a location can either be described by a BPNS or BPNA."@en; - samm:properties (:locationIdType :locationId). -:locationIdType a samm:Property; - samm:preferredName "Type of Location ID"@en; - samm:description "Type of the location's ID."@en; - samm:characteristic :LocationIdTypeEnum; - samm:exampleValue "BPNS". -:locationId a samm:Property; - samm:preferredName "Location ID"@en; - samm:description "The actual ID reflecting the type (locationIdType) of the location."@en; - samm:characteristic :LocationIdCharacteristic; - samm:exampleValue "BPNS0123456789ZZ". -:LocationIdTypeEnum a samm-c:Enumeration; - samm:preferredName "Location ID Type Enum"@en; - samm:description "Enumeration specifying types of keys for locations within Catena-X."@en; - samm:dataType xsd:string; - samm:see ; - samm-c:values ("BPNS" "BPNA"). -:LocationIdCharacteristic a samm:Characteristic; - samm:preferredName "Location ID Characteristic"@en; - samm:description "The actual key based on the type."@en; - samm:dataType xsd:string; - samm:see . -:isBlocked a samm:Property; - samm:preferredName "Is Blocked"@en; - samm:description "A set of finished items that are located on the blocked stock area, quarantine area, etc. waiting to be released.\n\nExample: Stock is in review and not released due to customer complaint regarding a recent batch."@en; - samm:characteristic :IsBlockedCharacteristic; - samm:exampleValue "false"^^xsd:boolean. :IsBlockedCharacteristic a samm:Characteristic; samm:preferredName "Is Blocked Characteristic"@en; samm:description "Boolean characteristic indicating whether a stock is blocked (true) or not (false)."@en; samm:dataType xsd:boolean. +:materialGlobalAssetId a samm:Property; + samm:preferredName "Material Number UUID of customers twin"@en; + samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; + samm:characteristic ext-uuid:UuidV4Trait; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". +:direction a samm:Property; + samm:preferredName "Direction of Stock"@en; + samm:description "Direction of the stock from data provider perspective."@en; + samm:characteristic :DirectionCharacteristic; + samm:exampleValue "OUTBOUND". +:DirectionCharacteristic a samm-c:Enumeration; + samm:preferredName "Direction of Stock Characteristic"@en; + samm:description "If a supplier provides stock information to a customer, use \"OUTBOUND\".\nIf a customer provides stock information to a supplier, use \"INBOUND\"."@en; + samm:dataType xsd:string; + samm-c:values ("INBOUND" "OUTBOUND"). diff --git a/io.catenax.item_stock/RELEASE_NOTES.md b/io.catenax.item_stock/RELEASE_NOTES.md index 7f2a4e8b..6d8b0b24 100644 --- a/io.catenax.item_stock/RELEASE_NOTES.md +++ b/io.catenax.item_stock/RELEASE_NOTES.md @@ -4,10 +4,14 @@ All notable changes to this model will be documented in this file. ## [2.0.0] - 2023-10-09 - updated model to also cover customer side - renamed product stock to item stock (aspect) +- renamed materialNumberCatena-X to materialGlobalAssetId for agnostic digital twin usage. - usage of shared aspect - - for uuid for materialNumberCatenaX - - for Qquantity characteristic -- positions for customer side stock MAY NOT contain order position references + - for uuid for materialGlobalAssetId + - for Quantity characteristic + - for bpn for BPNS, L, A information +- positions for customer side stock MAY NOT contain order position references +- added property direction to indicate OUTBOUND (formerly known as product stock) and INBOUND (material stock) +- replaced property locationId of either type BPNS or BPNA by properties stockLocationBPNS and stockLocationBPNA ## [1.0.0] - 2023-06-05 ### Added From 8ad56485bc7db7f2ad1f6c47f2096af207ad901f Mon Sep 17 00:00:00 2001 From: --show-origin Date: Fri, 3 Nov 2023 07:00:31 -0700 Subject: [PATCH 11/16] fix: updated materialNumberCharacteristic and materialGlobalAssetId --- io.catenax.item_stock/2.0.0/ItemStock.ttl | 8 ++++---- io.catenax.item_stock/RELEASE_NOTES.md | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/io.catenax.item_stock/2.0.0/ItemStock.ttl b/io.catenax.item_stock/2.0.0/ItemStock.ttl index de259311..81f5f3e0 100644 --- a/io.catenax.item_stock/2.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/2.0.0/ItemStock.ttl @@ -46,18 +46,18 @@ :materialNumberCustomer a samm:Property; samm:preferredName "Customer Material Number"@en; samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; - samm:characteristic :MaterialNumber; + samm:characteristic :MaterialNumberCharacteristic; samm:exampleValue "MNR-7307-AU340474.002". :materialNumberSupplier a samm:Property; samm:preferredName "Supplier Material Number"@en; samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; - samm:characteristic :MaterialNumber; + samm:characteristic :MaterialNumberCharacteristic; samm:exampleValue "MNR-8101-ID146955.001". :PositionsCollection a samm-c:Collection; samm:preferredName "Positions Collection"@en; samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; samm:dataType :Position. -:MaterialNumber a samm:Characteristic; +:MaterialNumberCharacteristic a samm:Characteristic; samm:preferredName "Material Number"@en; samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; samm:dataType xsd:string. @@ -158,7 +158,7 @@ samm:description "Boolean characteristic indicating whether a stock is blocked (true) or not (false)."@en; samm:dataType xsd:boolean. :materialGlobalAssetId a samm:Property; - samm:preferredName "Material Number UUID of customers twin"@en; + samm:preferredName "Material Number UUID of the Customer's Twin"@en; samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; samm:characteristic ext-uuid:UuidV4Trait; samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". diff --git a/io.catenax.item_stock/RELEASE_NOTES.md b/io.catenax.item_stock/RELEASE_NOTES.md index 6d8b0b24..71ab1ffd 100644 --- a/io.catenax.item_stock/RELEASE_NOTES.md +++ b/io.catenax.item_stock/RELEASE_NOTES.md @@ -12,6 +12,7 @@ All notable changes to this model will be documented in this file. - positions for customer side stock MAY NOT contain order position references - added property direction to indicate OUTBOUND (formerly known as product stock) and INBOUND (material stock) - replaced property locationId of either type BPNS or BPNA by properties stockLocationBPNS and stockLocationBPNA +- renamed Characteristic for MaterialNumber to MaterialNumberCharacteristic ## [1.0.0] - 2023-06-05 ### Added From deecbb8a2999f1295f42b32d2e9793e6ab1ed306 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Mon, 13 Nov 2023 05:11:58 -0800 Subject: [PATCH 12/16] fix: stock location bpna example value and data type for last updated on --- io.catenax.item_stock/2.0.0/ItemStock.ttl | 36 +++++++++++------------ io.catenax.item_stock/RELEASE_NOTES.md | 2 +- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/io.catenax.item_stock/2.0.0/ItemStock.ttl b/io.catenax.item_stock/2.0.0/ItemStock.ttl index 81f5f3e0..5b480d6c 100644 --- a/io.catenax.item_stock/2.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/2.0.0/ItemStock.ttl @@ -48,11 +48,21 @@ samm:description "Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the materialNumberSupplier should be set in this field, too."@en; samm:characteristic :MaterialNumberCharacteristic; samm:exampleValue "MNR-7307-AU340474.002". +:materialGlobalAssetId a samm:Property; + samm:preferredName "Material Number UUID of the Customer's Twin"@en; + samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; + samm:characteristic ext-uuid:UuidV4Trait; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". :materialNumberSupplier a samm:Property; samm:preferredName "Supplier Material Number"@en; samm:description "Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database."@en; samm:characteristic :MaterialNumberCharacteristic; samm:exampleValue "MNR-8101-ID146955.001". +:direction a samm:Property; + samm:preferredName "Direction of Stock"@en; + samm:description "Direction of the stock from data provider perspective."@en; + samm:characteristic :DirectionCharacteristic; + samm:exampleValue "OUTBOUND". :PositionsCollection a samm-c:Collection; samm:preferredName "Positions Collection"@en; samm:description "If any stock is available, then there is at least one position. \n\nIn case of a supplier's stock for a customer, the supplier can differentiate the stock according to the order positions of his customer. In this case multiple positions can be given. There could also be only one position without an OrderPositionReference indicating an anonymous stock which is allocated to the customer.\n\nIn case of a customer's stock delivered by a supplier, there is exactly one position without order position references."@en; @@ -61,6 +71,11 @@ samm:preferredName "Material Number"@en; samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; samm:dataType xsd:string. +:DirectionCharacteristic a samm-c:Enumeration; + samm:preferredName "Direction of Stock Characteristic"@en; + samm:description "If a supplier provides stock information to a customer, use \"OUTBOUND\".\nIf a customer provides stock information to a supplier, use \"INBOUND\"."@en; + samm:dataType xsd:string; + samm-c:values ("INBOUND" "OUTBOUND"). :Position a samm:Entity; samm:preferredName "Position"@en; samm:description "The Position can be located at several stocks. \nIn case of a supplier's stock for a customer, a position may be either anonymous or reference a position within a customer order. \nIn case of a customer's stock for a supplier, the order position reference MUST NOT be set."@en; @@ -76,7 +91,7 @@ samm:preferredName "Lasted Updated on Date"@en; samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to a timezone."@en; samm:characteristic :DateTimeStamp; - samm:exampleValue "2023-04-01T14:23:00"^^xsd:date. + samm:exampleValue "2023-04-01T14:23:00"^^xsd:dateTime. :allocatedStocks a samm:Property; samm:preferredName "Allocated Stocks"@en; samm:description "Stocks that have been already allocated to the customer or delivered by a specific supplier. An allocated stock always refers to a stock location."@en; @@ -88,7 +103,7 @@ :DateTimeStamp a samm:Characteristic; samm:preferredName "Date Time Stamp Characteristic"@en; samm:description "The Date with the the timezone of the involved site."@en; - samm:dataType xsd:date; + samm:dataType xsd:dateTime; samm:see . :AllocatedStockCollection a samm-c:Collection; samm:preferredName "Allocated Stock Collection"@en; @@ -139,7 +154,7 @@ samm:preferredName "BPNA of Stock Location"@en; samm:description "BPNA identifying the address the stock is located at. One stock has always one location."@en; samm:characteristic ext-number:BpnaTrait; - samm:exampleValue "BPNA1234567890"; + samm:exampleValue "BPNA1234567890ZZ"; samm:see . :OrderIdCharacteristic a samm:Characteristic; samm:preferredName "Order ID Characteristic"@en; @@ -157,18 +172,3 @@ samm:preferredName "Is Blocked Characteristic"@en; samm:description "Boolean characteristic indicating whether a stock is blocked (true) or not (false)."@en; samm:dataType xsd:boolean. -:materialGlobalAssetId a samm:Property; - samm:preferredName "Material Number UUID of the Customer's Twin"@en; - samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; - samm:characteristic ext-uuid:UuidV4Trait; - samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". -:direction a samm:Property; - samm:preferredName "Direction of Stock"@en; - samm:description "Direction of the stock from data provider perspective."@en; - samm:characteristic :DirectionCharacteristic; - samm:exampleValue "OUTBOUND". -:DirectionCharacteristic a samm-c:Enumeration; - samm:preferredName "Direction of Stock Characteristic"@en; - samm:description "If a supplier provides stock information to a customer, use \"OUTBOUND\".\nIf a customer provides stock information to a supplier, use \"INBOUND\"."@en; - samm:dataType xsd:string; - samm-c:values ("INBOUND" "OUTBOUND"). diff --git a/io.catenax.item_stock/RELEASE_NOTES.md b/io.catenax.item_stock/RELEASE_NOTES.md index 71ab1ffd..2ac25815 100644 --- a/io.catenax.item_stock/RELEASE_NOTES.md +++ b/io.catenax.item_stock/RELEASE_NOTES.md @@ -1,7 +1,7 @@ # Changelog All notable changes to this model will be documented in this file. -## [2.0.0] - 2023-10-09 +## [2.0.0] - 2023-11-13 - updated model to also cover customer side - renamed product stock to item stock (aspect) - renamed materialNumberCatena-X to materialGlobalAssetId for agnostic digital twin usage. From 699efed836ed0cdd9c5cb0ca8052cb822c0cc89d Mon Sep 17 00:00:00 2001 From: --show-origin Date: Wed, 15 Nov 2023 05:15:43 -0800 Subject: [PATCH 13/16] chore: set potential ms3 date --- io.catenax.item_stock/RELEASE_NOTES.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/io.catenax.item_stock/RELEASE_NOTES.md b/io.catenax.item_stock/RELEASE_NOTES.md index 2ac25815..7ab269c3 100644 --- a/io.catenax.item_stock/RELEASE_NOTES.md +++ b/io.catenax.item_stock/RELEASE_NOTES.md @@ -1,7 +1,7 @@ # Changelog All notable changes to this model will be documented in this file. -## [2.0.0] - 2023-11-13 +## [2.0.0] - 2023-11-20 - updated model to also cover customer side - renamed product stock to item stock (aspect) - renamed materialNumberCatena-X to materialGlobalAssetId for agnostic digital twin usage. @@ -12,7 +12,8 @@ All notable changes to this model will be documented in this file. - positions for customer side stock MAY NOT contain order position references - added property direction to indicate OUTBOUND (formerly known as product stock) and INBOUND (material stock) - replaced property locationId of either type BPNS or BPNA by properties stockLocationBPNS and stockLocationBPNA -- renamed Characteristic for MaterialNumber to MaterialNumberCharacteristic +- renamed Characteristic for MaterialNumber to MaterialNumberCharacteristic +- updated lastUpdatedOn to be DateTime instead of Date. ## [1.0.0] - 2023-06-05 ### Added From a2ea7f549b08451fc8ecc83197e847e97f8cc798 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Wed, 15 Nov 2023 05:22:30 -0800 Subject: [PATCH 14/16] fix: added ttl again --- .../1.0.0/PlannedProductionOutput.ttl | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl diff --git a/io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl b/io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl new file mode 100644 index 00000000..ee2da018 --- /dev/null +++ b/io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl @@ -0,0 +1,154 @@ +####################################################################### +# Copyright (c) 2023 ISTOS GmbH (a member of the DMG Mori Group) +# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +# Copyright (c) 2023 TRUMPF Werkzeugmaschinen SE + Co. KG +# Copyright (c) 2023 Volkswagen AG +# Copyright (c) 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### +@prefix samm: . +@prefix samm-c: . +@prefix samm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . +@prefix ext-number: . +@prefix ext-quantity: . +@prefix ext-uuid: . + +:PlannedProductionOutput a samm:Aspect; + samm:preferredName "Planned Production Output of a Supplier"@en; + samm:description "This aspect represents the remaining and planned production outputs of a supplier allocated to a customer. An allocated planned production output is described by a quantity, the site of the supplier and the date with time at which a production of a certain material for a certain customer is planned to be finished. The allocated planned production outputs may be linked to customer order position they have been scheduled for."@en; + samm:properties (:positions :materialNumberCustomer [ + samm:property :materialGlobalAssetId; + samm:optional "true"^^xsd:boolean +] [ + samm:property :materialNumberSupplier; + samm:optional "true"^^xsd:boolean +]); + samm:operations (); + samm:events (). +:positions a samm:Property; + samm:preferredName "Positions"@en; + samm:description "The positions refer to positions within an order of the given product (see material number supplier, materialNumber customer and material global Asset Id) for which the production outputs are transferred. The positions can be differentiated by the order position reference. If no order position reference is given, then there is only one position containing all planned production outputs of the product."@en; + samm:characteristic :PositionsCollection. +:materialNumberCustomer a samm:Property; + samm:preferredName "Customer Material Number"@en; + samm:description "Material identifier as assigned by the customer. This material number identifies the material (as planned) in the customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the material number supplier should be set in this field, too."@en; + samm:characteristic :MaterialNumberCharacteristic; + samm:exampleValue "MNR-7307-AU340474.002". +:materialGlobalAssetId a samm:Property; + samm:preferredName "Material Number UUID of the Customer's Twin"@en; + samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; + samm:characteristic ext-uuid:UuidV4Trait; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". +:materialNumberSupplier a samm:Property; + samm:preferredName "Supplier Material Number"@en; + samm:description "Material identifier as assigned by the supplier. This material number identifies the material (as planned) in the supplier's database."@en; + samm:characteristic :MaterialNumberCharacteristic; + samm:exampleValue "MNR-8101-ID146955.001". +:PositionsCollection a samm-c:Collection; + samm:preferredName "Positions Collection"@en; + samm:description "If any production for the customer is planned, then there is at least one position. If the supplier does differentiate the planned production according to the order positions (an OrderPositionReference is set), then multiple positions can be given. Among the positions, there could be only one position without an OrderPositionReference to either report the planned production independently of orders or to report internal stock orders planned for the customer."@en; + samm:dataType :Position. +:MaterialNumberCharacteristic a samm:Characteristic; + samm:preferredName "Material Number"@en; + samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; + samm:dataType xsd:string. +:Position a samm:Entity; + samm:preferredName "Position"@en; + samm:description "The Position can be planned for production at several sites. A position may be anonymous or may reference a position within an order."@en; + samm:properties ([ + samm:property :orderPositionReference; + samm:optional "true"^^xsd:boolean +] :lastUpdatedOnDateTime :allocatedPlannedProductionOutputs). +:orderPositionReference a samm:Property; + samm:preferredName "Order Position Reference"@en; + samm:description "The order position reference contains information to identify a position within an order."@en; + samm:characteristic :OrderPositionReferenceCharacteristic. +:lastUpdatedOnDateTime a samm:Property; + samm:preferredName "Lasted Updated on Date"@en; + samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to the timezone."@en; + samm:characteristic :DateTimeStamp; + samm:exampleValue "2023-04-01T14:23:00+01:00"^^xsd:dateTime. +:allocatedPlannedProductionOutputs a samm:Property; + samm:preferredName "Planned and Allocated Production Outputs"@en; + samm:description "Planned Production Outputs already allocated to the customer."@en; + samm:characteristic :AllocatedPlannedProductionOutputCollection. +:OrderPositionReferenceCharacteristic a samm:Characteristic; + samm:preferredName "Order Position Reference Characteristic"@en; + samm:description "The order position reference includes reference numbers for the order and the position. As these information are meant for the customer, the customer reference numbers are mandatory."@en; + samm:dataType :OrderPositionReference. +:DateTimeStamp a samm:Characteristic; + samm:preferredName "Date Time Stamp Characteristic"@en; + samm:description "The Date with the timezone."@en; + samm:dataType xsd:dateTime; + samm:see . +:AllocatedPlannedProductionOutputCollection a samm-c:Collection; + samm:preferredName "Planned and Allocated Production Output Collection"@en; + samm:description "Collection of planned and allocated production outputs that may relate to different production locations and estimated time of completions."@en; + samm:dataType :AllocatedPlannedProductionOutput. +:OrderPositionReference a samm:Entity; + samm:preferredName "Reference to Order Position"@en; + samm:description "Encapsulates the references to identify a position within an order."@en; + samm:properties ([ + samm:property :supplierOrderId; + samm:optional "true"^^xsd:boolean +] :customerOrderId :customerOrderPositionId). +:AllocatedPlannedProductionOutput a samm:Entity; + samm:preferredName "Planned and Allocated Production Output"@en; + samm:description "Quantity, site of the supplier and date with time at which a production of a certain material for a certain customer is planned to be finished."@en; + samm:properties (:plannedProductionQuantity :productionSiteBpns :estimatedTimeOfCompletion). +:supplierOrderId a samm:Property; + samm:preferredName "Supplier Order ID"@en; + samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "M-Nbr-4711". +:customerOrderId a samm:Property; + samm:preferredName "Customer Order ID"@en; + samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "C-Nbr-4711". +:customerOrderPositionId a samm:Property; + samm:preferredName "Customer Order Position ID"@en; + samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; + samm:characteristic :OrderPositionIdCharacteristic; + samm:exampleValue "PositionId-01". +:plannedProductionQuantity a samm:Property; + samm:preferredName "Planned Production Quantity"@en; + samm:description "Quantity of a product that a supplier plans to produce on a certain date and time for a specific customer (that means that it will be allocated to a specific customer's \"allocated item stock\").\nQuantities that have already been produced are put on stock or are considered for delivery. Therefore those quantities MUST NOT be considered in the allocated production output to build a consistent view on the supply situation. "@en; + samm:characteristic :QuantityCharacteristic. +:productionSiteBpns a samm:Property; + samm:preferredName "BPNS of Supplier's Production Site"@en; + samm:description "One planned and allocated production output has always one site. The site is identified by the BPNS."@en; + samm:characteristic ext-number:BpnsTrait; + samm:exampleValue "BPNS0123456789ZZ"; + samm:see . +:estimatedTimeOfCompletion a samm:Property; + samm:preferredName "Estimated Time of Completion"@en; + samm:description "Date and time on which the planned and allocated production output is estimated to be completed. Date and time are set according to a timezone."@en; + samm:characteristic :DateTimeStamp; + samm:exampleValue "2023-04-01T14:23:00+01:00"^^xsd:dateTime. +:OrderIdCharacteristic a samm:Characteristic; + samm:preferredName "Order ID Characteristic"@en; + samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; + samm:dataType xsd:string. +:OrderPositionIdCharacteristic a samm:Characteristic; + samm:preferredName "Position ID within Order"@en; + samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; + samm:dataType xsd:string. +:QuantityCharacteristic a samm-c:Quantifiable; + samm:preferredName "Quantity Characteristic"@en; + samm:description "Describes the quantity and the unit of measure with which the planned and allocated production output is measured."@en; + samm:dataType ext-quantity:ItemQuantityEntity. From 0f2540449668e7614bdbcdedfd99e8c82a798ffa Mon Sep 17 00:00:00 2001 From: --show-origin Date: Wed, 15 Nov 2023 05:24:50 -0800 Subject: [PATCH 15/16] fix: added wrong model by accident --- .../1.0.0/PlannedProductionOutput.ttl | 154 ------------------ 1 file changed, 154 deletions(-) delete mode 100644 io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl diff --git a/io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl b/io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl deleted file mode 100644 index ee2da018..00000000 --- a/io.catenax.planned_production_output/1.0.0/PlannedProductionOutput.ttl +++ /dev/null @@ -1,154 +0,0 @@ -####################################################################### -# Copyright (c) 2023 ISTOS GmbH (a member of the DMG Mori Group) -# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) -# Copyright (c) 2023 TRUMPF Werkzeugmaschinen SE + Co. KG -# Copyright (c) 2023 Volkswagen AG -# Copyright (c) 2023 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This work is made available under the terms of the -# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, -# which is available at -# https://creativecommons.org/licenses/by/4.0/legalcode. -# -# SPDX-License-Identifier: CC-BY-4.0 -####################################################################### -@prefix samm: . -@prefix samm-c: . -@prefix samm-e: . -@prefix unit: . -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix : . -@prefix ext-number: . -@prefix ext-quantity: . -@prefix ext-uuid: . - -:PlannedProductionOutput a samm:Aspect; - samm:preferredName "Planned Production Output of a Supplier"@en; - samm:description "This aspect represents the remaining and planned production outputs of a supplier allocated to a customer. An allocated planned production output is described by a quantity, the site of the supplier and the date with time at which a production of a certain material for a certain customer is planned to be finished. The allocated planned production outputs may be linked to customer order position they have been scheduled for."@en; - samm:properties (:positions :materialNumberCustomer [ - samm:property :materialGlobalAssetId; - samm:optional "true"^^xsd:boolean -] [ - samm:property :materialNumberSupplier; - samm:optional "true"^^xsd:boolean -]); - samm:operations (); - samm:events (). -:positions a samm:Property; - samm:preferredName "Positions"@en; - samm:description "The positions refer to positions within an order of the given product (see material number supplier, materialNumber customer and material global Asset Id) for which the production outputs are transferred. The positions can be differentiated by the order position reference. If no order position reference is given, then there is only one position containing all planned production outputs of the product."@en; - samm:characteristic :PositionsCollection. -:materialNumberCustomer a samm:Property; - samm:preferredName "Customer Material Number"@en; - samm:description "Material identifier as assigned by the customer. This material number identifies the material (as planned) in the customer's database. For standard parts (e.g. screws) for which a customer does not have an own number, the material number supplier should be set in this field, too."@en; - samm:characteristic :MaterialNumberCharacteristic; - samm:exampleValue "MNR-7307-AU340474.002". -:materialGlobalAssetId a samm:Property; - samm:preferredName "Material Number UUID of the Customer's Twin"@en; - samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; - samm:characteristic ext-uuid:UuidV4Trait; - samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". -:materialNumberSupplier a samm:Property; - samm:preferredName "Supplier Material Number"@en; - samm:description "Material identifier as assigned by the supplier. This material number identifies the material (as planned) in the supplier's database."@en; - samm:characteristic :MaterialNumberCharacteristic; - samm:exampleValue "MNR-8101-ID146955.001". -:PositionsCollection a samm-c:Collection; - samm:preferredName "Positions Collection"@en; - samm:description "If any production for the customer is planned, then there is at least one position. If the supplier does differentiate the planned production according to the order positions (an OrderPositionReference is set), then multiple positions can be given. Among the positions, there could be only one position without an OrderPositionReference to either report the planned production independently of orders or to report internal stock orders planned for the customer."@en; - samm:dataType :Position. -:MaterialNumberCharacteristic a samm:Characteristic; - samm:preferredName "Material Number"@en; - samm:description "The material number is a multi-character string, usually assigned by an ERP system."@en; - samm:dataType xsd:string. -:Position a samm:Entity; - samm:preferredName "Position"@en; - samm:description "The Position can be planned for production at several sites. A position may be anonymous or may reference a position within an order."@en; - samm:properties ([ - samm:property :orderPositionReference; - samm:optional "true"^^xsd:boolean -] :lastUpdatedOnDateTime :allocatedPlannedProductionOutputs). -:orderPositionReference a samm:Property; - samm:preferredName "Order Position Reference"@en; - samm:description "The order position reference contains information to identify a position within an order."@en; - samm:characteristic :OrderPositionReferenceCharacteristic. -:lastUpdatedOnDateTime a samm:Property; - samm:preferredName "Lasted Updated on Date"@en; - samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to the timezone."@en; - samm:characteristic :DateTimeStamp; - samm:exampleValue "2023-04-01T14:23:00+01:00"^^xsd:dateTime. -:allocatedPlannedProductionOutputs a samm:Property; - samm:preferredName "Planned and Allocated Production Outputs"@en; - samm:description "Planned Production Outputs already allocated to the customer."@en; - samm:characteristic :AllocatedPlannedProductionOutputCollection. -:OrderPositionReferenceCharacteristic a samm:Characteristic; - samm:preferredName "Order Position Reference Characteristic"@en; - samm:description "The order position reference includes reference numbers for the order and the position. As these information are meant for the customer, the customer reference numbers are mandatory."@en; - samm:dataType :OrderPositionReference. -:DateTimeStamp a samm:Characteristic; - samm:preferredName "Date Time Stamp Characteristic"@en; - samm:description "The Date with the timezone."@en; - samm:dataType xsd:dateTime; - samm:see . -:AllocatedPlannedProductionOutputCollection a samm-c:Collection; - samm:preferredName "Planned and Allocated Production Output Collection"@en; - samm:description "Collection of planned and allocated production outputs that may relate to different production locations and estimated time of completions."@en; - samm:dataType :AllocatedPlannedProductionOutput. -:OrderPositionReference a samm:Entity; - samm:preferredName "Reference to Order Position"@en; - samm:description "Encapsulates the references to identify a position within an order."@en; - samm:properties ([ - samm:property :supplierOrderId; - samm:optional "true"^^xsd:boolean -] :customerOrderId :customerOrderPositionId). -:AllocatedPlannedProductionOutput a samm:Entity; - samm:preferredName "Planned and Allocated Production Output"@en; - samm:description "Quantity, site of the supplier and date with time at which a production of a certain material for a certain customer is planned to be finished."@en; - samm:properties (:plannedProductionQuantity :productionSiteBpns :estimatedTimeOfCompletion). -:supplierOrderId a samm:Property; - samm:preferredName "Supplier Order ID"@en; - samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; - samm:characteristic :OrderIdCharacteristic; - samm:exampleValue "M-Nbr-4711". -:customerOrderId a samm:Property; - samm:preferredName "Customer Order ID"@en; - samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; - samm:characteristic :OrderIdCharacteristic; - samm:exampleValue "C-Nbr-4711". -:customerOrderPositionId a samm:Property; - samm:preferredName "Customer Order Position ID"@en; - samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; - samm:characteristic :OrderPositionIdCharacteristic; - samm:exampleValue "PositionId-01". -:plannedProductionQuantity a samm:Property; - samm:preferredName "Planned Production Quantity"@en; - samm:description "Quantity of a product that a supplier plans to produce on a certain date and time for a specific customer (that means that it will be allocated to a specific customer's \"allocated item stock\").\nQuantities that have already been produced are put on stock or are considered for delivery. Therefore those quantities MUST NOT be considered in the allocated production output to build a consistent view on the supply situation. "@en; - samm:characteristic :QuantityCharacteristic. -:productionSiteBpns a samm:Property; - samm:preferredName "BPNS of Supplier's Production Site"@en; - samm:description "One planned and allocated production output has always one site. The site is identified by the BPNS."@en; - samm:characteristic ext-number:BpnsTrait; - samm:exampleValue "BPNS0123456789ZZ"; - samm:see . -:estimatedTimeOfCompletion a samm:Property; - samm:preferredName "Estimated Time of Completion"@en; - samm:description "Date and time on which the planned and allocated production output is estimated to be completed. Date and time are set according to a timezone."@en; - samm:characteristic :DateTimeStamp; - samm:exampleValue "2023-04-01T14:23:00+01:00"^^xsd:dateTime. -:OrderIdCharacteristic a samm:Characteristic; - samm:preferredName "Order ID Characteristic"@en; - samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; - samm:dataType xsd:string. -:OrderPositionIdCharacteristic a samm:Characteristic; - samm:preferredName "Position ID within Order"@en; - samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; - samm:dataType xsd:string. -:QuantityCharacteristic a samm-c:Quantifiable; - samm:preferredName "Quantity Characteristic"@en; - samm:description "Describes the quantity and the unit of measure with which the planned and allocated production output is measured."@en; - samm:dataType ext-quantity:ItemQuantityEntity. From 0739feeb777a289b6d7b3dbd4eb196fb594d9b2b Mon Sep 17 00:00:00 2001 From: --show-origin Date: Mon, 20 Nov 2023 07:27:13 -0800 Subject: [PATCH 16/16] chore: updated 2.0.0 version to 1.0.0 --- io.catenax.item_stock/{2.0.0 => 1.0.0}/ItemStock.ttl | 2 +- io.catenax.item_stock/{2.0.0 => 1.0.0}/metadata.json | 0 io.catenax.item_stock/RELEASE_NOTES.md | 11 ++++------- 3 files changed, 5 insertions(+), 8 deletions(-) rename io.catenax.item_stock/{2.0.0 => 1.0.0}/ItemStock.ttl (99%) rename io.catenax.item_stock/{2.0.0 => 1.0.0}/metadata.json (100%) diff --git a/io.catenax.item_stock/2.0.0/ItemStock.ttl b/io.catenax.item_stock/1.0.0/ItemStock.ttl similarity index 99% rename from io.catenax.item_stock/2.0.0/ItemStock.ttl rename to io.catenax.item_stock/1.0.0/ItemStock.ttl index 5b480d6c..2214819e 100644 --- a/io.catenax.item_stock/2.0.0/ItemStock.ttl +++ b/io.catenax.item_stock/1.0.0/ItemStock.ttl @@ -22,7 +22,7 @@ @prefix rdf: . @prefix rdfs: . @prefix xsd: . -@prefix : . +@prefix : . @prefix ext-number: . @prefix ext-quantity: . @prefix ext-uuid: . diff --git a/io.catenax.item_stock/2.0.0/metadata.json b/io.catenax.item_stock/1.0.0/metadata.json similarity index 100% rename from io.catenax.item_stock/2.0.0/metadata.json rename to io.catenax.item_stock/1.0.0/metadata.json diff --git a/io.catenax.item_stock/RELEASE_NOTES.md b/io.catenax.item_stock/RELEASE_NOTES.md index 7ab269c3..7094de16 100644 --- a/io.catenax.item_stock/RELEASE_NOTES.md +++ b/io.catenax.item_stock/RELEASE_NOTES.md @@ -1,11 +1,13 @@ # Changelog All notable changes to this model will be documented in this file. -## [2.0.0] - 2023-11-20 +## [1.0.0] - 2023-11-20 +### Added +initial model as update of product stock model - updated model to also cover customer side - renamed product stock to item stock (aspect) - renamed materialNumberCatena-X to materialGlobalAssetId for agnostic digital twin usage. -- usage of shared aspect +- usage of shared aspect - for uuid for materialGlobalAssetId - for Quantity characteristic - for bpn for BPNS, L, A information @@ -14,8 +16,3 @@ All notable changes to this model will be documented in this file. - replaced property locationId of either type BPNS or BPNA by properties stockLocationBPNS and stockLocationBPNA - renamed Characteristic for MaterialNumber to MaterialNumberCharacteristic - updated lastUpdatedOn to be DateTime instead of Date. - -## [1.0.0] - 2023-06-05 -### Added -- initial model -