GIS Integration

IFS Application’s GIS Map enables easy access to business information in a map. Business objects in IFS Applications such as equipment objects, work orders and linear assets could be presented as graphical items (points, lines and polygons) on a map. For example, connect a business object of type linear asset to a pipeline in the map. Click on the pipeline and it shows business information from IFS and it enables business actions like create a fault report or navigate to its main window. One IFS business object could be connected to one or many geographical features on the map.

An established connection between a graphical item and a business object enables the following:

Examples of some GIS related operations (tools) in GIS Map:

Possible business related actions and business information shown are controlled by basic data configuration in IFS Applications. The graphical information shown in the map is controlled by ArcGIS system.

ArcGIS system is a proprietary commercial software developed by Esri and it provides an infrastructure for making geographic information available throughout a business organization, across a community, or openly on the Web.

Some general definitions in this document:

Enable business objects to be used in GIS Map

One business object in IFS is represented by one or many logical units (LU) in the database and it should be decided what business objects – what LUs to be used in GIS Map. For example, should it be possible to work with GIS Map from a maintenance & service perspective, from a linear assets perspective or both? This is decided by the customer with advice from a system administrator or expert on IFS Applications. Once decided, LUs that represent the business objects should then be enabled, by configuration in GIS Integration. This is done in IFS Solution Manager/Object Connections window by entering the value GisintConnections in field for Service List.

Note! Also consider business security when enabling a logical unit for GIS integration in Object Connections window. A recommendation is to only select user interface views (UIV) for the logical unit because they are filtered to only show business information as made available for the user, according to business rules. The user will not be able to see business information where business rules is not made available for him/her. For example, it will not be possible to see business object information in GIS Map in site A if that site isn't added to the user. User interface views can often recognized by it's name because it often contains the text UIV; LINAST_LINEAR_ASSET_UIV, CMPUNT_COMPATIBLE_UNIT_UIV, EQUIPMENT_FUNCTIONAL_UIV, ACTIVE_SEPARATE_UIV etc. There could also be situations where business security is implemented for a database view but where the view name doesn't contain the text UIV.

Layer groups and user

A group of layers could be connected to one or many users. This enables different roles in an organization to see different kind of information in GIS Map, for example service technicians to see a sub-set of geographical information and planners, engineers etc. other types of geographical information. It’s also possible to give some users the possibility to edit connections (connect & disconnect), by using editable layers, while other users only can see geographical- and business information, using a read-only layer. Users could also be defined with different background maps (basemaps). The customer could give information about roles & users in the organization, while IFS system administrator could create the wanted configuration.

Connect Objects in GIS Map

Connections between GIS objects and IFS business objects are created in GIS Map, simply by clicking on a GIS objects and by providing an IFS business object ID. It’s possible to connect the same IFS business object to many GIS objects.

Enable navigation from windows in IFS to GIS Map

It’s possibility to search on a few business objects in IFS, right-mouse click and select a right-mouse option which navigates and shows them in GIS Map. IFS business objects must in this case have a connection to GIS object and the user must have access to GIS object from the layer mapping configuration. IFS custom menus are used in order to add the right-mouse option and this could be done by an IFS system administrator. The following are some examples:

Common for all custom menus are:

Description Logical Unit Window Source Key Name Destination Key Name
Fault Report ActiveSeparate frmWorkOrderPrepareTab WO_NO WO_NO
Fault Reports ActiveSeparate tbwWorkOrder WO_NO WO_NO
Case CcCase frmCaseHeader CASE_ID CASE_ID
Cases CcCase tbwOverviewCases CASE_ID CASE_ID
Functional Object EquipmentFunctional frmFunctionalObject CONTRACT CONTRACT
      MCH_CODE MCH_CODE
Functional Objects EquipmentFunctional tbwFunctionalObject CONTRACT CONTRACT
      MCH_CODE MCH_CODE
Linear Asset LinastLinearAsset frmLinastLinearAsset LINEAR_ASSET_SQ LINEAR_ASSET_SQ
      LINEAR_ASSET_REVISION_NO LINEAR_ASSET_REVISION_NO
Linear Assets LinastLinearAsset tbwLinastLinearAsset LINEAR_ASSET_SQ LINEAR_ASSET_SQ
      LINEAR_ASSET_REVISION_NO LINEAR_ASSET_REVISION_NO

GIS Object Configuration

GIS Object configuration control’s what business information and actions to show in GIS Map, for example:

Object Information dialog in GIS Map

Object Information dialog is shown once you click on a GIS object where an IFS business object connection exists. The dialog presents business information and useful actions in IFS. Three main parts are shown in the dialog:

All information (fields, tabs and actions) are controlled by GIS object configuration and defined on per business object’s LU. What to show in the dialog is decided by the customer and configured by an IFS system administrator. Parameters are used in order to define actions and might require assistance from an expert on IFS Applications.

Fields to be shown in Object Information dialog

Fields to be shown in Object Information dialog for a specific business object is defined by checkboxes in GIS object configuration.

Related information to be shown as tabs in Object Information dialog

A business object’s related information could be shown in Object Information dialog as tabs. This is defined in GIS Object Configuration window.

The Where Condition connects the original logical unit and its related IFS business objects. When the connection does not use the key ref value, user needs to follow a defined format to build the Where Condition. Consider the following:

For example, enable work orders to be shown for a equipment object in Object Information dialog:

When KEY_REF is used together with other conditions, for example:

Note! The Where Condition is not case sensitive, but it’s strictly required to be accurate with the format and field names.

Examples for Functional Objects in LU EquipmentFunctional

Tab Name View Name Where Condition
Documents DOC_REFERENCE_OBJECT  
Characteristics TECHNICAL_SPEC_OBJ_INFO  
Active Work Orders ACTIVE_SEPARATE_OVERVIEW  MCH_CODE_CONTRACT = [#CONTRACT] AND MCH_CODE = [#MCH_CODE]

Show the functional object's underlying structure:

Tab Name View Name Where Condition
Serial Parts EQUIPMENT_OBJECT_UIV SUP_CONTRACT = [#CONTRACT] AND SUP_MCH_CODE = [#MCH_CODE] AND SERIAL_NO IS NOT NULL
Functional Parts EQUIPMENT_OBJECT_UIV SUP_CONTRACT = [#CONTRACT] AND SUP_MCH_CODE = [#MCH_CODE] AND SERIAL_NO IS NULL
Locational Parts EQUIPMENT_OBJECT_UIV LOCATION_CONTRACT = [#CONTRACT] AND LOCATION_MCH_CODE = [#MCH_CODE] AND SERIAL_NO IS NULL
Process Parts EQUIPMENT_OBJECT_UIV PROCESS_CONTRACT = [#CONTRACT] AND PROCESS_MCH_CODE = [#MCH_CODE] AND SERIAL_NO IS NULL
Electrical Parts EQUIPMENT_OBJECT_UIV CIRCUIT_CONTRACT = [#CONTRACT] AND CIRCUIT_MCH_CODE = [#MCH_CODE] AND SERIAL_NO IS NULL

Examples for Linear Assets in LU LinastLinearAsset

Tab Name View Name Where Condition
Documents DOC_REFERENCE_OBJECT  
Characteristics TECHNICAL_SPEC_OBJ_INFO  
Active Work Orders ACTIVE_SEPARATE_OVERVIEW  LINAST_LINEAR_ASSET_SQ = [#LINEAR_ASSET_SQ] AND LINAST_LINEAR_ASSET_REV_NO = [#LINEAR_ASSET_REVISION_NO]

Examples for Linear Asset Segments in LU LinastSegment

Tab Name View Name Where Condition
Documents DOC_REFERENCE_OBJECT  
Characteristics TECHNICAL_SPEC_OBJ_INFO  

Examples for Case in LU CcCase

Tab Name View Name Where Condition
Documents DOC_REFERENCE_OBJECT  
Characteristics TECHNICAL_SPEC_OBJ_INFO  

Examples for Design Object in LU PlantObject

Tab Name View Name Where Condition
Documents DOC_REFERENCE_OBJECT  
Characteristics TECHNICAL_SPEC_OBJ_INFO  

Examples for Project in LU Project

Tab Name View Name Where Condition
Documents DOC_REFERENCE_OBJECT  
Characteristics TECHNICAL_SPEC_OBJ_INFO  

Examples for Programs in LU ProjectProgram

Tab Name View Name Where Condition
Projects PROJECT PROGRAM_ID = [#PROGRAM_ID]

Examples for Customers in LU CustomerInfo

Tab Name View Name Where Condition
Customer Orders CUSTOMER_ORDER CUSTOMER_NO = [#CUSTOMER_ID]

Examples for IAL views

IAL views could be used in order to show information as tabs in Object Information dialog. The following example gives a list of customers:

Tab Name View Name Where Condition View Schema
Customers IAL CUSTOMERS CUSTOMER_NAME IS NOT NULL IFSINFO

Actions in Object Information dialog

Actions could be added in Object Information dialog on fields (as links) or shown in the section called Actions. The wanted actions and how it should be displayed is controlled by GIS object configuration. A common example is where navigation is enabled from Object Information dialog to the business object’s main window in IFS.

Data transfer parameters

Data transfer parameters are usually attributes of the object and possible to managed by the window.

Note! Parameters for data transfer will in most cases work but is also depend on how the target window, wizard, dialog etc.is implemented.

The definition of attributes is like this:

The data transfer goes to the target_attr_name from source_attr_name, like this: target_attr_name <-- source_attr_name

For example, create a data transfer parameter for LU PlantObject to open a design object's corresponding equipment object in an equipment object window: frmEquipObjStructure

In GIS Object Configuration window, create a configuration for LU PlantObject, open Action tab and add:

The data transfer parameter should in this case be like this: MCH_CODE = [#KEYA]

Or in other words, value in attribute KEYA should be sent into attribute MCH_CODE. This parameter will enable the design object to be opened when used as an action, in Equipment Object Navigator window, (as long as a corresponding equipment object is created). In the above example we don't consider the value for site and it could be a potential problem if the same value for Object ID exists on several sites. The data transfer parameter when also considering site, should look like this: CONTRACT = [#SITE]^MCH_CODE = [#KEYA]

Parameters for data transfer could get its values in a few different ways:

Static values:

target_attr_name ='value1'^target_attr_name1 ='value2'

Example: CONTRACT='101'^MCH_CODE='6000-1'

Dynamic value, taken from the GIS object:

target_attr_name = [#source_attr_name]

Example: CONTRACT=[#MCH_CODE_CONTRACT]

Methods with arguments:

target_attr_name = [&Some_Api.Some_Method]

Example: USER_ID=[&Fnd_Session_API.Get_Fnd_User]

Methods with static or dynamic arguments: 

target_attr_name = [&Some_API.Some_Method([#source_attr_name1],‘THEVALUE’,[#source_attr_name12])]

Example: supplier_id=[&Equipment_All_Object_API.Get_Vendor_No('101',[#MCH_CODE])]

Control parameters

These are parameters sent to the window in situations where data transfer isn't used. Control parameter name must be prefixed with a dollar sign ($).

Note! Target window must have been implemented to manage control parameters, else it will not work.

Single control parameter with a static value:

$param_name=’VALUE’

Multiple parameters with dynamic values:

$param_name=[#source_attr_name]^$param_name1=[#source_attr_name1]

Single parameter with method call:

$param_name=[&Some_API.Some_Method]

Multiple parameters with method call using both dynamic and static values:

$param_name=[&Some_API.Some_Other_Method([#source_attr_name1],[#source_attr_name2],'THEVALUE')]

Examples for Functional Objects in LU EquipmentFunctional

Database view is in this example EQUIPMENT_FUNCTIONAL_UIV in Solution Manager/Object Connections window.

Actions to open windows:

Window Name Action Name Parameters
frmFunctionalObject Functional Object MCH_CODE=[#MCH_CODE]^CONTRACT=[#CONTRACT]
frmEquipObjStructure Equipment Object Navigator MCH_CODE=[#MCH_CODE]^CONTRACT=[#CONTRACT]
frmWorkOrderPrepareTab Work Orders MCH_CODE=[#MCH_CODE]^CONTRACT=[#CONTRACT]

Other useful actions:

Window Name Action Name Parameters
frmPmTab Create Separate PM Action $CONTRACT=[#MCH_CODE_CONTRACT]^$MCH_CODE=[#MCH_CODE]
dlgFaultReportWizard Create Fault Report $CALLING_FROM='GISMAP'^$IFS_OBJ_ID='1'^$CONNECTION_TYPE_DB='GISEQUIP'^$GIS_LAYER_LU='EquipmentFunctional'^$MCH_CODE=[#MCH_CODE]^$CONTRACT=[#CONTRACT]
frmWoFaultReportCustOrderTab Create Service Request $MCH_CODE_=[#MCH_CODE]^$CONTRACT_=[#CONTRACT]

Action to navigate to a customized Fault Report window:

Window Name Action Name Parameters
frmPmTab Default Layout $CONTRACT=[#CONTRACT]^$MCH_CODE=[#MCH_CODE]
frmPmTab Customized Layout $CONTRACT=[#CONTRACT]^$MCH_CODE=[#MCH_CODE]^$PROCESS='LAYOUT1'

Examples for Linear Assets in LU LinastLinearAsset

Database view is in this example LINAST_LINEAR_ASSET_UIV in Solution Manager/Object Connections window.

Actions to open windows:

Window Name Action Name Parameters
frmLineastLinearAsset Linear Asset Information LINEAR_ASSET_SQ = [#LINEAR_ASSET_SQ]

Other useful actions

Window Name Action Name Parameters
dlgFaultReportWizard Create Fault Report $CALLING_FROM='GISMAP'^$IFS_OBJ_ID='1'^$CONNECTION_TYPE_DB='GISEQUIP'^$GIS_LAYER_LU='EquipmentFunctional'^$MCH_CODE=[#MCH_CODE]^$CONTRACT=[#CONTRACT]

Examples for Elements in LU LinastElement

Database view is in this example LINAST_ELEMENT_UIV in Solution Manager/Object Connections window.

Actions to open windows:

Window Name Action Name Parameters
frmLineastLinearAsset Linear Asset Information LINEAR_ASSET_SQ = [#LINEAR_ASSET_SQ]^LINEAR_ASSET_REVISION_NO=[#LINEAR_ASSET_REVISION_NO]

Examples for Work Orders in LU ActiveSeparate

Database view is in this example ACTIVE_SEPARATE in Solution Manager/Object Connections window.

Action to create a Separate PM Action:

Window Name Action Name Parameters
frmPmTab Create Separate PM Action $CONTRACT=[&Active_Work_Order_API.Get_Mch_Code_Contract([#WO_NO])]^$MCH_CODE=[&Active_Work_Order_API.Get_Mch_Code([#WO_NO])]

The parameter works as long as the work order has a equipment object.

Condition in GIS Layer Mapping and Object Configuration windows

Users are by default not allowed to enter SQL code in IFS windows. This is prevented on purpose because of security reasons. However, some configuration in GIS Maps enables some limited SQL conditions to be entered. The following could be controlled by using SQL:

The possibility for a user to enter SQL conditions is controlled by a system privilege called DEFINE_SQL. The system privilege DEFINE_SQL is found in Permission Set Detail window, in the System Privileges tab. The check box for DEFINE_SQL enables users to enter SQL in above condition fields.