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
- Functional Details. 2
- 1.1. Requirement:2
- 1.2. Existing SAP related Details. 2
- Solution Overview : 2
- Flow Diagram: 3
- Structures and Data Elements. 3
- 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
- 7.1 Dictionary Objects. 11
- 7.2 Classes. 12
- 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
- 2. Solution Overview :
The GOS object solution will be divided into 3 parts.
- 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) 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.
- 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 ).
- 3. Flow Diagram:
- 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.
- 5. Creation of classes.
- 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:
- 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:
- 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.
- 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
- BO Framework
- Settings for BO Framework and Navigation
- PLM Web User Interface
- Product Lifecycle Management (PLM)
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
- Navigation, Parameter Mapping, and Services
- Settings for BO Framework and Navigation
- PLM Web User Interface
- Product Lifecycle Management (PLM)
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
- Engineering Record
- Objects in PLM Web UI
- PLM Web User Interface
- Product Lifecycle Management (PLM)
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
- Engineering Record
- Objects in PLM Web UI
- PLM Web User Interface
- Product Lifecycle Management (PLM)
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
- Settings for Object Navigator
- PLM Web User Interface
- Product Lifecycle Management (PLM)
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
- Settings for Object Navigator
- PLM Web User Interface
- Product Lifecycle Management (PLM)
Picture 8: Define object type in object navigator
- 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
|
GET_DDICNAMES |
| Provide key / attributes structure names
|
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
|
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
|
Good luck-
Kranthikumar Palle.