Design Specification – Enhancement 

PLM 7 Custom GOS Objects .

Kranthi Kumar Palle.

SAP WEBDYNPRO ABAP, FPM CONSULTANT.

(SAP HCM,PLM Web UI 7.0).

 

Table of Contents

  1. Functional Details. 2
  2. 1.1.        Requirement: 2
  3. 1.2.        Existing SAP related Details. 2
  4. Solution Overview : 2
  5. Flow Diagram: 3
  6. Structures and Data Elements. 3
  7. Creation of classes. 5

6      Customization. 6

1)      Define Custom GOS. 6

2)      Assign data Element to GOS object ZPLM_EQUIP. 7

3)      Define Object Type details for ZPLM_EQUIP. 8

4)      Define ECR relevant attributes for object type. 8

5)      Define object type as change item for ECR type. 9

6)      Add the Fields from Defined two Major Structures in Fields per View Variant section to get Fields visible in Portal. 10

7)      Add Status fields for Object type Attrbitues. 10

8)      Define Navigation class for object type in object navigator. 10

9)      Define Navigation class for object type in object navigator. 11

7      Details of the object. 11

  1. 7.1          Dictionary Objects. 11
  2. 7.2          Classes. 12

  1. 1.      Functional Details

1.1.  Requirement:

As a part of SAP PLM WEB UI 7.0 Standard system is provided with few GOS objects and other required Objects should be incorporated by custom solution.

Example: Bill of Document, Equipment, etc.

This document explains how to add a custom GOS Object with detailed steps. (Example taken: Equipment).

1.2. Existing SAP related Details

Package:  /PLMB/BA_GOSX

/PLMI/BO_ECR

  1. 2.      Solution Overview :

The GOS object solution will be divided into 3 parts.

  1. 1) Creation of necessary structures and Data Elements to define the structure of GOS which will help Feeder classes to create the UI in runtime.
  2. 2) Creation of 2 dedicated classes for GOS object, one used to fetch the details related to GOS and another used in navigation with others.

These classes also used for validations, default values and existence check of the items in runtime.

  1. 3) Customization: Since PLM WEBUI 7.0 is flexible enough to customize from SPRO , we have to define the structure’s and classed in PLM Settings path ( detail explanation followed ).

  1. 3.      Flow Diagram:

 

  1. 4.      Structures and Data Elements.

Create Structures for Custom GOS object (follow the same format given by SAP for Standard GOS or Available GOS objects).

Every GOS object must have two Major Structures.

  • Object Specific Attributes
  • Engineering Record Specific Attributes:           

Object Specific Attributes: ZI1U_S_OBJ_SPEC_ATTR_EQUIPMENT

This Structured Used to Define GOS Object, This contains the key of the GOS object.

                       

Engineering Record Specific Attributes: ZI1U_S_OBJ_SPEC_ATTR_EQUIPMENT

  This is used to define the ECR Screen in Portal.

  • New Key : Editable section
  • Display : For information

 

 

Things to give high importance: Data element names should be unique else in configuration/customization level we may face issues.

  1. 5. Creation of classes.

  1. 1)      ZI1U_CL_GOS_EQUIP

This class is defined for to

  • Get description…. description of the GOS object Item.
  • Get basic data… If Any basic data needs to be fetched or modified
  • Get URL for Object ID.
  • Existence check: Before saving ECR print to cross check once again about the existence of included Item of the Selected GOS object with its master table.

Implemented Interface: /PLMB/IF_GOSX_OBJ_DETAILS

Logic:

 

  1. 2) ZI1U_CL_NAVO_EQUIP : This class is defined for to
  • Set values of relevant parameters
  • Validation, registration & provision of intID for valid ones
  • Provide key / attributes structure names
  • Provide object keys for given internal IDs
  • Provide attributes for given internal IDs
  • Provide object identifying attributes for given internal IDs
  • Refresh attributes buffer table
  • Provide names and necessary data of relevant parameters
  • Prepare IDR table.

Implemented Interface: /PLMB/IF_NAVO

Reference for the logic:

 

  1. 3) Feeder Class for ECR Change Items : Z1IU_CL_ECR_CHGITEM_FED

Inheriting from Class /PLMI/CL_ECR_CHGITM_FED_ON and redefining method /PLMI/IF_ECR_CHG_ITM~GET_COLUMNS_ORDER

 

Further details are at end of the document.

  1. 6 Customization.

1) Define Custom GOS

The new GOS object ZPLM_EQUIP must be defined

Customizing path:

  • Logistics – General
    • Product Lifecycle Management (PLM)
      • PLM Web User Interface
        • Settings for BO Framework and Navigation
          • BO Framework
            • Define Generic Object Types

 

Picture 1: Define Generic Object Types

2) Assign data Element to GOS object ZPLM_EQUIP

Created data element “ZI1U_DE_EQUNR” must be assigned to GOS object ZPLM_EQUIP in Customizing.

Customizing path:

  • Logistics – General
    • Product Lifecycle Management (PLM)
      • PLM Web User Interface
        • Settings for BO Framework and Navigation
          • Navigation, Parameter Mapping, and Services
            • Define Mapping of Data Elements to Parameters

 

Picture 2:        Assign data Element to GOS object ZPLM_EQUIP

3) Define Object Type details for ZPLM_EQUIP

The created class ZI1U_CL_GOS_EQUIP must be assigned to GOS object ZPLM_EQUIP in Customizing.

Maintain view “/PLMB/V_GOSX_OTP” with transaction SM30

 

Picture 3: Object Type details Customizing

4) Define ECR relevant attributes for object type

The created GOS object must also be defined as object type for ECR. In addition to this the created class Z1IU_CL_ECR_CHGITEM_FED will be assigned to GOS object ZPLM_EQUIP in Customizing

Customizing path:

  • Logistics – General
    • Product Lifecycle Management (PLM)
      • PLM Web User Interface
        • Objects in PLM Web UI
          • Engineering Record
            • Make Settings for Engineering Recor

 

Picture 4:  Define object type attributes for ECR change item

5)    Define object type as change item for ECR type

Customizing path:

  • Logistics – General
    • Product Lifecycle Management (PLM)
      • PLM Web User Interface
        • Objects in PLM Web UI
          • Engineering Record
            • Make Settings for Engineering Records

 

Picture 5:  Define object type attributes for ECR change item

6) Add the Fields from Defined two Major Structures in Fields per View Variant section to get Fields visible in Portal.

             

Picture 6: Fields for View Variant

7) Add Status fields for Object type Attrbitues.

 

8) Define Navigation class for object type in object navigator

The created class ZI1U_CL_NAVO_EQUIP must be assigned to GOS object ZPLM_EQUIP in Customizing Customization path:

  • Logistics – General
    • Product Lifecycle Management (PLM)
      • PLM Web User Interface
        • Settings for Object Navigator
          • Make Settings for Object Navigator

 

Picture 7: Define object type in object navigator

9) Define Navigation class for object type in object navigator

The created class ZI1U_CL_NAVO_EQUIP must be assigned to GOS object ZPLM_EQUIP in Customizing Customizing path:

  • Logistics – General
    • Product Lifecycle Management (PLM)
      • PLM Web User Interface
        • Settings for Object Navigator
          • Make Settings for Object Navigator

 

Picture 8: Define object type in object navigator

  1. 7 Details of the object.

7.1 Dictionary Objects

Type

Name

Description

Data Element

ZI1U_DE_EQUNR

Copy of data element EQUNR. Is needed to be able to map to the new GOS object ZPLM_EQUIP. The existing data element EQUNR is already mapped to another object type EAMS_EQUI

Structure

ZI1U_S_ECR_EQUIP_KEY_NEW

ECR – New Equip ID

Structure

ZI1U_S_EQUIPMENT

Equipment ID

Structure

ZI1U_S_NAV_EQUIP_ID

Navigation ID Equipment

ZI1U_S_NAV_EQUIP_ID_ATTR

Navigation attributes Equipment

Structure

ZI1U_S_ECR_SPEC_ATTR_EQUIP

ECR Change items: ECR specific attributes Equipment

Structure

ZI1U_S_OBJ_SPEC_ATTR_EQUIPMENT

ECR object specific atrributes for Equipment

Structure

ZI1U_S_ECR_SPEC_ATTR_EQUIP_DIS

Display only ECR specific attributes – Equipement

7.2 Classes

Class Name

Comments

ZI1U_CL_GOS_EQUIP

Access details for  the GOS object Equipment.

The class is implementing interface “/PLMB/IF_GOSX_OBJ_DETAILS” (Interface to access details of the business objects)

Attributes:

Attribute

Type

DDIC-Type

Description

GC_OTYPE_EQUIP

Static Attribute / Public

/PLMB/GOS_OBJECT_TYPE

Object Type ‘ZPLM_EQUIP’

Methods:

Method

Type

EXISTENCE_CHECK

Instance / Public

Existence check of Equipemnt using table EQUI

GET_DESCR

Instance / Public

Get description for equipment ID using table EQKT

Class Name

Comments

ZI1U_CL_NAVO_EQUIP

Navigation Class vor Equipment

The class is implementing interface “/PLMB/IF_NAVO” (NAV – Object Type Interface)

Attributes:

Attribute

Type

DDIC-Type

Description

GC_INTID_KEY_S 

Constant/Private

TYPENAME

DDIC Structure for Equipment ID ‘ZI1U_S_NAV_EQUIP_ID’

GC_INTID_ATTR_S

Constant/Private

TYPENAME

DDIC Structure for Equipment attributes ‘ZI1U_S_NAV_EQUIP_ID_ATTR’

MT_INTID_ATTRIB

Instance /Private

ZI1U_T_NAV_EQUIP_ID_ATTR

Buffer table with equipment attributes

MT_INTID_KEY

Instance /Private

ZI1U_T_NAV_EQUIP_INTID

Buffer table with equipment ID’s (intkey)

MT_KEY_INTID

Instance /Private

ZI1U_T_NAV_EQUIP_ID

Buffer table with equipment ID’s (extkey)

GT_IDR_EXT

Instance /Private

/PLMI/IF_AL_NAV_C=>GTY_T_IDR_EXT

Buffer table with label info

MT_INTID_IDR_ATTRIB

Instance /Private

/PLMB/T_NAV_IDR

Navigation attributes Equipment

Methods:

Method

Type

GET_ATTRIBUTES

Instance / Public

Provide Equipment attributes for given internal IDs

  • The method first tries to read data from the internal buffer. If ID does not exist I buffer, data will be read from data base tables EQUI & EQKT and added to the buffer

GET_DDICNAMES

Provide key / attributes structure names

  • ‘ZI1U_S_NAV_EQUIP_ID’
  • ‘ZI1U_S_NAV_EQUIP_ID_ATTR’

GET_IDR_ATTRIBUTES

Instance / Public

Provide object identifying attributes for given internal IDs

GET_KEYS

Instance / Public

Provide equipment object keys for given internal IDs

REFRESH_ATTRIBUTES

Instance / Public

Refresh attributes buffer table

  • refresh the internal buffer containing the equipment attributes and keys

VALIDATE

Instance / Public

Validation, registration & provision of intID for valid ones

Class Name

Comments

Z1IU_CL_ECR_CHGITEM_FED

ECR Change Item Feeder

The class is inheriting from class “/PLMI/CL_ECR_CHGITM_FED_ON” (Generic Feeder Class for ECR Change Items – Based on ON) and only redefining one relevant method for the visible columns in the “Change Item” tab

Attributes: No own attributes

Methods:

Method

Type

Redefinition of Method /PLMI/IF_ECR_CHG_ITM~GET_COLUMNS_ORDER

Instance / Public

returns the order of change items table

  • Method is copied from superclass and extended by two columns:
    • EQUNR
    • EQUNR_NEW

Good luck-

Kranthikumar Palle.

  1. Kranthi.palle@gmail.com
To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Vishwasi Vasishta

    Hi Kranthi,

    That was helpful.

    Is there any document to guide through linking custom screen or report to the Additional functions drop down menu in Specification Management. Please share anything that could help me in this regard.

    Thanks in advance.

    Vishwasi

    (0) 
  2. Michael Klika

    Hi Kranthi,

    Great HowTo! Always looking for something like that – b.t.w. could you please provide the screenshots in your article? They seem to be missing 🙁

    Thanks a million,

    Michael

    (0) 

Leave a Reply