IFS Cloud's GIS Map enables easy access to business information in a map. Business objects in IFS Cloud 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 navigate to its main page. 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 Cloud. 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 page 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 page. 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, click View Map 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 View Map option and this could be done by an IFS system administrator.
It is possible to create custom menus in respective business object pages using Page Designer. In the Commandgroup section add new item as "NavigationLink" and select Label as "View Map" and Page as "page/GISMapClient/MapPage". For NavigateFilter values, it is possible to give values in different ways using List of Values or manually. After Choosing navigation parameters custom menu must be saved and published. The following are some examples to give navigation parameters:
When LuName and and KeyRef attribute values are defined for a page NavigateFilter values are defined as below.
Note : For Functional Object page and Serial Object page LuName and KeyRef attribute values are defined. But to make navigation work, only LuName value must be hard coded in NavigateFilter. Refer example for Functional Object page as below.
If LuName and KeyRef attribute values are not defined for a business object page, in NavigateFilter both LuName and KeyRef values must be hard coded as below.
GIS Object configuration controls 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 Cloud.
Fields to be shown in Object Information dialog for a specific business object is defined by options 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 page.
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 | EQUIPMENT_OBJECT_SEQ = [#EQUIPMENT_OBJECT_SEQ] |
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 page in IFS.
Data transfer parameters
Data transfer parameters are usually attributes of the object and possible to managed by the page.
Note: Parameters for data transfer will in most cases work but is also depend on how the target page, assistant, 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 page: EquipmentObjectStructureNavigation/EquipmentObjectPageF
In GIS Object Configuration page, create a configuration for
LU PlantObject, open Action tab and add:
The data transfer parameter
should in this case be like this: MchCode = [#KEYA]
Or in other
words, value in attribute KEYA should be sent into attribute MchCode.
This parameter will enable the design object to be opened when used as an action,
in Equipment Object Navigator page, (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]^MchCode = [#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'^MchCode='6000-1'
Dynamic value, taken from the GIS object:
target_attr_name = [#source_attr_name]
Example: Contract=[#MCH_CODE_CONTRACT]
Examples for Functional Objects in LU EquipmentFunctional
Database view is in this example
EQUIPMENT_FUNCTIONAL_UIV in Solution Manager/Object Connections
page.
Actions to open pages:
Page Name | Action Name | Parameters |
page/FunctionalObject/Form | Functional Object | MchCode=[#MCH_CODE]^Contract=[#CONTRACT] |
pageFunctionalObjects/List | Functional Objects | MchCode=[#MCH_CODE]^Contract=[#CONTRACT] |
page/PrepareWorkOrder/Form | Work Orders | MchCode=[#MCH_CODE]^Contract=[#CONTRACT] |
page/EquipmentObjectStructureNavigation/EquipmentObjectPageF | Equipment Object Navigator | MchCode=[#MCH_CODE]^Contract=[#CONTRACT] |
Action to open assistants
Page Name | Action Name | Parameters |
assistant/CreateFaultReportAssistant/FaultReportWizardAssistant | Fault Report | SetTaskAttrForSteps{ ReportMchCode:[#MCH_CODE],MchCodeContractNew:[#CONTRACT]} |
Examples for Linear Assets in LU LinastLinearAsset
Database view is in this example
LINAST_LINEAR_ASSET_UIV in Solution Manager/Object Connections
page.
Actions to open pages:
Page Name | Action Name | Parameters |
page/LinearAsset/Form | Linear Asset Information | LinearAssetSq = [#LINEAR_ASSET_SQ] |
Action to open assistants
Page Name | Action Name | Parameters |
assistant/CreateFaultReportAssistant/FaultReportWizardAssistant | Fault Report |
SetTaskAttrForSteps{VarLinearAsset:[#LINEAR_ASSET_NAME],VarLinearAssetSeq:[#LINEAR_ASSET_SQ],VarLinearAssetRevNo:[#LINEAR_ASSET_REVISION_NO],VarLength:[#LENGTH],VarSite:[#SITE],VarItemClassId:[#ITEM_CLASS_ID],VarLengthUom:[#UNIT_CODE_LENGTH],VarOffset:[#UNIT_CODE_OFFSET],NewConnectionType:'Linast'} |
Examples for Elements in LU LinastElement
Database view is in this example
LINAST_ELEMENT_UIV in Solution Manager/Object Connections page.
Actions to open pages:
Page Name | Action Name | Parameters |
page/LinearAsset/Form | Linear Asset Information | LinearAssetSq= [#LINEAR_ASSET_SQ]^LinearAssetRevisionNo=[#LINEAR_ASSET_REVISION_NO] |
Examples for Work Orders in LU ActiveSeparate
Database view is in this example
ACTIVE_SEPARATE in Solution Manager/Object Connections page.
Action to open pages:
Page Name | Action Name | Parameters |
page/PrepareWorkOrder/Form | Work Order | WoNo=[#WO_NO] |
page/WorkOrderStructureNavigator/WorkOrderPage | Work Order Structure | WoNo=[#WO_NO] |
page/FunctionalObject/Form | Functional Object | MchCode=[#MCH_CODE]^Contract=[#CONTRACT] |
Users are by default not allowed to enter SQL code in IFS pages. 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 page, in the System Privileges tab. Theoption for DEFINE_SQL enables users to enter SQL in above condition fields.