GDSN Warnings

Implementation details for system owners

Change log

DateChangeAuthor
2024-02-06Initial publicationN. Stonewall
2024-03-21Correct 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 typeSent byResult when triggeredData forwarded to DR?DS must act?
Validation ruleDP, DRBlock + info to DSNoYes
WarningDP, DRInfo to DSYesNo
DP = Data Pool (Validoo), DS = Data Source (supplier), DR = Data Recipient

Definitions

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

  1. 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
  2. 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

  1. 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.
  2. 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.

AttributesXPathMandatory
messageCreatorGlncatalogItemConfirmation/
catalogueItemConfirmationState/messageCreatorGln
Yes
messageCreatorNamecatalogItemConfirmation/
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:
    1. catalogueItemConfirmationStateCode = SYNCHRONISED
    2. 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 inadditionalConfirmationStatusLongDescription; 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

DateEvent
<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

GDSN’s documentation for 3.1.27 release

Swedish Example CIC Warning file at gs1.se

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.

CICstateCodecorrectiveActionCodeCIC (Source Data pool)
RECEIVEDWARNINGValidates all GDSN Warnings.
RECEIVEDIndicates data received.
REVIEWERROR1Validates all GDSN validations.
REVIEWWARNINGn/a
REVIEWERROR & WARNINGValidates all GDSN validations and Warnings.
SYNCHRONIZEDWARNINGn/a; reserved for DR.
SYNCHRONIZED n/a; reserved for DR.
  CIC (Recipient Data pool) – DP representing DR
RECEIVEDWARNINGValidates all local + DR Warnings.
RECEIVED Indicates data received.
REVIEWERRORValidates local + any DR validations.
REVIEWWARNINGn/a
REVIEWERROR & WARNINGValidates local + any DR validations and Warnings.
SYNCHRONIZEDWARNINGn/a; reserved for DR.
SYNCHRONIZED n/a; reserved for DR.
  CIC (Data recipient)
RECEIVEDWARNING2Should not send.
RECEIVED Indicates data received, no business decision.
REVIEWERRORValidates any DR validations.
REVIEWWARNING3 
REVIEWERROR & WARNINGValidates any DR validations and Warnings.
SYNCHRONIZEDWARNINGSend 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.

Tillbaka till toppen