http://www.flatironssolutions.fr/ header_visibility: footer_visibility:
lang: en

How IPD DM Make Up an Illustrated Parts Catalog in S1000D

Calendar January 7, 2016 | User Falk Aupers | Tag , , , , , ,

Many S1000D projects that I came across my professional life show poor quality of data with respect to the Illustrated Parts Catalog (IPC). Although coding this information in the Illustrated Parts Data (IPD) structure the right way serves you with many benefits like speeding up the maintenance process or optimizing your spare parts ordering process.

Talking to the responsible persons in the projects often reveals the IPD coding structure not to be known well enough. Looking it up in the S1000D specification also shows there being no good examples explaining the basic approach in using the IPD structure. The intention of this blog is to illustrate this approach based on a practical example.

Figure 1 illustrates how the single IPD data modules (DM) make up an IPC. For the sake of simplicity only snippets are shown in the examples given.

An IPD DM is a list of parts that the top most item in the list consists of. In the illustration below the first list is the one showing the vehicle. It consists of the chassis, the engine and the steering. To show these items being part of the vehicle they are indented by using a bullet in front. Their quantity per next higher assembly, the vehicle, is ‘1’ each. There is no known quantity per next higher assembly (QNA) for the item at the top of the list, which is why it always says ‘REF’.

The second list being shown is the one for the engine. In this list the engine is the item at the top. Its QNA again states ‘REF’. It is visible from the vehicle list though how many engines are contained. In order to build that link into the data the so called catalogue sequence number (CSN) reference is coded as part of the Engine item in the vehicle list, which points to the engine list. The lower items in the engine list are Motor Block and Cylinder Head Unit, which are indented by one level and their quantity per next higher assembly is ‘1’ and ‘8’ respectively. In this example there is a CSN reference from the Cylinder Head Unit item in the Engine list to the Cylinder Head Unit list.

In the Cylinder Head Unit list there are three items one level down, which means indented by one bullet. These are the next lower assemblies of the Cylinder Head Unit: Cylinder Head, Inlet Valve and Outlet Valve. The last item in the list, the Sealing Ring, belongs to the Outlet Valve which is why it is indented by one more level. It shows two bullets in front. Its QNA is ‘1’, which means one per Outlet Valve. Since there are two Outlet Valves per Cylinder Head Unit it makes two Sealing Rings per Cylinder Head Unit. With eight Cylinder Head Units per Engine this is 16 Sealing Rings per Engine.

The corresponding XML fragments for the lists shown in Figure 1 follow directly after the illustration. For a given item number the items in the list are represented by the element catalogSeqNumber. This element bears the item number through the attribute item and the indentation information through the attribute indenture. The first item always has the item number ‘000’ and indenture being ‘1’. The actual item is coded in the element itemSeqNumber. The element quantityPerNextHigherAssy contains the QNA.

Looking at the XML fragments shows the items to be a ‘flat’ list. All the catalogSeqNumber are at the same level, they are siblings to each other. That the Sealing Ring in the Cylinder Head Unit list belongs to the Outlet Valve can only be inferred from the Outlet Valve being the next previous sibling with the indentation being one level less. There is nothing in the XML schema checking the indenture settings being correct.

For understanding how the CSN works, you need to build the DMC of the IPD DM that the catalogSeqNumberRef is pointing to. This is done by using its attribute values, whereas figureNumber and figureNumberVariant are mapped to disassembly code and disassembly code variant, respectively. The item attribute value then points to the specific item in the target DM.

4063-fig1

Figure 1 Snippets from an illustrated parts catalogue

Vehicle list, DMC VEHICLE-AAAA-A1-00-00-01A-941A-D:

<illustratedPartsCatalog>

<catalogSeqNumber figureNumber=“01” item=“000” indenture=“1”>

<itemSeqNumber itemSeqNumberValue=“00A”>

<quantityPerNextHigherAssy>REF</quantityPerNextHigherAssy>

<partRef partNumberValue=“S0000” manufacturerCodeValue=“C1008”/>

<partSegment>

<itemIdentData>

<descrForPart>Vehicle</descrForPart>

</itemIdentData>

</partSegment>

</itemSeqNumber>

</catalogSeqNumber>

<catalogSeqNumber figureNumber=“01” item=“001” indenture=“2”>

<itemSeqNumber itemSeqNumberValue=“00A”>

<quantityPerNextHigherAssy>1</quantityPerNextHigherAssy>

<partRef partNumberValue=“S9875” manufacturerCodeValue=“C1008”/>

<partSegment>

<itemIdentData>

<descrForPart>Chassis</descrForPart>

</itemIdentData>

</partSegment>

</itemSeqNumber>

</catalogSeqNumber>

<catalogSeqNumber figureNumber=“01” item=“002” indenture=“2”>

<referTo>

<catalogSeqNumberRef modelIdentCode=“VEHILCE” systemDiffCode=“AAAA”

systemCode=“A1” subSystemCode=“5” subSubSystemCode=“1”

assyCode=“00” figureNumber=“01” figureNumberVariant=“A”

itemLocationCode=“D” item=“000”/>

</referTo>

<itemSeqNumber itemSeqNumberValue=“00A”>

<quantityPerNextHigherAssy>1</quantityPerNextHigherAssy>

<partRef partNumberValue=“S1235” manufacturerCodeValue=“C1008”/>

<partSegment>

<itemIdentData>

<descrForPart>Engine</descrForPart>

</itemIdentData>

</partSegment>

</itemSeqNumber>

</catalogSeqNumber>

<catalogSeqNumber figureNumber=“01” item=“003” indenture=“2”>

<itemSeqNumber itemSeqNumberValue=“00A”>

<quantityPerNextHigherAssy>1</quantityPerNextHigherAssy>

<partRef partNumberValue=“S5439” manufacturerCodeValue=“C1008”/>

<partSegment>

<itemIdentData>

<descrForPart>Steering</descrForPart>

</itemIdentData>

</partSegment>

</itemSeqNumber>

</catalogSeqNumber>

</illustratedPartsCatalog>

Cylinder Head Unit list, DMC VEHICLE-AAAA-A1-51-00-01A-941A-D:

<illustratedPartsCatalog>

       …

       <catalogSeqNumber figureNumber=“01” item=“000” indenture=“1”>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>REF</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S1235” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Engine</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       <catalogSeqNumber figureNumber=“01” item=“001” indenture=“2”>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>1</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S9877” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Motor Block</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       <catalogSeqNumber figureNumber=“01” item=“002” indenture=“2”>

              <referTo>

                     <catalogSeqNumberRef modelIdentCode=“VEHILCE” systemDiffCode=“AAAA”

                                 systemCode=“A1” subSystemCode=“5” subSubSystemCode=“1”

                                 assyCode=“02” figureNumber=“01” figureNumberVariant=“A”

                                 itemLocationCode=“D” item=“000”/>

              </referTo>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>8</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S1234” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Cylinder Head Unit</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       …

</illustratedPartsCatalog>

 

Cylinder Head list, DMC VEHICLE-AAAA-A1-51-02-01A-941A-D:

<illustratedPartsCatalog>

       …

       <catalogSeqNumber figureNumber=“01” item=“000” indenture=“1”>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>REF</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S1234” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Cylinder Head Unit</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       <catalogSeqNumber figureNumber=“01” item=“001” indenture=“2”>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>1</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S9876” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Cylinder Head</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       <catalogSeqNumber figureNumber=“01” item=“002” indenture=“2”>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>1</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S5678” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Inlet Valve</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       <catalogSeqNumber figureNumber=“01” item=“003” indenture=“2”>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>2</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S5432” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Outlet Valve</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       <catalogSeqNumber figureNumber=“01” item=“004” indenture=“3”>

              <itemSeqNumber itemSeqNumberValue=“00A”>

                     <quantityPerNextHigherAssy>1</quantityPerNextHigherAssy>

                     <partRef partNumberValue=“S7890” manufacturerCodeValue=“C1008”/>

                     <partSegment>

                            <itemIdentData>

                                   <descrForPart>Sealing Ring</descrForPart>

                            </itemIdentData>

                     </partSegment>

              </itemSeqNumber>

       </catalogSeqNumber>

       …

</illustratedPartsCatalog>

©2019 Flatirons Solutions, Inc.|All Rights Reserved|Privacy Policy
Follow Flatirons Solutions