How to Generate Reports based on Size with Sequential Numbering System


Applies To 
Product(s):OpenPlant Isometrics Manager
Version(s):08.11.09.XXX (SS5) | 08.11.11.XXX (SS6)
Environment: Windows 7/8.1/10 (64 bit)
Area: Settings/Attributes
Subarea: Configuring the BOM and Reports
Original Author:Kestutis Mitkus, Bentley Product Advantage Group

Background

In Report Definition a various report combinations, based on various type of attributes can be configured easily, but each of these reports won't have sequential Components numbering system in BOM.

In this Wiki article you will find possible suggestions How to Generate Reports based on Size with Sequential Numbering system.

Case #1

When Isometrics is generated each component is assigned with its unique PARTID number. PARTID property is a common components grouping and sorting property, which is used in Bill Of Material and PARTID assignment order can be configured in rep_sortgroups.txt file.

Steps to Accomplish

  1. Open rep_sortgroup.txt file and in the beginning of this file, add additional SORTGROUPs, in order to sort components by setting RULEs based on size. In this example I have added a OWNER Group with rules to sort 8 and above 8 inches Size components and the CONTRACTOR group in order to sort the rest.
    SORTGROUP = OWNER
      HEADER = @                               ------------------------------------------
      HEADER = @                                             OWNER Group
      HEADER = @                               ------------------------------------------
      RULE = IE_TYPE=CT_PIPE|CT_BEND && SIZE1>=8
      RULE = IE_TYPE=CT_FLANGE && SIZE1>=8
      RULE = IE_TYPE=CT_FITTING_TEE && SIZE1>=8
      RULE = IE_TYPE=CT_REDUCER && SIZE1>=8
      RULE = IE_TYPE=CT_ELBOW && SIZE1>=8
      RULE = IE_TYPE=.*VALVE.* && SIZE1>=8
    SORTGROUP = CONTRACTOR
      HEADER = @                               ------------------------------------------
      HEADER = @                                       CONTRACTOR Group
      HEADER = @                               ------------------------------------------
      RULE = IE_TYPE=CT_PIPE|CT_BEND
      RULE = IE_TYPE=CT.*

    Now PARTID numbers will be assigned by using these rules.

  2. For testing purpose we have created one report in report.def file by editing SHP report to include Shop and Field components.
    REPORT = SHP
    # this to include only shop material
        INCLUDE = IE_FIELD=0
        INCLUDE = IE_FIELD=1
        EXCLUDE = IE_TYPE=CT_WELD
        COLUMN = 2: L : PARTID
        COLUMN = 8: C : QUANTITY
        COLUMN = 11: C : SIZE
        COLUMN = 6: C : RATING + SCHEDULE
        COLUMN = 60: W : IE_DESCRIPT
        GROUP  = PARTID
        SORT   = PARTID:N
        SEP    = @ 
        SORTHEADERS = 1      # this is to show SORTGROUP HEADER
        #TEXT = @ ----------------------------------------------------------
        #TEXT = @                       Shop Materials
        #TEXT = @ ----------------------------------------------------------
        Write =
    NODE = 60
    END

    Using these steps we have prepared one report in which all components can be sorted between OWNER and CONTRACTOR groups. Don't forget to comment FIELD and Combi reports.

  3. Save all changes and generate Isometrics to verify the results.

Case #2

If there is some special requirements to have some components in different reports then there is possibility to create several reports inside report.def file and combine them to present it in generated isometrics model.

In this example user had a requirement to:
" SIZE >= 8” (200), or other specific items (such as Relief Valves), exclude field components, existing components, bolt and gasket, they are belong to OWNER group.
"SIZE < 8” (200), or not included in OWNER group items, exclude existing components, they are below to CONTRACTOR group.

Steps to Accomplish

To achieve users requirement I have created OwnerPipes, OwnerFittings, Contractor reports and combined all them in one COMBI report which is attached to NODE=60.

  1. In OwnerPipes I have included all pipes which SIZE1 >= 8
    REPORT = OwnerPipes
        INCLUDE = SIZE1 >= 8 && EC_CLASS = PIPE|PIPE_BEND
        EXCLUDE = IE_TYPE=CT_WELD
        COLUMN = 4: L : PARTID
        COLUMN = 6: C : QUANTITY
        COLUMN = 11: C : SIZE
        COLUMN = 6: C : RATING + SCHEDULE
        COLUMN = 60: W : IE_DESCRIPT
        GROUP = PARTID
        SORT = PARTID:N
        SEP = @
        SORTHEADERS = 0
    END

  2. In OwnerFittings I have included all components which SIZE1 >= 8, excluded all pipes, bolts and gaskets
    REPORT = OwnerFittings
        INCLUDE = SIZE1 >= 8
        EXCLUDE = EC_CLASS=PIPE|PIPE_BEND
        EXCLUDE = IE_TYPE=CT_BOLT|CT_GASKET
        EXCLUDE = IE_TYPE=CT_WELD
        COLUMN = 4: L : PARTID
        COLUMN = 6: C : QUANTITY
        COLUMN = 11: C : SIZE
        COLUMN = 6: C : RATING + SCHEDULE
        COLUMN = 60: W : IE_DESCRIPT
        GROUP = PARTID
        SORT = PARTID:N
        SEP = @
        SORTHEADERS = 0
    END

  3. In Contractor I have included all components which SIZE1 < 8, all bolts and gaskets
    REPORT = Contractor
        INCLUDE = SIZE1 < 8
        INCLUDE = EC_CLASS=BOLT|GASKET
        EXCLUDE = IE_TYPE=CT_WELD
        COLUMN = 4: L : PARTID
        COLUMN = 6: C : QUANTITY
        COLUMN = 11: C : SIZE
        COLUMN = 6: C : RATING + SCHEDULE
        COLUMN = 60: W : IE_DESCRIPT
        GROUP = PARTID
        SORT = PARTID:N
        SEP = @
        SORTHEADERS = 0
    END

  4. Then I have combined all these reports to present it on ISO
    REPORT = Combi
        TEXT = @                               ------------------------------------------
        TEXT = @                                         OWNER Group
        TEXT = @                               ------------------------------------------
        WRITE = OwnerPipes
        WRITE = OwnerFittings
        TEXT = @
        TEXT = @                               ------------------------------------------
        TEXT = @                                     CONTRACTOR Group
        TEXT = @                               ------------------------------------------
        WRITE = Contractor
        NODE = 60
    END

  5. You can see results in below picture:

Case #3

Sometimes there is a requirement to not change assigned PARTID number, but still list required components with additional numbering. This workaround don't requires any ecshema changes, it's enough to use a TICKID property in report.def file.

In this example User requirement was to list WELD NECK FLANGES without changing its PARTID number.

Steps to Accomplish

  1. Open same  report.def file and split OwnerFittings report in to two. One to set TICKID for required components and other for the rest.
    REPORT = OwnerFittings1
       INCLUDE = SIZE1 >= 8 && EC_CLASS=WELD_NECK_FLANGE
       EXCLUDE = SIZE1 >= 20 && EC_CLASS=WELD_NECK_FLANGE
       EXCLUDE = IE_TYPE=CT_BOLT|CT_GASKET
       EXCLUDE = EC_CLASS=PIPE|PIPE_BEND
       EXCLUDE = IE_TYPE=CT_WELD
       COLUMN = 4: L : TICKID
       COLUMN = 6: C : QUANTITY
       COLUMN = 11: C : SIZE
       COLUMN = 6: C : RATING + SCHEDULE
       COLUMN = 60: W : IE_DESCRIPT
       #GROUP = PARTID
       SORT = TICKID:N
       SEP = @
       SORTHEADERS = 0
    END
    -------------------------------------------------
    REPORT = OwnerFittings2
       INCLUDE = SIZE1 >= 8
       EXCLUDE = IE_TYPE=CT_BOLT|CT_GASKET
       EXCLUDE = EC_CLASS=PIPE|PIPE_BEND
       EXCLUDE = SIZE1 >=8 && EC_CLASS=WELD_NECK_FLANGE
       EXCLUDE = IE_TYPE=CT_WELD
       COLUMN = 4: L : PARTID
       COLUMN = 6: C : QUANTITY
       COLUMN = 11: C : SIZE
       COLUMN = 6: C : RATING + SCHEDULE
       COLUMN = 60: W : IE_DESCRIPT
       GROUP = PARTID
       SORT = PARTID:N
       SEP = @
       SORTHEADERS = 0
    END

    Don't forget to edit Combi report.

  2. Save changes, generate ISO via OPIM and verify the results

See Also

communities.bentley.com/.../configuring-the-bom-and-reports

communities.bentley.com/.../how-to-generate-reports-based-on-size

communities.bentley.com/.../how-to-generate-reports-based-on-size-with-sequential-numbering-system

Comments or Corrections?

Bentley's Product Advantage Group requests that you please confine any comments you have on this Wiki entry to this Comments or Corrections?" section. THANK YOU!