SmartPlant Materials
Logic of Filtering Specification Items
Version 2011 (7.0.0) June 2010 DMAR1-PE-200012H
Copyright
Copyright © 2002-2010 Intergraph Corporation. All Rights Reserved.
Including software, file formats, and audiovisual displays; may be used pursuant to applicable software license
agreement; contains confidential and proprietary information of Intergraph and/or third parties which is protected by
copyright law, trade secret law, and international treaty, and may not be provided or otherwise made available
without proper authorization.
Restricted Rights Legend
Use, duplication, or disclosure by the government is subject to restrictions as set forth below. For civilian agencies:
This was developed at private expense and is “restricted computer software” submitted with restricted rights in
accordance with subparagraphs (a) through (d) of the Commercial Computer Software - Restricted Rights clause at
52.227-19 of the Federal Acquisition Regulations (“FAR”) and its successors, and is unpublished and all rights are
reserved under the copyright laws of the United States. For units of the Department of Defense (“DoD”): This is
“commercial computer software” as defined at DFARS 252.227-7014 and the rights of the Government are as
specified at DFARS 227.7202-3.
Unpublished – rights reserved under the copyright laws of the United States.
Intergraph Corporation
Huntsville, Alabama 35894-0001
Warranties and Liabilities
All warranties given by Intergraph Corporation about equipment or software are set forth in your purchase contract,
and nothing stated in, or implied by, this document or its contents shall be considered or deemed a modification or
amendment of such warranties. Intergraph believes the information in this publication is accurate as of its
publication date.
The information and the software discussed in this document are subject to change without notice and are subject to
applicable technical product descriptions. Intergraph Corporation is not responsible for any error that may appear in
this document.
The software discussed in this document is furnished under a license and may be used or copied only in accordance
with the terms of this license.
No responsibility is assumed by Intergraph for the use or reliability of software on equipment that is not supplied by
Intergraph or its affiliated companies. THE USER OF THE SOFTWARE IS EXPECTED TO MAKE THE FINAL
EVALUATION AS TO THE USEFULNESS OF THE SOFTWARE IN HIS OWN ENVIRONMENT.
Trademarks
Intergraph, the Intergraph logo, SmartSketch, FrameWorks, SmartPlant, INtools, MARIAN, PDS, and IntelliShip
are registered trademarks of Intergraph Corporation. Microsoft and Windows are registered trademarks of Microsoft
Corporation. Other brands and product names are trademarks of their respective owners.
Table of Contents
Table of Contents
Introduction ........................................................................................................................4
Prerequisites .......................................................................................................................5
Identifying an Object’s Number of Nominal Sizes ......................................................6
Filtering Process .................................................................................................................7
Filtering Restrictions ....................................................................................................8
Checking Size Ranges on Specification Item Levels ...................................................9
Levels of Filtering Ordered by Priority ......................................................................10
Filtering by Geometric on the Specification Item Level ............................................11
Filtering Using the Schedule Table on the Specification Header Level .....................12
Filtering Using a Branch Table...................................................................................15
Considerations about Equal Branches............................................................................... 16
Considerations about Couplings ....................................................................................... 17
Considerations about Olets ............................................................................................... 18
Use of Short Code Groups ................................................................................................ 18
Considerations about Spec Items with nominal size, size range, without schedule ...19
Examples ...........................................................................................................................20
Schedule Filtering (Specification Header)..................................................................20
One Size One Schedule Available Idents ......................................................................... 20
Two Sizes Two Schedules Available Idents ..................................................................... 20
Filtering on Specification Header ...............................................................................21
Case 1 ................................................................................................................................ 21
Case 2 ................................................................................................................................ 21
Filtering on Spec-Item ................................................................................................22
Case 1 ................................................................................................................................ 22
Case 2 ................................................................................................................................ 22
Case 3 ................................................................................................................................ 23
Case 4 ................................................................................................................................ 23
FIND_IDENT Using the Spec Filter ..............................................................................24
General ........................................................................................................................24
Searching Outside the Spec ........................................................................................25
Looking up the Process Line List (PLL)........................................................................... 25
Return Values of FIND_IDENT .................................................................................29
SmartPlant Materials Logic of Filtering Specification Items 3
Introduction
Introduction
In a specification, you collect items from your material library that satisfy certain
criteria. For example, you can have material (idents) with all dimensions that are
mentioned by the ANSI-standard in your material library. However, in a single
specification, you only want to allow access to a limited range of nominal sizes and
schedules. You can use specification filters on your idents to achieve this limited
range. The following screens pertain to specifications:
The S.50.06 Specification Management screen contains:
• the specification header definition with the filter rules on the header
level. This specification header is called geometrics.
• the specification line items and its related data plus a filter rule for
each line item.
• the idents that remain in the specification after the filtering process.
There are three basic filtering mechanisms that can be applied:
• Filtering by nominal sizes
• Filtering by schedule table
• Filtering by branch table
The spec filtering mechanism is the basis of a function in SmartPlant Materials called
FIND_IDENT. This function can be called to find idents with the following
information:
1. Which specification is the material in?
2. Which short code is assigned to the item?
3. Which option is desired?
4. What are the sizes of the item?
FIND_IDENT will look up the spec for the appropriate information and return an
ident according to the spec filtering mechanism. However, in some cases, find_ident
can find idents that are not “directly” in the spec. Refer to the chapter that deals with
FIND_IDENT for more information.
4 SmartPlant Materials Logic of Filtering Specification Items
Prerequisites
Prerequisites
Filtering requires that you know the commodity codes, idents, geometric tables, and
specifications of items.
Note
• It is possible to build idents on S.50.06 (Window 2); however, this
information is not covered in this document.
SmartPlant Materials Logic of Filtering Specification Items 5
Prerequisites
Identifying an Object’s Number of Nominal Sizes
The S.10.05 screen allows you to specify an object’s parameter details. In the Kind of
Detail field, you can indicate the nature of the object’s attribute.
The following parameter details can be defined in the Kind of Detail field for an
object:
• One nominal size - Items can have only one nominal size. In the
preceding example, Object Parameter Detail (OPD) No.1 is Nominal
Size.
• Two nominal sizes - Items can also have two nominal sizes. In the
preceding example, Object Parameter Detail (OPD) No.1 is 1.
Nominal Size and OPD No.2 is 2. Nominal Size.
• One nominal size and one schedule - Items that have the OPD No.1
set to 1. Nominal Size and OPD No. 2 set to 1. Schedule is regarded
as items with one nominal size and one schedule.
• Two nominal sizes and one schedule. Items that have OPD No.1 set
to 1. Nominal Size, OPD No. 2 set to 2. Nominal Size, and OPD No.
3 set to 1. Schedule is regarded as items with two nominal sizes and
one schedule.
The following example shows how to define an object’s detail parameters to be
classified as items with two nominal sizes and two schedules:
• Set OPD No. 1 to 1. Nominal Size.
• Set OPD No. 2 to 2. Nominal Size.
• Set OPD No. 3 to 1. Schedule.
• Set OPD No. 4 to 2. Schedule.
For olets, the project’s detail parameters require a special setting as shown in the
example below:
• Set OPD No. 1 to [Link] Size (DN_branch).
• Set OPD No. 2 to Size Range From (DN_header_from).
• Set OPD No. 3 to Size Range To (DN_header_to).
• Set OPD No. 4 to 1. Schedule (SCH_branch).
• Set OPD No. 5 to 2. Schedule (SCH_header).
6 SmartPlant Materials Logic of Filtering Specification Items
Filtering Process
Filtering Process
Use the filtering process to display information according to the nominal sizes, the
schedule table, and the branch table. Using filters, you can:
• Check the size ranges on the specification item level.
• Order filtering of levels by priority.
• Filter by geometric detail on the specification item level.
• Filter using schedule tables on the specification header level.
• Filter using branch tables.
SmartPlant Materials Logic of Filtering Specification Items 7
Filtering Process
Filtering Restrictions
To conserve time when querying the database, the filter retains part of its data in
memory. This process requires that you resynchronize the data if you change any of
the following information:
• The object parameter details (S.10.05).
• The specification header geometrics (S.50.06).
Under specific circumstances, other SmartPlant Materials sessions are not affected by
these changes. In most cases, changes to the object parameter details or the
specification header geometrics do not occur often.
8 SmartPlant Materials Logic of Filtering Specification Items
Filtering Process
Checking Size Ranges on Specification Item Levels
Range entries on specification item S.50.06 are checked first. The size range From 1
and To 1 is required. If you do not specify values for the range in these fields, all
idents are closed out for this line item. Size ranges 2 through 5 are optional.
The size range check for this sizes is dependent on the setting of the ‘In n Char’
(n=2..5) check boxes in the spec header description tab page. By default, these sizes
(if used) are assumed to be numeric, thus numeric sorting is used to check whether
the input value is in the defined size range. If the ‘In n Char’ check box is set for a
specific size, alphanumeric sorting is used.
This logic is the same for size ranges 3 through 5.
SmartPlant Materials Logic of Filtering Specification Items 9
Filtering Process
Levels of Filtering Ordered by Priority
After the ident passes the size ranges check on the specification item level, the
following values are checked for each specification item:
• Geometric1 on the specification item level
• Geometric on the specification header level
If you have a geometric on the specification item level, only filters of type ‘Nominal
Size’ and ‘Nominal Reducer’ on the specification header geometrics have an effect on
the actual specification item. These filters are only effective you set the Size Filter
check box for a spec item.
Restrictions:
• The nominal size filter table only works for spec items with one
nominal size.
• The nominal reducer filter table only works for spec items with two
nominal sizes.
10 SmartPlant Materials Logic of Filtering Specification Items
Filtering Process
Filtering by Geometric on the Specification Item
Level
If you enter a geometric value on the specification item level, the value is used as a
filter in the following way:
Input 1 of the incoming ident is compared to input1 of the filter table. The same
process is repeated for all other input fields.
If one of the compared fields is empty or zero, the comparison results in a match. For
example, if you have an ident with nominal size of .5 on input1, a schedule S80 on
input2, and all other inputs are zero, the ident is considered a match if one of the
following rows exists in the filter geometric:
Input1 Input2 Input3
.5 S80 X
.5 0 X
Notes
• An X value means that the input value does not affect the filtering.
• The value of zero is used as a wildcard in the preceding example, but
as a rule, discrete values are used.
• If you enter a geometric on the specification item level, the
information presented in this section will not apply to this specification
item.
The unit system of each row of the filter geometric is compared to the unit system of
the ident. The ident is treated as a match if the geometric filter and the ident of each
row are equal.
SmartPlant Materials Logic of Filtering Specification Items 11
Filtering Process
Filtering Using the Schedule Table on the
Specification Header Level
The Schedule Filter table should always have the following inputs specified as
follows:
• INPUT_1 = NOMINAL SIZE
• INPUT_2 = Schedule or Wall thickness
Because the Schedule Filter table only has the values Nominal Size and Schedule,
Schedule will always be the same for the same nominal size, unless you use different
Schedule Filter Tables for different short codes.
To specify a different Schedule Filter table for a specification item on S.50.06, place
this Filter Geometric on S.50.06 in the Geom1 field.
To use the Common Filter Geometric defined on S.50.06. Spec Header Geometric
screen, leave the Geom1 field empty. This allows only the idents of the specification
with the correct schedule for the corresponding nominal size to display.
The project default ZS_SP_HWOS determines the filter behavior for idents without
schedule. It can be set to the following values:
• N (default): If an ident does not have a schedule and no filter is
defined on Spec Items (size range and/or geometric), the ident will be
in the specification.
• Y: The nominal size of the ident will be checked against the nominal
size of the filter table.
Filtering in the Spec Header Geometric section is also possible for idents that have
two INPUT fields set, for example, bolts that have INPUT_1 set to Bolt Diameter
and INPUT_2 set to Bolt Length. In such a case, the Filter Geometric for Bolts must
also have a Bolt-Diameter and Bolt Length. Bolt Length will be handled in the same
way as Schedule so that filtering works correctly. Define Kind of Detail as
“[Link] Size” for the first attribute in object parameter and “[Link]” for the
second attribute.
12 SmartPlant Materials Logic of Filtering Specification Items
Filtering Process
In the Spec Header Geometric section, also filtering by ‘Nominal Size’ or ‘Nominal
Reducer’ tables is possible. Using a nominal size table will only affect spec items
with one nominal size, while a nominal reducer table will only affect spec items with
two nominal sizes.
On the Specification Item Level, filtering by Schedule and Nominal Sizes is possible.
Define common schedule filters on the S.50.06 screen under the Spec Header
Geometric section. This procedure is valid for all short codes defined in the Short
Code field. Use the percent sign (%) if the schedule filter should be valid for all short
codes.
If the Spec Header Geometrics section contains an entry with a short code matching
the current specification item, the wildcard entry will not additionally be applied for
this specification item. Do not enter schedules in the From2 and To2 fields. The
second size range is only checked if the ident has more than one nominal size.
In SmartPlant Materials, the filter geometric compares the value in the Unit System
field of each row to the unit system value of the ident. Only if both are equal is the
ident treated as a match. On the S.50.06 screen, the value in the Unit System field in
the Spec Header Geometrics section is disregarded.
The following combinations are common on S.10.05 when using the schedule filter:
One Size One Schedule:
No. Kind of Detail Comment
1. 1. Nominal Size
2. 1. Schedule
… …
Two Sizes One Schedule:
No. Kind of Detail Comment
1. 1. Nominal Size
2. 2. Nominal Size
3. 1. Schedule This schedule is related to the 1.
nominal size.
… …
SmartPlant Materials Logic of Filtering Specification Items 13
Filtering Process
Two Sizes One Schedule:
No. Kind of Detail Comment
1. 1. Nominal Size
2. 2. Nominal Size
3. 2. Schedule This schedule is related to the
2. nominal size. This setting will not
work if you look up the PLL and
enter CALC on the BOM to find the
schedule. The latter will always look
up the schedule for the 1. nominal
size.
… …
Two Sizes Two Schedules:
No. Kind of Detail Comment
1. 1. Nominal Size
2. 2. Nominal Size
3. 1. Schedule This schedule is related to the 1.
nominal size.
4. 2. Schedule This schedule is related to the 2.
nominal size.
… …
14 SmartPlant Materials Logic of Filtering Specification Items
Filtering Process
Filtering Using a Branch Table
If the ident is filtered on the specification item level or specification header level,
filtering using a branch table occurs independently. However, the branch table filter is
examined only if the ident passed the previous filters successfully.
All branch material that is placed in a specification should have the same short code
value, such as BRM.
On S.40.05 Branches, you can define several branch tables that can be used in the
specification. To define a branch table, perform the following actions:
1. In the branch table, define two nominal sizes, the commodity group, and the
commodity part that will be used for this nominal size combination.
2. Optionally, enter information in the Short Desc and Break Type fields for the
specification filter.
3. Type the value 1 in the Pref field.
4. After defining the branch table, assign the branch table in the S.50.06 Spec
Header screen in the Block Spec Header Geometric section.
5. Choose your short code for branches (such as BRM), the correct Unit System
value, Table Type Branches, the correct Table Name, and the Nominal Size
ranges.
6. Click the Filter check box.
If a specification item with a Short Code field value of BRM appears in the
specification, the only idents passed to the filter are those idents belonging to the
specified part from branch table and the same nominal size combination defined in
the branch table on INPUT_1 and INPUT_2.
If the ident has one nominal size and is a branch, INPUT_1 of ident will only be
checked against the Dn Branch field of the branch table.
You can apply multiple branch tables to one short code. If the ident is contained in at
least one of the branch tables for the actual short code, the ident is considered to
belong to the specification item.
Entering size ranges of 1 or 2 for branches in the Spec Header Geometrics section has
no effect on the result of the branch table filter.
SmartPlant Materials Logic of Filtering Specification Items 15
Filtering Process
The unit system of the ident is compared to the unit system entered in the S.50.06
screen under the Spec Header Geometric section. Only if both values are equal is the
ident treated as a match.
Considerations about Equal Branches
Equal branches are branch items with the header size equal to the branch size. An
example is a straight tee.
There are two ways to standardize idents for equal branches:
1. Define the ident with two sizes:
1. size header
2. size branch
(3. schedule)
You will filter the ident matching the header size and the branch size of the
branch table.
2. Define the ident with one size:
1. size branch
(2. schedule)
There is a setting on S.10.08 in the Find Ident Parms field called “Equal branch,
ident 1 size, matches both”. This setting tells the software to match the header size
and branch size of the respective branch table against the size1 of the branch ident.
The default behavior for single sized equal branches is that only the branch size of the
branch table must match up with the size1 of the branch ident. This default behavior
may cause problems if your branch size is not unique in the associated branch table
and you do not want to duplicate the size1 of your equal branch idents.
The unit system of the ident and the unit system of the filter geometric rows must
match as described in other sections, as well as the unit system selected for the branch
table in S.50.06. If you use the find ident parm as mentioned above, you can also
enter your tee with two equal sizes in the BOM, and the ‘find_ident’ job will find the
correct ident, if you enter only the first size.
16 SmartPlant Materials Logic of Filtering Specification Items
Filtering Process
Considerations about Couplings
Couplings are branch items that are standardized with branch size. The header size is
not contained in the ident.
There are three ways to standardize idents for couplings:
1. Define the item as a detail of an assembly where the assembly master reflects the
header size:
1. size header
2. size branch
You will filter the coupling ident matching the header size and the branch size of
the branch table with the assembly header size and the branch size.
2. Define the item with the header size and branch size as a default branch.
3. Define the coupling part explicitly as such by setting the value of “Kind of Part”
in S.10.03 to the value “Coupling”. Assign a branch table to your spec that
contains the coupling with its branch size. Also, define a “User defined” coupling
filter table on the spec header geometrics block in S.50.06. This is required and
can be used to filter the coupling idents.
Note
• A geometric on the spec item level is not regarded as a filter in this
special case, while the size range 1 on spec item level will work as
usual. If size2 of the coupling ident is used (<> ‘0’), it is filtered
against input2 of the coupling filter table. If size3 of the coupling ident
is used (<> ‘0’), it is compared (with a ‘like’ operator) to the short
desc of the coupling branch table.
The unit system of the ident and the unit system of the filter geometric rows must
match as described in other sections, as well as the unit system selected for the branch
table in S.50.06.
You can use the ZS_SOCIS project default to suppress original coupling-ident sizes
in S.50.06. If a part is of type COUPLING, the idents can be displayed expanded with
the header size from geometric table AND with the branch size because the ident is
standardized. Use this project default to suppress the original ident sizes if you do not
want to see them through mv_spec_item_idents.
SmartPlant Materials Logic of Filtering Specification Items 17
Filtering Process
Considerations about Olets
Olets are branch items that are standardized with a branch size and a header size
range.
There are three ways to standardize idents for olets:
1. Define the item as detail of an assembly similar to couplings (see chapter above).
2. Define the item with header size and branch size as a default branch.
3. Define the item as follows (schedules are optional; the required kind of detail in
S.10.05 is denoted in brackets afterwards):
1. size branch (1. Nominal Size)
2. size range header from (Size Range From)
3. size range header to (Size Range To)
4. schedule branch ([Link])
5. schedule header (2. Schedule)
Filter the ident with an olet filter table on the spec items block in S.50.06. This
geometric is required and contains the allowed branch sizes on size1 and the schedule
(if used in ident) on size2.
Note
• A geometric on the spec header level is not regarded as a filter in this
special case, while the size range 1 on the spec item level will work as
usual. You do not need a branch table for the olets if you standardize
them in the described manner. The unit system of the ident and the unit
system of the filter geometric rows must match as described in other
sections.
Use of Short Code Groups
You can assign multiple short codes to a specific short code (the “master” short code)
on S.10.08 Window 5. This functionality extends the branch table filtering so that
you have to define only one branch table entry with the “master” short code, but can
use all short codes belonging to it for the branch spec items.
18 SmartPlant Materials Logic of Filtering Specification Items
Filtering Process
Considerations about Spec Items with nominal size,
size range, without schedule
To use this extended functionality, the following settings have to be made:
• Define the filter type of the short code in S.10.08 as ‘Without
schedule’.
• Enter a standard in the spec header definition.
• Ensure that a default nominal size table for this standard exists in
S.40.01.
SmartPlant Materials Logic of Filtering Specification Items 19
Examples
Examples
Schedule Filtering (Specification Header)
Filter Table on Spec Header is:
.5 80
1 80
2 XS
One Size One Schedule Available Idents
.5 80
.5 XS
1 80
1 XS
2 80
3 XS
Result in S.50.06 is:
.5 80
1 80
Two Sizes Two Schedules Available Idents
.5 .5 80 80
.5 1 80 80
.5 1 80 XS
.5 1 XS XS
.5 1 XS 80
Result in S.50.06 is:
.5 .5 80 80
.5 1 80 80
20 SmartPlant Materials Logic of Filtering Specification Items
Examples
Filtering on Specification Header
The follow examples show filtering based on the Specification Header.
(ZS_SP_HWOS=N)
Case 1
Filter Table is only Nominal Size:
INPUT-1 INPUT-2 INPUT-3 INPUT-4 INPUT-5
0.5
Decision Table for Idents
INPUT-1 INPUT-2 INPUT-3 INPUT-4 In Spec
0.5 YES, no effect
0.5 STD NO
0.5 0.5 YES, no effect
0.5 0.5 STD NO
0.5 0.5 STD STD NO
Case 2
Filter Table is Nominal Size and Schedule:
INPUT-1 INPUT-2 INPUT-3 INPUT-4 INPUT-5
0.5 STD
Decision Table for Idents
INPUT-1 INPUT-2 INPUT-3 INPUT-4 In Spec
0.5 YES, no effect
0.5 STD YES
0.5 0.5 YES, no effect
0.5 0.5 STD YES
0.5 0.5 STD STD YES
SmartPlant Materials Logic of Filtering Specification Items 21
Examples
Filtering on Spec-Item
The following examples show filtering based on the Specification Item.
Case 1
Filter Table is only Nominal Size:
INPUT-1 INPUT-2 INPUT-3 INPUT-4 INPUT-5
0.5
Decision Table for Idents
INPUT-1 INPUT-2 INPUT-3 INPUT-4 In Spec
0.5 YES
0.5 STD YES
0.5 0.5 YES
0.5 0.5 STD YES
0.5 0.5 STD STD YES
Note
• Only INPUT-1 is filtered.
Case 2
Filter Table is two Nominal Sizes:
INPUT-1 INPUT-2 INPUT-3 INPUT-4 INPUT-5
0.5 0.5
Decision Table for Idents
INPUT-1 INPUT-2 INPUT-3 INPUT-4 In Spec
0.5 YES
0.5 STD NO
0.5 0.5 YES
0.5 0.5 STD YES
0.5 0.5 STD STD YES
Note
• INPUT-1 and INPUT-2 are filtered.
22 SmartPlant Materials Logic of Filtering Specification Items
Examples
Case 3
Filter Table is One Nominal Size and One Schedule:
INPUT-1 INPUT-2 INPUT-3 INPUT-4 INPUT-5
0.5 STD
Decision Table for Idents
INPUT-1 INPUT-2 INPUT-3 INPUT-4 In Spec
0.5 YES
0.5 STD YES
0.5 0.5 NO
0.5 0.5 STD NO
0.5 0.5 STD STD NO
Note
• INPUT-1 and INPUT-2 are filtered.
Case 4
Filter Table is Two Nominal Sizes and One Schedule:
INPUT-1 INPUT-2 INPUT-3 INPUT-4 INPUT-5
0.5 0.5 STD
Decision Table for Idents
INPUT-1 INPUT-2 INPUT-3 INPUT-4 In Spec
0.5 YES, no effect
0.5 STD NO
0.5 0.5 YES, no effect
0.5 0.5 STD YES
0.5 0.5 STD STD Wrong result
SmartPlant Materials Logic of Filtering Specification Items 23
FIND_IDENT Using the Spec Filter
FIND_IDENT Using the Spec Filter
General
The spec filtering mechanism is the basis of a function in SmartPlant Materials called
FIND_IDENT. This function is used mainly in the BOM module:
• On the B.20.01 screen, after entering the required information
manually
• In a verification job that finds idents for multiple positions, previously
inserted in the BOM nodes
• During the import of BOM positions via OMI (screen B.40.01)
The FIND_IDENT tries to find idents with the following information:
1. Which specification is the material in?
2. Which short code is assigned to the item?
3. Which option is desired?
4. What are the sizes of the item?
FIND_IDENT will look up the spec for the appropriate information and return an
ident according to the spec filtering mechanism. However, in some cases, find_ident
can even find idents that are not “directly” in the spec. Refer to the “Searching
outside the spec” section for more information.
24 SmartPlant Materials Logic of Filtering Specification Items
FIND_IDENT Using the Spec Filter
Searching Outside the Spec
Having the data in the spec is a design paradigm, but there are always exceptions
from the rule.
In some cases, it is not known during creation of the spec which item will be used in a
special case of branch, or the exact wall thickness of an item is unavailable. These
problems can be solved by reading the missing information from the SmartPlant
Materials Process Line List (PLL).
Looking up the Process Line List (PLL)
The following is needed to use information in the PLL for FIND_IDENT:
Creating a reference from BOM to PLL
First, a PLL reference is needed for the node in the BOM. To create such a reference,
the BOM node must be of the node type that is given in the ZB_LS_LINE project
default. The parent node must be of the node type given in the ZB_LS_UNIT project
default. Additionally, the name of the BOM node must match the name of the line in
the PLL, and the name of the parent node in the BOM must match the name of the
unit in the PLL.
Consider the following example:
Project defaults:
ZB_LS_UNIT = UNIT
ZB_LS_LINE = LINE
BOM Hierarchy:
+- Some_Node (list type: IRRELEVANT)
+- Unit_Node (list type:UNIT)
+- Line Node (list type:LINE)
PLL Hierarchy:
Unit:”Unit_Node”
Line in this Unit: “Line Node”
SmartPlant Materials Logic of Filtering Specification Items 25
FIND_IDENT Using the Spec Filter
This configuration enables PLL lookup for material in the “Line Node”. Note that
the “Unit Node” in the BOM does not have to be a root node, but can be somewhere
in the tree. Also, note that it is possible to apply the same reference for sub-nodes in
the BOM. Searching idents for the “Here is my material” BOM node is valid and
would refer to the same PLL node as in the above example:
BOM Hierarchy:
+- Some_Node (list type: IRRELEVANT)
+- Unit_Node (list type:UNIT)
+- Some other Node (list type: CHOOSEFREELY)
…
+- Line Node (list type:LINE)
…
+- Here is my material (list type:SOMETHING)
Note that the unit/line reference nodes in the BOM can be in a direct parent/child
relation but it is not necessary, The node containing the material can also be
somewhere higher in the tree.
26 SmartPlant Materials Logic of Filtering Specification Items
FIND_IDENT Using the Spec Filter
Calculating the Branch Item
In the case that the item for a distinct header/branch size combination is not yet
known, the branch filter table of the spec should contain a part that is in a commodity
group with the name “CALC”. This indicates that the information about which item
to take should be derived from the PLL. FIND_IDENT will first find the referenced
PLL node. Then it compares the nominal size of the FIND_IDENT call with the
“Nominal Diameters” that are available in this PLL node. If a matching size is found,
FIND_IDENT searches the “Branch” that matches with the second size in the
parameter of FIND_IDENT. (You maintain all this information on L 20.01.)
If a match is found, FIND_IDENT takes the “Branch Type” for this branch and tries
to find a “Short Code” (L 10.06). This short code will be the new short code to
continue the search for an ident. For that, the short code has to be in the specification.
Calculating schedules
There are two ways to let the schedule be looked up from the PLL:
1. Defining the schedules as ‘CALC’ in the BOM. This will force FIND_IDENT to
refer to the PLL for schedule information.
2. Defining ‘CALC’ in the filter tables instead of schedule or wall thickness. This
will cause a lookup to the PLL for schedule information.
SmartPlant Materials Logic of Filtering Specification Items 27
FIND_IDENT Using the Spec Filter
If the branch item was calculated (See the “Calculating the branch item” section),
the wall thickness of the header and/or branch will be taken from the branch
record on L.20.01 that also contained the information about the branch type.
Otherwise, the wall thickness is taken from the “Nominal Diameters” defined on
L.20.01.
28 SmartPlant Materials Logic of Filtering Specification Items
FIND_IDENT Using the Spec Filter
Return Values of FIND_IDENT
Find Ident returns a record that contains the following information:
1. The ident or a negative number indicating the reason why no ident was found.
Here are the numbers:
0 No Item found in Spec Items that fits the Nominal Size
or Short Code not available or Commodity Code in Specification is null
-21 No line for actual BOM node in the linelist found.
Item was searched, but not found in the spec.
Item (1 Size 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-22 Size 1 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (1 Size 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-23 Size 1 has no wallthickness for size 2 in line list.
Item was searched, but not found in the spec.
Item (1 Size 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-31 No line for actual BOM node in the linelist found.
Item was searched, but not found in the spec.
Item (2 Sizes 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-32 Size 2 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (2 Sizes 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-33 Size 2 has no wallthickness for size 3 in line list.
Item was searched, but not found in the spec.
Item (2 Size 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-34 Size 1 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (2 Sizes 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-35 Size 1 has no wallthickness for size 3 in line list.
Item was searched, but not found in the spec.
Item (2 Size 1 Schedule) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-41 No line for actual BOM node in the linelist found.
Item was searched, but not found in the spec.
SmartPlant Materials Logic of Filtering Specification Items 29
FIND_IDENT Using the Spec Filter
Item (2 Sizes 2 Schedules) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-42 Size 1 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (2 Sizes 2 Schedules) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-43 Size 1 has no wallthickness for size 3 in line list.
Item was searched, but not found in the spec.
Item (2 Size 2 Schedules) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-44 No line for actual BOM node in the linelist found.
Item was searched, but not found in the spec.
Item (2 Sizes 2 Schedules) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-45 Size 2 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (2 Sizes 2 Schedules) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-46 Size 2 has no wallthickness for size 4 in line list.
Item was searched, but not found in the spec.
Item (2 Size 2 Schedules) was looked up by filter on spec header.
'CALC' was found in filter, not in parameter.
-51 No line in PLL found for given lp_id. Branch table indicates that
branch item should be calculated.
-52 No branch record found for given size 1, size 2. Branch table indicates that
branch item should be calculated.
-53 No short code found for the detected branch type. Branch table indicates that
branch item should be calculated.
-54 No line for actual BOM node in the linelist found. Find Ident was called
with a schedule='CALC'
for one of size2, size3 and/or size4.
-61 Size 1 is no nominal size for this line in line list.
Find Ident was called with a schedule ='CALC'
as parameter for size2.
-62 Size 1 has no wallthickness for size 2 in line list.
Find Ident was called with a schedule ='CALC'
as parameter for size2.
-63 Size 1 is no nominal size for this line in line list.
Find Ident was called with a schedule ='CALC'
as parameter for size3.
-64 Size 1 has no wallthickness for size 3 in line list.
Find Ident was called with a schedule ='CALC'
as parameter for size3.
30 SmartPlant Materials Logic of Filtering Specification Items
FIND_IDENT Using the Spec Filter
-65 Size 2 is no nominal size for this line in line list.
Find Ident was called with a schedule ='CALC'
as parameter for size3.
-66 Size 2 has no wallthickness for size 4 in line list.
Find Ident was called with a schedule ='CALC'
as parameter for size4.
-81 No line for actual BOM node in the linelist found.
Item was searched, but not found in the spec.
Item was looked up by filter on spec item.
'CALC' was found in filter for size1, size2 and/or size3, not in parameter.
-82 Size 1 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (1 Size 1 Schedule) was looked up by filter on spec item
'CALC' was found in filter, not in parameter.
-83 Size 1 has no wallthickness for size 2 in line list.
Item was searched, but not found in the spec.
Item (1 Size 1 Schedule) was looked up by filter on spec item.
'CALC' was found in filter, not in parameter.
-84 Size 1 or 2 is no nominal size for this line in line list.
1 or 2 depends on Kind of Detail= 1./2. Schedule for size 3
in object parameter.
Item was searched, but not found in the spec.
Item (2 Sizes 1 Schedule) was looked up by filter on spec item
'CALC' was found in filter, not in parameter.
-85 Size 1 or 2 has no wallthickness for size 3 in line list.
Item was searched, but not found in the spec.
1 or 2 depends on Kind of Detail= 1./2. Schedule for size 3
in object parameter.
Item (2 Sizes 1 Schedule) was looked up by filter on spec item.
'CALC' was found in filter, not in parameter.
-86 Size 1 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (2 Sizes 2 Schedules) was looked up by filter on spec item
'CALC' was found in filter, not in parameter.
-87 Size 1 has no wallthickness for size 3 in line list.
Item was searched, but not found in the spec.
Item (2 Sizes 2 Schedules) was looked up by filter on spec item.
'CALC' was found in filter, not in parameter.
-88 Size 2 is no nominal size for this line in line list.
Item was searched, but not found in the spec.
Item (2 Sizes 2 Schedules) was looked up by filter on spec item
'CALC' was found in filter, not in parameter.
-89 Size 2 has no wallthickness for size 4 in line list.
SmartPlant Materials Logic of Filtering Specification Items 31
FIND_IDENT Using the Spec Filter
Item was searched, but not found in the spec.
Item (2 Sizes 2 Schedules) was looked up by filter on spec item.
'CALC' was found in filter, not in parameter.
-90 Oracle Error in find_ident. Details in the result record.
-99 Object parameter marks input_2 as required but no value is given for the
ident.
-101 ident not found in spec. searched out of spec with filter on spec item but no
ident found. calculated schedule is in the result record.
-102 ident not found in spec. searched out of spec with filter on spec header but
no
ident found. calculated schedule is in the result record.
2. Input_2, 3, and 4: These will be NULL if the ident was found in the spec without
calculation. As soon as a calculation (for example, a lookup from PLL) takes
place, the information is given here.
3. Short_code: This will be NULL, if the branch item was not calculated. Only if the
branch item was calculated will the new short code be given here.
4. A result string: This will be null if the ident was found in the spec. If the item was
found outside according to the calculated schedules, the result will be
“OUT_OF_SPEC”.
32 SmartPlant Materials Logic of Filtering Specification Items
FIND_IDENT Using the Spec Filter
SmartPlant Materials Logic of Filtering Specification Items 33