Change log
Date | Change | Author |
---|
2024-02-06 | Initial publication | N. Stonewall |
2024-03-21 | Correct correctiveActionCode code value reference to ACTION_NEEDED . Update Warnings and validations to be introduced in GDSN 3.1.27. Add link to Swedish Example CIC Warning file. Add minor clarifications to Choreography. | N. Stonewall |
What is a GDSN Warning?
New kind of data validation within GDSN. It aims to:
- Improve data quality and communication within the network.
- Allow data recipient to provide feedback to data source about items, without stopping flow of data.
Warning versus Validation Rule
Rule type | Sent by | Result when triggered | Data forwarded to DR? | DS must act? |
---|
Validation rule | DP, DR | Block + info to DS | No | Yes |
Warning | DP, DR | Info to DS | Yes | No |
DP = Data Pool (Validoo), DS = Data Source (supplier), DR = Data RecipientDefinitions
Note: All of these concepts exist today in the context of validation rules.
Warning: A non-blocking data validation.
GDSN Warning: A warning that has been approved by all of GDSN, and that is run on all items in the network.
Swedish Warning: A warning that has been approved by GS1 Sweden community, and that is run on all items sent to target market Sweden via Validoo Data Pool.
Data pool Warning: A type of Swedish Warning. A technical Warning implemented by Validoo Data Pool and applied to all trade items sent to same.
Data Recipient Warning: A warning created by a Data Recipient, outside of the GDSN process.
Use case
Use Warnings to signal non-critical issues affecting an item or item hierarchy. Examples of non-critical issues might include:
GDSN Warning
WARNING: attributeX
is deprecated and will be removed in a future release.
WARNING: areBatteriesBuiltIn
is included. Consider also providing quantityOfBatteriesBuiltIn
.
Swedish Warning
WARNING: attributeX
is missing and will be made mandatory for target market Sweden starting in GDSN 3.1.x.
WARNING: attributes x, y, z
are missing. For dangerous goods in GPC Family 40000000, Swedish data recipients generally need this information.
Data pool Warning
WARNING: The company prefix referenced in your GTIN appears to be invalid. Please investigate at {url}. . .
Data Recipient Warning
WARNING: For items in GPC Segment 50000000, {data recipient
} requests that you provide attributeX
.
WARNING: For this particular item, I, your data recipient, would like to request attributeX
.
Suggestions to data recipients
- Think of Warnings as a replacement for an email or phone call to your supplier.
- You can send as many Warnings as you wish.
- Warning sent latest defines item status.
- Help your master data administrators respond to a CIN in free text using Warning.
- Remember that Warnings are what we as a community make of them.
What do I need to do? I am a . .
System provider
- You need to be able to process Catalogue Item Confirmation (CIC) Warning messages sent from Validoo Data Pool.
See sections:- CIC Warning message structure for XML structure your system can expect
- Choreography for scenarios in which you may receive a CIC Warning
- You need to be able to expose to your user the information contained in a CIC Warning sent from Validoo Data Pool.
Data recipient who sends my own CIC messages
- You need to start providing your GLN in attribute
messageCreatorGln
in your CIC messages.
Applies to all CIC messages starting GDSN 3.1.27. See section
New attributes in CIC message. - You need to be able to generate CIC messages in the format expected by Validoo Data Pool.
See sections:- Using CIC states & Choreography for how to correctly construct a CIC.
- CIC Warning message structure for XML structure your system will need to be able to generate.
Data recipient who does not yet send CIC messages, but plans to start doing so
The same requirements apply as for data recipients who already send their own CIC messages.
New attributes in CIC message
To support Warnings, new attributes are introduced in CatalogueItemConfirmation
message type.
Attributes | XPath | Mandatory |
---|
messageCreatorGln | catalogItemConfirmation/ catalogueItemConfirmationState/messageCreatorGln | Yes |
messageCreatorName | catalogItemConfirmation/ catalogueItemConfirmationState/messageCreatorName | No |
messageCreatorGln
:
Global Location Number (GLN) of party responsible for creating the content in the (CIC) message.
messageCreatorName
:
The name of the party responsible for creating the content contained in the (CIC) message.
XML representation:
<xsd:complexType name="CatalogueItemConfirmationStateType">
<xsd:sequence>
<xsd:element name="catalogueItemConfirmationStateCode"
type="gdsn_common:SynchronisationConfirmationStateEnume
<xsd:element name="recipientGLN"
type="shared_common:GLNType"/>
<xsd:element minOccurs="0" name="recipientDataPool"
type="shared_common:GLNType"/>
<xsd:element name="messageCreatorGLN"
type="shared_common:GLNType"/>
<xsd:element minOccurs="0" name="messageCreatorName"
type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
Using CIC states
CIC states are how data recipients define item status. To correctly send Warning, use an appropriate CIC state.
- A data recipient can send Warning with either:
catalogueItemConfirmationStateCode = SYNCHRONISED
catalogueItemConfirmationStateCode = REVIEW
Validoo Data Pool will treat these identically.
- For Warning-only CIC, use
catalogueItemConfirmationStateCode = SYNCHRONISED
. - For CIC Error (with or without Warning), continue using
catalogueItemConfirmationStateCode = REVIEW.
catalogueItemConfirmationStateCode = RECEIVED
sent by data recipient should not contain warnings.- See Choreography table in Appendix for a more detailed breakdown of CIC states and various parties’ roles in CIC choreography.
CIC Warning message structure
CIC Warning structure has minor changes compared to current CIC message structure. To correctly send CIC Warning – and CIC Error – use the structure presented in this section. Below structure will apply to all CIC messages starting GDSN 3.1.27.
<catalogueItemConfirmationStatus>
<confirmationStatusCode>CIC999</confirmationStatusCode>
<confirmationStatusCodeDescription languageCode="en">Free Form Text to be populated by the Data Recipient</confirmationStatusCodeDescription>
<additionalConfirmationStatusLongDescription languageCode="en">[warning_id] WARNING: Datapool’s or data recipients description of issue to be communicated to data source.</additionalConfirmationStatusLongDescription>
<correctiveAction>
<correctiveActionCode>WARNING</correctiveActionCode>
</correctiveAction>
</catalogueItemConfirmationStatus>
This section steps through the structure to highlight changes. Each XML snippet is preceded by one of:
[no change] No change compared to current CIC implementation
[new] Contains a change compared to current CIC implementation
- [no change]
confirmationStatusCode
shall equal ‘CIC999’.
<confirmationStatusCode>CIC999</confirmationStatusCode>
Data pools use ‘CIC999’ for both Warnings and validation errors.
- [new]
confirmationStatusCodeDescription
shall equal (exactly):
Free Form Text to be populated by the Data Recipient
Validoo Data Pool currently (meaning: prior to GDSN 3.1.27) includes rule ID here:
<confirmationStatusCodeDescription languageCode="sv">730641
</confirmationStatusCodeDescription>
Rule ID will be moved to additionalConfirmationStatusLongDescription
(see next bullet).
- [new]
additionalConfirmationStatusLongDescription
shall contain the Warning error message ID and corresponding error message. It shall follow this format:
<additionalConfirmationStatusLongDescription languageCode="en">[warning_id] WARNING: Datapool’s or data recipient’s description of issue to be communicated to data source.
</additionalConfirmationStatusLongDescription>
- [new]
correctiveAction
class block shall be used.
<correctiveAction>
<correctiveActionCode>WARNING</correctiveActionCode>
</correctiveAction>
The presence of correctiveActionCode = WARNING
is what distinguishes a Warning from a validation rule error.
CIC Error message structure
- [new] In CIC Error(validation error CIC), location of rule ID and affected GTIN will be changed to match CIC Warning. A single structure for CIC Error and CIC Warning will enable unified handling.
Current validation error CIC structure:
<catalogueItemConfirmationStatusDetail>
<confirmationStatusCatalogueItem>
<dataSource>7300010000100</dataSource>
<gtin>07305822201189</gtin>
<targetMarketCountryCode>752</targetMarketCountryCode>
</confirmationStatusCatalogueItem>
<catalogueItemConfirmationStatus>
<confirmationStatusCode>CIC999</confirmationStatusCode>
<confirmationStatusCodeDescription languageCode="sv">730641
</confirmationStatusCodeDescription>
<additionalConfirmationStatusLongDescription languageCode="sv">
[Gtin: 07305822201189]Typ av databärare kod (T4310) saknas för denna artikel.
</additionalConfirmationStatusLongDescription>
</catalogueItemConfirmationStatus>
</catalogueItemConfirmationStatusDetail>
Validation error CIC structure starting GDSN 3.1.27:
<catalogueItemConfirmationStatusDetail>
<confirmationStatusCatalogueItem>
<dataSource>7300010000100</dataSource>
<gtin>07305822201189</gtin>
<targetMarketCountryCode>752</targetMarketCountryCode>
</confirmationStatusCatalogueItem>
<catalogueItemConfirmationStatus>
<confirmationStatusCode>CIC999</confirmationStatusCode>
<confirmationStatusCodeDescription languageCode="en">Free Form Text to be populated by the Data Recipient</confirmationStatusCodeDescription>
<additionalConfirmationStatusLongDescription languageCode="sv"> [730641] Typ av databärare kod (T4310) saknas för denna artikel.
</additionalConfirmationStatusLongDescription>
<correctiveAction>
<correctiveActionCode>ACTION_NEEDED</correctiveActionCode>
</correctiveAction>
</catalogueItemConfirmationStatus>
</catalogueItemConfirmationStatusDetail>
Changes:
- Rule ID moved from
confirmationStatusCodeDescription
to additionalConfirmationStatusLongDescription
. - gtin no longer included in
additionalConfirmationStatusLongDescription
; it is available from its own XPath. - correctiveAction block used with code ACTION_NEEDED.
New validation rule
CIC from data recipient will be subject to new validation rule.
IfcatalogueItemConfirmationStateCode
equals ‘CIC999’ then additionalConfirmationStatusLongDescription
SHALL be used.
Ensures supplier can act on data recipient’s validation/warning by requiring an error message.
Schedule
Date | Event |
---|
<2024-03-05 Tue> | Validoo pre-prod environment for GDSN 3.1.27 (+ Warnings) available |
<2024-05-18 Sat> | GDSN 3.1.27 (+ Warnings) goes live globally |
Testing
Besides GDSN’s own 3.1.27 Warnings, Validoo Data Pool will implement the following test warning in pre-prod environment:
tradeItemMarketingMessage SHALL NOT contain substring ’WARNINGS_TEST’.
To trigger it, send a CIN containing ‘WARNINGS_TEST’ in attribute tradeItemMarketingMessage
(T3746).
Testable in pre-prod by <2024-03-05 Tue>.
Additional documentation
Note: GDSN’s 3.1.27 documentation is subject to change; this document reflects the latest information available as of its publication. See GDSN’s 3.1.27 release page for latest information.
Appendix
Warnings and validations to be introduced in GDSN 3.1.27
- Relevant validations
1854: If confirmationStatusCode equals ‘CIC999’ then additionalConfirmationStatusLongDescription SHALL be used. - Warnings
101867: If targetMarketCountryCode equals ‘250’ (France) and additionalTradeItemIdentifica- tion/@additionalTradeItemIdentificationTypeCode equals ‘SUPPLIER_ASSIGNED’, then additionalTradeItemIdentification SHALL be less than or equal to 35 characters.
737692: If Document Command (T0153) equals ‘ADD’ then company prefix used in Trade item identification, GTIN (T0154) SHALL be valid.
Choreography
Below table summarizes how different actors are intended to use CIC states, where a CIC state is defined by the combination of catalogueItemConfirmationStateCode
and correctiveActionCode
.
CICstateCode | correctiveActionCode | CIC (Source Data pool) |
RECEIVED | WARNING | Validates all GDSN Warnings. |
RECEIVED | | Indicates data received. |
REVIEW | ERROR1 | Validates all GDSN validations. |
REVIEW | WARNING | n/a |
REVIEW | ERROR & WARNING | Validates all GDSN validations and Warnings. |
SYNCHRONIZED | WARNING | n/a; reserved for DR. |
SYNCHRONIZED | | n/a; reserved for DR. |
| | CIC (Recipient Data pool) – DP representing DR |
RECEIVED | WARNING | Validates all local + DR Warnings. |
RECEIVED | | Indicates data received. |
REVIEW | ERROR | Validates local + any DR validations. |
REVIEW | WARNING | n/a |
REVIEW | ERROR & WARNING | Validates local + any DR validations and Warnings. |
SYNCHRONIZED | WARNING | n/a; reserved for DR. |
SYNCHRONIZED | | n/a; reserved for DR. |
| | CIC (Data recipient) |
RECEIVED | WARNING2 | Should not send. |
RECEIVED | | Indicates data received, no business decision. |
REVIEW | ERROR | Validates any DR validations. |
REVIEW | WARNING3 | |
REVIEW | ERROR & WARNING | Validates any DR validations and Warnings. |
SYNCHRONIZED | WARNING | Send once data integrated. |
SYNCHRONIZED | | Send once data integrated. |
1. ERRORs are represented using correctiveActionCode
= ACTION_NEEDED.
2. RECEIVED + WARNING should only be sent by data pool. Indicates data received, no business decision yet.
3. Not recommended for DR. Use SYNCHRONISED + WARNING instead.Support
Please contact us for support.