Considerations for Considerations for SAP / GIS IntegrationSAP / GIS Integration
Dr. Stefan FrankDr. Stefan FrankDirector Of Product ManagementDirector Of Product Management
Impress SoftwareImpress Software
AgendaAgenda
•• IntroductionIntroduction•• General ConsiderationsGeneral Considerations
–– Asset IdentificationAsset Identification–– Data RedundancyData Redundancy
•• Specific ConsiderationsSpecific Considerations–– Versioning in ESRIVersioning in ESRI–– Split processSplit process–– Work localizationWork localization
Impress for GISImpress for GIS
Packaged integration application optimized for bridging SAP with ESRI.
Impress for GIS SAPArcGIS
Maintenance &Operations
Asset DataManagement
The Impress DifferenceThe Impress DifferenceB
uild
• Time to value• Complexity• Available expertise• Ability/cost to change100% Customization
Considerations:
Buy
Benefits:• Rapid time-to-value• Reduced Risk
• Full support• SAP certified• Upgrade-able• Configuration Control
• Prepackaged Experience
Asset IdentificationAsset IdentificationInitial SituationInitial Situation
TransformersCircuit breakersService LinesPoles
Service PointsCustomersConsumptionSome Network
Asset IdentificationAsset IdentificationInitial SituationInitial Situation
Typical starting point:Typical starting point:•• Some assets are only in GISSome assets are only in GIS
–– If needed in SAP, the interface can generate If needed in SAP, the interface can generate these automaticallythese automatically
•• Some assets are only in SAPSome assets are only in SAP–– If needed on the map, a carefully planned If needed on the map, a carefully planned
semisemi--automated process can place themautomated process can place them•• Some assets are in both systemsSome assets are in both systems
–– Major challenge is the cross system Major challenge is the cross system identificationidentification
Asset IdentificationAsset IdentificationLink Existing DataLink Existing Data
•• Initial match algorithm necessaryInitial match algorithm necessary–– Can be complex and involve multiple fieldsCan be complex and involve multiple fields–– Can be identical to asset identificationCan be identical to asset identification–– Typical examples can involveTypical examples can involve
•• Tag numbersTag numbers•• Serial numbersSerial numbers•• AddressAddress
•• There is always a match algorithm!There is always a match algorithm!•• Initial match should result in a properly Initial match should result in a properly
maintained cross system identificationmaintained cross system identification
Asset IdentificationAsset Identification
TransformersCircuit breakersService LinesPoles
Service PointsCustomersConsumptionSome Network
Asset IdentificationAsset IdentificationMatching vs. Cross System IdentificationMatching vs. Cross System Identification
•• MatchingMatching–– Can be a slow and complicated processCan be a slow and complicated process–– Might not cover 100%Might not cover 100%–– Is run only at the beginning and in Is run only at the beginning and in
subsequent consistency managementsubsequent consistency management
•• Cross System IdentificationCross System Identification–– Used in all integrated processesUsed in all integrated processes–– Has to be fast and easyHas to be fast and easy
Asset IdentificationAsset IdentificationCross System IdentificationCross System Identification
•• Typical cross system identification Typical cross system identification schemesschemes
–– A key table is maintained A key table is maintained –– The SAP ID is written to GIS (or viceThe SAP ID is written to GIS (or vice--versa)versa)–– A cross system asset ID is issuedA cross system asset ID is issued
Asset IdentificationAsset IdentificationKey Table MaintenanceKey Table Maintenance
•• Interface Key TableInterface Key Table–– Relies on the interface processesRelies on the interface processes–– Rogue processes will create nonRogue processes will create non--identifiable identifiable
assetsassets–– If key table is corrupted, no link recreation If key table is corrupted, no link recreation
possible (unless a proper matching possible (unless a proper matching algorithm is available)algorithm is available)
–– Clean data modelsClean data models–– A match algorithm can helpA match algorithm can help
Asset IdentificationAsset IdentificationSystem ID Cross ReferenceSystem ID Cross Reference
•• SAP ID in GIS (or viceSAP ID in GIS (or vice--versa)versa)–– Does not need any additional information to Does not need any additional information to
recreate linksrecreate links–– Relies on the interface processesRelies on the interface processes–– Rogue processes will create nonRogue processes will create non--identifiable identifiable
assetsassets
Asset IdentificationAsset IdentificationCross System IDCross System ID
•• Real unique cross system IDReal unique cross system ID–– Does not need any additional information to Does not need any additional information to
recreate linksrecreate links–– Completely able to automatically correct Completely able to automatically correct
rogue processesrogue processes–– Usually change issuesUsually change issues
–– SAP specific concerns:SAP specific concerns:•• Do not use slow / indirect fields like classification Do not use slow / indirect fields like classification
……
Asset IdentificationAsset Identification
TransformersCircuit breakersService LinesPoles
Service PointsCustomersConsumptionSome Network
Asset IdentificationAsset IdentificationFlow During Asset CreationFlow During Asset Creation
•• Where do assets enter the system?Where do assets enter the system?–– Added to GIS Added to GIS --> Created in SAP> Created in SAP
•• Typical for engineering assetsTypical for engineering assets–– Added to SAP Added to SAP --> Created in GIS> Created in GIS
•• Typical for service points Typical for service points –– Added to GIS from the asAdded to GIS from the as--build but already build but already
in SAPin SAP•• Basically a variation of the first pointBasically a variation of the first point
Asset IdentificationAsset IdentificationStarted in GISStarted in GIS
•• As soon as assets are added to GIS, As soon as assets are added to GIS, SAP assets are createdSAP assets are created
–– Typically, this can be done rather automaticTypically, this can be done rather automatic–– Required fields and structures (i.e. superior Required fields and structures (i.e. superior
functional location) can be detectedfunctional location) can be detected
Asset IdentificationAsset IdentificationStarted in SAPStarted in SAP
•• As soon as assets are added to SAP, As soon as assets are added to SAP, GIS assets should be createdGIS assets should be created
–– Automatic solution dangerous because SAP Automatic solution dangerous because SAP does not validate geo referencedoes not validate geo reference
–– SemiSemi--Automatic process can help by preAutomatic process can help by pre--locating assets vialocating assets via
•• Superior Functional LocationSuperior Functional Location•• GPS CoordinatesGPS Coordinates•• FeederFeeder•• AddressesAddresses
Asset IdentificationAsset IdentificationStarted in GIS but already in SAPStarted in GIS but already in SAP
•• When the asWhen the as--build enters GIS, assets are build enters GIS, assets are created in SAP if they are not already created in SAP if they are not already therethere
–– Requires a good matching / cross Requires a good matching / cross identification algorithmidentification algorithm
Asset IdentificationAsset IdentificationConsistency managementConsistency management
•• Processes that analyze changes and Processes that analyze changes and edits in both systems for their edits in both systems for their consistencyconsistency
•• Avoid a growing discrepancy Avoid a growing discrepancy ……
Data RedundancyData Redundancy
TransformersCircuit breakersService LinesPoles
Service PointsCustomersConsumptionSome Network
Data RedundancyData Redundancy
•• Data Redundancy is bad !Data Redundancy is bad !
•• Can it be avoided?Can it be avoided?•• When does it hurt?When does it hurt?
Data RedundancyData RedundancyWhen is redundancy necessary?When is redundancy necessary?
•• PerformancePerformance–– Rendering SAP Information on the mapRendering SAP Information on the map–– Using consumption data for geo analysisUsing consumption data for geo analysis
•• No realNo real--time hookstime hooks–– The asset itselfThe asset itself–– SAP ERP reporting SAP ERP reporting
•• Disconnected (Mobile) useDisconnected (Mobile) use
Data RedundancyData RedundancyWhen does data redundancy hurt?When does data redundancy hurt?
•• Data redundancy is not as harmful as Data redundancy is not as harmful as process redundancyprocess redundancy
•• A properly enforced A properly enforced ““mirrormirror””--redundancy redundancy is manageableis manageable
Data RedundancyData RedundancyPrinciplesPrinciples
•• If information is really needed in both systems, If information is really needed in both systems, (non(non--redundant) realredundant) real--time access should be time access should be considered whenever possibleconsidered whenever possible
•• The decision about redundancy should be The decision about redundancy should be done on field/attribute leveldone on field/attribute level
•• For each given piece of information (attribute), For each given piece of information (attribute), a master system should be identifieda master system should be identified
Data RedundancyData RedundancyRealReal--time accesstime access
Data RedundancyData RedundancyThe MasterThe Master
•• Which system should be the master for a given Which system should be the master for a given piece of information?piece of information?–– Basically the system where the information is Basically the system where the information is
maintainedmaintained
–– This can be different from the system where the This can be different from the system where the data is createddata is created
•• Example: Switch StateExample: Switch State
–– If a given piece of information is maintained in both If a given piece of information is maintained in both system, you should consider your processessystem, you should consider your processes
Data RedundancyData RedundancyField Level ControlField Level Control
Data RedundancyData RedundancyDo not overload SAPDo not overload SAP
•• SAP has two main angles on spatial SAP has two main angles on spatial assets:assets:–– Maintenance planning & executionMaintenance planning & execution–– Controlling and financial reportingControlling and financial reporting
•• The granularity of SAP should be aligned The granularity of SAP should be aligned with the needswith the needs
•• Be bold! Be bold! –– a good integration can relieve a good integration can relieve SAP from tasks it is not optimized forSAP from tasks it is not optimized for
Versioning in ESRIVersioning in ESRIBasicsBasics
•• SAP is not versionedSAP is not versioned
•• Due to the focus on maintenance and Due to the focus on maintenance and operational controlling, SAP usually operational controlling, SAP usually represents asrepresents as--maintained / asmaintained / as--builtbuilt–– At least for the PM asset inventoryAt least for the PM asset inventory
•• --> SAP should equal As> SAP should equal As--Build (Default)Build (Default)
Versioning in ESRIVersioning in ESRIChanges in GISChanges in GIS
•• Whenever GIS updates default, SAP Whenever GIS updates default, SAP should be updatedshould be updated
•• Pro: not matter how the data changed in Pro: not matter how the data changed in GIS (e.g. mobile checkGIS (e.g. mobile check--in), it will hit SAPin), it will hit SAP
Versioning in ESRIVersioning in ESRIGIS Changes in ImpressGIS Changes in Impress
GDBImpress
ReferenceVersion
GetDifference
Deltas
GDBImpressTemp
Version
ProcessUpdates
SAP
CreateImpressTemp
Version
GDBDEFAULT
Version
Delete Reference /
Rename TempTo Reference
Yes
GDBImpress
ReferenceVersion
1
2Problems
?
LogUpdates with
Errors
SAPErrorLogs 3
4
Stored in GIS GDB Stored in Impress Stored in SAP 7 See notes X Deleted after phase
Versioning in ESRIVersioning in ESRIChanges in SAPChanges in SAP
•• SAP mastered data is nonSAP mastered data is non--versionedversioned
•• If written to a version, it is not visible If written to a version, it is not visible across all versions and not immediately across all versions and not immediately visible. It could result in posting conflictsvisible. It could result in posting conflicts
•• Possible solutions are joins with nonPossible solutions are joins with non--versioned tables or simple feature versioned tables or simple feature classesclasses
Versioning in ESRIVersioning in ESRISAP Data CacheSAP Data Cache
•• If an asset is created, data might be If an asset is created, data might be entered that is meant to be in SAPentered that is meant to be in SAP
•• However, this asset does not hit SAP However, this asset does not hit SAP until it is posteduntil it is posted
•• A version related data cache is A version related data cache is necessarynecessary
Split ProcessSplit ProcessProblemProblem
•• In GIS, a piece of pipe is split and has In GIS, a piece of pipe is split and has new segmentsnew segments
•• SAP does not know split process. Thus, SAP does not know split process. Thus, newly created segments will loose historynewly created segments will loose history
•• There is no standard in SAPThere is no standard in SAP
Split ProcessSplit ProcessThe Impress SuggestionThe Impress Suggestion
•• The pipe that is split is set inactiveThe pipe that is split is set inactive
•• New segments are createdNew segments are created
•• The SAP Object Link is used to link the The SAP Object Link is used to link the new segment to the inactive segmentnew segment to the inactive segment
•• In ImpressIn Impress’’ ““Order HistoryOrder History”” process, this process, this link is resolvedlink is resolved
GeoreferencingGeoreferencing OrdersOrdersProblemProblem
•• No matter how detailed an object No matter how detailed an object structure is in SAP, the location of a structure is in SAP, the location of a given work order is not knowngiven work order is not known–– Largely on linear assetsLargely on linear assets
•• Work orders get an additional geoWork orders get an additional geo--reference (Lat/Long or Stationing Value) reference (Lat/Long or Stationing Value) and can be displayed on the map as and can be displayed on the map as point features.point features.