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:
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.
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.
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.
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 control’s what business information and actions to show in GIS Map, for example:
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 for a specific business object is defined by checkboxes in GIS object configuration.
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 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.
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.