Transcript Slide 1
Desktop ● Web UI ● Mobile ● Offline ● Developer Welcome! Integrating SAP and Google Maps made easy - ROI in 2 Months Presenters: Forrest Horner, County of Sacramento Vidyadhari Nakka, Synactive, Inc. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer SAP ERP © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Why is Usability Important? • Easy to Learn • Efficient to Use • Easy to Remember • Enjoyable to Use © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer What Can Usability Do For Business? Impact on Business: • Project Cost ROI • Productivity • Calculating ROI © 2010 Synactive, Inc. Productivity Cost www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer How Can GuiXT Solutions Improve Usability? • • • • • Remove Distractions/Confusions Consolidate/Optimize Data Entry Use Familiar Terms Images to Aid Identification Instructions for Complex or Seldom Used Procedures © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer GuiXT Solution • • • • • • Bundled with SAP ERP Certified by SAP for NetWeaver Portals No backend code changes Do it faster with fewer resources Minimize Risk Maximize your SAP ERP! © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Activate GuiXT Embedded within SAP! © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer How GuiXT Works SAPGUI User Request MM01 SAP GUI Draws Screen © 2010 Synactive, Inc. SAP Processes Request GUIXT Screen Modifications Are Applied SAP Responds with MM01 Screen www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Forrest Horner • Sr. IT Analyst for County of Sacramento • 11 years of SAP experience © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Integrating GIS & Customer Interaction Center Forrest Horner © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Many ways to integrate SAP & GIS, …but want to make it easy to use a map. Topics To Discuss • Back ground on Sacramento County • Goal: Integrate map info with IS-U/CCS, cheaply – Basic linkage to GIS: Connection Object – Display map to Customer Service Rep – Use of GuiXT to achieve integration – Leverage with other technology – Build vs Buy • Challenge: Asset Management & Work Orders © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Background Sacramento County, CA • Sacramento County, California – About 1.3 million citizens – Multiple jurisdictions, Cities, Districts, etc • SAP IS-U/CCS Utility Billing System – Implemented in July 1999 (on v1.1b)…now Netweaver – Bill for ~300K customers, ~$300m revenue – Waste Water, Solid Waste, Drainage, Potable Water – …have a SAP tech support staff of: ~8 © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Sacramento County Hit Hard By Sub-Prime Foreclosure Mess As of August 2008, over 9,000 foreclosed properties Each pin on the map is a bank owned property. Output “KML” from SAP… © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer What is Keyhole Markup Language? KML is a “mark up”/tag language. Easy to do easy things, but KML has many capabilities. Here’s an example of an SAP work order, generated via ABAP. <?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"> <Document> <name>\GPSORDERLIST-abncu1</name> Most of the KML file <Folder> is static text...you <name>GoogleMapsStuff</name> <open>1</open> only need to put in a <Placemark> few variables. <name>1423841-T</name> <Point> <coordinates>-121.41661,38.69701,0</coordinates> Cut and paste this </Point> into Notepad, save </Placemark> as a .KML…then </Folder> </Document> open in Google </kml> Maps...hello world. -You’ll need the Latitude & Longitude for each Connection Object in your system. -Google use’s the coordinates to find the point on the map. -We happen to have Lat’s & Long’s as we get regular updates into a ztable from our GIS department and then link to our IFLOT table. The IFLOT table TPLNR key is of course stored in the work order. - If you aren’t lucky enough to have a GIS integration (even flat files) then you’ll need to ‘geo-code’ by the connection object address…a painful and tedious process, but doable. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Sacramento County Development scaling down, so revenue down…so must do more with less. Example: © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer County Bills: parcels of land… Connection Object modified to hold Parcel Number Customer Include - IFLOT table: ZZ_APN The county Geographical Information System (GIS) is ESRI based, and is a primary db of parcel information from the Assessors office. Link by parcel number Intra-net © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer County GIS department ESRI based • The ESRI data is rendered via a browser, • ESRI ArcView or ArcMap app software difficult for most user’s …………….. The CSR’s use GIS browser all day… Each active “contract” record in SAP is shown as a layer/dot on the GIS viewer © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Getting SAP data to GIS CCS Object Model Bus. Part. Contact (BCONT) IS-U-Spec Fields (EKUN) PARTNER PARTNER Business Partner (BUT000) PARTNER PARTNER PARTNER Contract Account (FKKVK) Move In Doc # ADDRNUMBER (EINZBELEG) VKONT VKONTO Alternative Portion (PORTION) (Cont. Acct. #) Installation (ANLAGE) Move Out Doc for Cont Acct (EAUS) Cont Acct # (VKONT) Cont Acct # (VKONT) (Cont. Acct. #) Contract (EVER) Installation (ANLAGE) Installation (ANLAGE) Addresses (ADRC) Partner (GPART) Contract Account (FKKVKP) Cont Acct # (VKONT) Move In Doc # (EINZBELEG) Portion (TE420) PARTNER BP: Addresses (BUT020) ADDRNUMBER Cont Acct # (VKONT) Move In Doc for Contract (EEINV) PARTNER Cont (VKONT) Cont (VKONT) Move In Doc for Contract Acct. (EEIN) PARTNER Move In Doc # (AUSZBELEG) Move In Doc # (AUSZBELEG) ADDRNUMBER Move Out Doc for Contract (EAUSV) Installation (ANLAGE) Installation (ANLAGE) Contract (VERTRAG) Cont (VERTRAG) POOR MANS BW Business Partner Plan (EABP) Portion (TERMSCHL) ADRNR Portion (TERMSCHL) Billing Document (ETRG) Portion (TERMSCHL) Inst. Time Slice (EANLH) Meter Read Unit (ABLEINH) Portion Installation (ANLAGE) Installation (ANLAGE) Installation Facts (ETTIF) Installation (ANLAGE) Installation (ANLAGE) PM object location (ILOA) Funct Loc # (TPLNR) Funct Loc # (TPLNR) Installation (ANLAGE) Installation (EANL) Installation (ANLAGE) Premise (VSTELLE) Premise (EVBS) Premise (VSTELLE) Connection Object (HAUS) Funct Loc # (TPLNR) Installation (ANLAGE) Sched Master Data for MRU (TE422) Connection Object (IFLOT) Funct Loc # Short Text Meter Read Unit (ABLEINHEIT) Meter Reader (ABLESER) Meter Reader (ABLESER) Installation (ANLAGE) Installation (ANLAGE) Installed Data @ Reg Level (EASTS) MR Document (EABL) Internal ID (ABLBELNR) The SAP object models are somewhat complex, with time-sliced/date-driven data, so dynamically joining and selecting across many tables is a bit slow.. Equip # (EQUNR) Reg (ZWNUMMER) Equip # (EQUNR) Reg (ZWNUMMER) Internal ID (ABLBELNR) MR Reasons in MR Doc (EABLG) Installation (ANLAGE) Logical Reg # (LOGIKZW) Logical Reg # (LOGIKZW) Tech Data for Inst Register (ETDZ) Logical Reg # (LOGIKZW) Logical Reg # (LOGIKZW) Register Relationships (EASTI) Inst. Struct. @ Device Level (EASTL) Logical # (LOGIKNR) Logical # (LOGIKNR) Device History (EGERH) Logical # Equip # (EQUNR) Logical Reg # (LOGIKZW) Dev Alloc for Register (EZUZ) x:\technical team\development\design\phase2 specs\CCS Table Relationships.vsd © 2010 Synactive, Inc. (OBJKEY) Equipment (EQUI) Equip # (EQUNR) (LOGIKNR) (LOGIKNR) (TPLNR) Device Location Notes (ENOTE) Logical Reg # (LOGIKZW) Logical # What we wanted was a de-normalized data cube of all our accounts, starting with the BP (BUT000) and linking over to the CO (IFLOT). Logical # Equip # (EQUNR) Equip # (EQUNR) Device (EGERS) (LOGIKNR) Dev Alloc for Device (EZUG) Version: 2/24/00: 2:13 www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer The SAP ztable Data Cube BUT000 FKKVKP EVER EANL EVBS IFLOT ETTIF The above greatly simplified ERD shows the some of the basic object/tables we used to build out a simple data cube of CCS data. It looks simple enough, but time slicing at the EVER contract is touchy, and we found thousands of “floaters”, that is BP’s and Connection Objects that were created, yet never moved in or used in an actual billing account: dirty data. Important Conceptual Understanding: The IS-U/CCS module is a billing system…therefore the billing facts (Operands) in the ETTIF table are the central point around which everything in the system pivots. The point: the ztable is de-normalized on the billing Operand…each operand gets a separate row. Below is a cut up SE16 screen shot of our ZGIS_APN_DATA table. The zprogram takes 10 minutes to build out the ztable. © 2010 Synactive, Inc. The ztable is used extensively in reports and queries, SQ01, SQVI, etc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Customer Service Rep - Front Line Troops Wanted easy access to GIS info/maps from CIC If CSR needed to view a map, must bring up a separate GIS browser window, then re-look up the property… © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Enhanced CIC with GuiXT GuiXT script puts a layer of new functionality on top of the transaction. © 2010 Synactive, Inc. GuiXT is “built into” SAP gui www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer “Pop GIS” with GuiXT “Viewer” Synactive Viewer is “modal” and sits on top of CIC… Is brought up with simple URL string by Parcel Number view(20,1)(40,50)"http://gisweb.msa.saccounty.net/ParcelDetails/Parcel_Details_Main.aspx?pd=1&APN=&[ParcelNumber]""-floating" • Browser can be easily resized, moved, or hidden… • The “Viewer” session belongs to the SAP session • SAP “Contract” is shown as layer in GIS The denormalized ztable ZGIS_APN_DATA is the basis for the GIS view. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer GuiXT “Input script” can call up another CIC session Web page can be augmented with JavaScript that will call a GuiXT “Input script” ...GIS web page allows for pointing/clicking to a spot on the map 1 The “Select FOCUS” button will bring up the CIC screen 2 3 © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer What if don’t have GIS/ESRI support? Can use Google Maps. Call up Google Map with the X-Y coordinate in URL Reverse “geo-code” (get Lat-Long) IFLOT address (Could store Lat / Long in classification data) Google has a ton of features, including a new “Street View”, …and it’s all basically free… Sometimes has more up-to-date images than county… Must be a “public” site…can’t be behind the firewall. Is all leveraged with JavaScript…taken right from Google examples. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer High Level Google-maps integration steps to CIC Use GuiXT “image” command to bring up internet web page: URL with lat-lng image(0,145.6)"Gmap2.gif""start=http://www.saccounty.net/Focusbutn.aspx?lat=&[zLat]&long=&[zLong]&parcel=&[zParcel]" Second SAP CIC session #3-Input script also launches new CIC0 session. Input Script #1-JavaScript calls input script when user selects a parcel and clicks button, Select FOCUS …passes in Lat & Long from G-map gis_latlng-to-parcel_input_script.txt © 2010 Synactive, Inc. #4-CIC guixt screen script saplcic0.e8101.txt runs. When CIC is launched, the saplcic0.e8101.txt script runs on the new session and: a. reads the local text file, b. populates the parcel number field, And c. then brings up the BP via an RFC. #2-Input script a.) calls RFC get nearest parcel to Lat Long ..then b.) write the parcel to a local text file www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Secret Sauce: Google Point on a Map To SAP Account: Haversine formula…is used to find nearest parcel of land Pick a spot on the map…Lat & Long are selected. A master ztable of all the parcels and Lat-Longs on SAP is then looked up (via ABAP in the RFC of course). The parcel has the Lat & Long at it’s “centroid” which is supplied by a regularly updated interface from the County ESRI GIS system. The RFC does a rough select via a wild card (*) such as 38.67* and 121.32* and get’s all the ‘nearby’ parcels…then loops through the Haversine formula to find the nearest parcel to the selected point….see next page. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer SAP ABAP program code: Overview HAVERSINE FORMULA http://en.wikipedia.org/wiki/Haversine_formula Assume that U = North Pole, and V and W are our pair of X,Y coordinates (note the variable names above do not match that of the program code in this presentation) a,b, and c are the “Great Circle”* distances between U,V and W. * A great circle of a sphere is a circle that runs along the surface of that sphere so as to cut it into two equal halves. The great circle therefore has both the same circumference and the same center as the sphere. It is the largest circle that can be drawn on a given sphere. Great circles serve as the analogue of "straight lines" in spherical geometry. For more information, contact: Chris Twirbutt Senior SAP Developer [email protected] © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer So, how’s it done (technically)? SAP ESRI GIS browser 1. A “zkey” on SAP master data (CO, Device, etc) to GIS 2. Custom GIS intranet browser (e.g. Microsoft ASP) and some JavaScript 3. Synactive GuiXT scripts for the CIC screen 4. A few ABAP RFC’s SAP Google Maps 1. Latitude-Longitude from SAP (look up via ABAP RFC) 2. Synactive GuiXT scripts for the CIC Screen 3. An internet web page with Google Maps API key (v2) 4. Some JavaScript © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Techie details for ESRI integration Detailed power point of scripts, ABAP RFC’s, etc, etc attached: Discussions -> Utilities Industry -> Customer Care and Services (CCS) -> Utilities Industry Forum -> Part II - GIS to CIC screen integration using GuiXT… go to the last posting thread and there's a Power Point attachment... …. Also some video demo’s out on YouTube (apologies for poor video quality) CIC to GIS: http://www.youtube.com/watch?v=kqLOunz2YcY GIS to CIC: http://www.youtube.com/watch?v=AJYSkA9sKuY CIC with Google Maps: http://www.youtube.com/watch?v=VzfpdlrNw3Q Sap to KML and GoogleEarth:http://www.youtube.com/watch?v=lz3cOVcl3fo © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Combining SAP business data with GIS for Managers Combining GIS and SAP business data usually requires significant development. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Leverage Google Earth KML with SAP data KML can have an embedded link to a web page, which is displayed within Google Earth © 2010 Synactive, Inc. Can pull up the SAP account, via the same GuiXT “Input scripts” previously described for CIC www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Some details on Google Earth KML from SAP Structured Approach: - Use ABAP to generate or STRANS (SAP xml transformations) …text is text…but ya can’t always get an ABAP’r …Works only if data is “clean” and “predictable” (e.g. work orders) ….but often complex customer & business data is messy/dirty. Cobble it together yourself (on the cheap) approach: - Just use what you have laying around: SE16, Notepad, Access and Excel Step 1: Download raw data from SAP using SE16 or SQVI Step 2: clean up the data a bit with Notepad (recommend free Notepad++ : http://notepad-plus.sourceforge.net/uk/site.htm) Step 3: Import into MS Access db if necessary to filter, sort or join with other data Step 4: Use Excel to generate the KML Step 5: Zip the KML into a KMZ (recommend free 7zip: http://www.7-zip.org/) © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Links to Google Maps, Streetview, KML development • Google Maps API: – http://code.google.com/apis/maps/documentation/services.html • Highly recommend view demo gallery (I swiped most of my JavaScript from these demos) http://code.google.com/apis/maps/documentation/demogallery.html – Interactive G-map demo’s with JavaScript code: http://doug.ricket.com/gdd2007/ Google KML links Google earth outreach page: http://earth.google.com/outreach/tutorials.html Samples & examples, icons, spreadsheet generator: http://www.emaltd.net/google/gec/utilities/index.asp?l=en&sample=sample •KML book: KML Handbook Josie Wernecke Addison-Wesley ISBN 0-321-52559-0 Google Maps API for Adobe Flex/Flash links: http://code.google.com/apis/maps/documentation/flash/ A support forum: http://groups.google.com/group/google-maps-api-for-flash/?pli=1 © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer GIS Integration: Build vs Buy? Several products/services that integrate SAP and GIS • Example: IMPRESS (www.impress.com) or Cybertech (www.cybertech.com) – Asset and Work Order management RFC Custom Custom ArcGIS SAP Middle ware Commercial ESRI-SDE © 2010 Synactive, Inc. Commercial SAP www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Links to other GIS-to-SAP examples Marin Water: http://www.sap.com/industries/publicsector/pdf/CS_Marin_Municipal_Water.pdf Aramco: http://www.saudigis.org/FCKFiles/File/65_E_MostafaAboughanem_KSA.pdf Belgian Water: http://www.pidpa.be/en/gis/Pidpa%20GIS%20UC2004paper.pdf Solid Waste Management integration: http://www.gisuser.com/content/view/1305/28/ SAP’s “Sagres” project: http://www.businessmap.com/partners/alliances/sap/files/mdm-for-sap-gisintegration.pdf City of San Diego GIS integration: http://www.esri.com/partners/alliances/sap/files/mdm-for-sap-gis-integration.pdf Some older ESRI links: http://www.esri.com/library/bestpractices/using-gis-and-sap.pdf http://gis.esri.com/library/userconf/proc06/papers/papers/pap_2220.pdf http://gis.esri.com/library/userconf/egug2006/papers/project-sagres.pdf SAP presentation centered on Netweaver & utilities industry: http://www.sap.com/community/webcast/2007_03_iuc/pdf/F1_e_K%C3%B6rber_Memminger.pdf © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer So what is Synactive GuiXT? Main web site: http://www.guixt.com/ Developer info link: http://www.synactive.com/ • GuiXT was key integration technology for CIC map solution. • GuiXT client side ‘scripting’ tool for altering SAP screens. – Does not affect the underlying SAP servers/system – Allows rapid ‘WYSIWYG’ development – Integration between SAP & GIS achieved with minimal coding: ~100 lines GuiXT script. • ROI achieved in about 2 months – User licenses, training, etc, etc, ROI achieved in about 2 months – Tying in GIS map was “gravy”…wasn’t even main point of buying it. • Question: Will GuiXT work in ECC 6.0? Yes. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Best Practices / Experience • GuiXT advice: – – – – • Start simple!!! Test scripts with a few end-user’s (cook it in). Get Synactive in to help stand up initial scripts & deployment!!! Knit together SAP processes using RFC’s & GuiXT Google Maps / StreetView advice: – The Google API is constantly improving. – Microsoft ASP was easier than other web development. – – Adobe Flex development appears to very promising (But no Google StreetView API yet for Flex) Google apps sometimes difficult to install behind a firewall • Google Pack, Google Updater are a bit painful/troublesome. Here’s some tips – tricks: http://www.google.com/support/forum/p/earth/thread?tid=7b7c83fc2ab39c4b&hl=en B.) Direct download of older version Google Apps at following URL: http://www.google.com/support/pack/bin/answer.py?hl=en&answer=32610 • Simple KML files: – Create compressed (zipped) KMZ files rather than KML files – Include the icon’s in the KMZ file – Keep file size down (use multiple files if necessary). – KML does not (yet) allow for embedded scripting (JavaScript) © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Key Technical Learning Points 1. Get Lat-Long for physical locations stored in SAP 2. Build denormalized ztables of your SAP data …this pays back enormously 3. GuiXT can be leveraged in multiple ways. 4. RFC’s are a key SAP integration technology. 5. You don’t need a GIS package to leverage map data. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Key Management Learning Points • Sum of GIS & SAP is greater than it’s parts: Multiplier Effect. • Old paradigm “get what you pay for”. New reality: There’s plenty of great open source technology that’s Cheap & Free. • Small groups can innovate without a large IT investment. © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer About Synactive • • • • • • Founders Bundled since 1998 Certified by SAP SAP Support Portal Full complement of Professional Services Enterprise functionality in use by >250,000 end-users © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer 5 Points to Take-Away • Certified, Proven and Bundled with SAP ERP • A Super-Charger approach to make changes to the SAP interface • Minimal maintenance & avoids/minimizes problems with future SAP upgrades • SAP employees worldwide • NO losing support from SAP © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Questions? © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer Upcoming Events Trade Shows • SAP Financials/HR/GRC, Orlando – March 16-19, 2010, Booth #1005 • SAP NetWeaver/BI & Portals, Orlando – March 23-26, 2010, Booth #310 • SAP-Centric EAM, Tampa – March 28-31, 2010, Booth #2 © 2010 Synactive, Inc. www.GuiXT.com Desktop ● Web UI ● Mobile ● Offline ● Developer For More Information: Synactive, Inc. www.GuiXT.com Tel. +1-650-341-3310 [email protected] Download Free Trial: GuiXT.com/freetrial Survey at the end of the meeting © 2010 Synactive, Inc. www.GuiXT.com