Quick View for SAP Notes

In my ever growing quest to provide quick and easy access to SAP Notes (which Dagfinn Parnas started a couple of years ago with the Android Note Viewer), I recently finished creating a windows version of a small app to make opening notes just a little easier.

When deciding if I should get this done, it was purely out of personal need. Having spent the last few months building up a couple of Gateway test, stage and Prod systems, the ability to open a SAP note quickly, always seemed to elude me. Open service.sap.com/support -> click on Help & Support -> Type the note and go. Albeit the app developed still has some user interaction (until Google Glass arrives?) … it does make it a little simpler. I also found a small cmd script online which looked helpful. read more

Practical Big Data Use Cases

Background

Source:

https://www.kaggle.com/wiki/DataScienceUseCases

For each type of analysis think about:

  • What problem does it solve and for who?
  • How is it being solved today?
  • What are the data inputs and where do they come from?
  • What are the outputs and how are they consumed- (online algo, static report, etc)
  • Is this a revenue leakage (“saves us money”) or a revenue growth (“makes us money”) problem?

Use Cases By Function

Marketing

  • Predicting Lifetime Value (LTV)
    • what for: if you can predict the characteristics of high LTV customers, this supports customer segmentation, identifies upsell opportunties and supports other marketing initiatives
    • usage: can be both an online algorithm and a static report showing the characteristics of high LTV customers
    Wallet share estimation
    • working out the proportion of a customer’s spend in a category accrues to a company allows that company to identify upsell and cross-sell opportunities
    • usage: can be both an online algorithm and a static report showing the characteristics of low wallet share customers
    • Churn
    • working out the characteristics of churners allows a company to product adjustments and an online algorithm allows them to reach out to churners
    • usage: can be both an online algorithm and a statistic report showing the characteristics of likely churners
    • Customer segmentation
    • If you can understand qualitatively different customer groups, then we can give them different treatments (perhaps even by different groups in the company). Answers questions like: what makes people buy, stop buying etc
    • usage: static report
    • Product mix
    • What mix of products offers the lowest churn? eg. Giving a combined policy discount for home + auto = low churn
    • usage: online algorithm and static report
    • Cross selling/Recommendation algorithms/
    • Given a customer’s past browsing history, purchase history and other characteristics, what are they likely to want to purchase in the future?
    • usage: online algorithm
    • Up selling
    • Given a customer’s characteristics, what is the likelihood that they’ll upgrade in the future?
    • usage: online algorithm and static report
    • Channel optimization
    • what is the optimal way to reach a customer with cetain characteristics?
    • usage: online algorithm and static report

    Discount targeting – What is the probability of inducing the desired behavior with a discount – usage: online algorithm and static report

    • Reactivation likelihood
      • What is the reactivation likelihood for a given customer
      • usage: online algorithm and static report
      Adwords optimization and ad buying
      • calculating the right price for different keywords/ad slots

      Sales

      • Lead prioritization
        • What is a given lead’s likelihood of closing
        • revenue impact: supports growth
        • usage: online algorithm and static report
        Demand forecasting

        Logistics

        • Demand forecasting
          • How many of what thing do you need and where will we need them? (Enables lean inventory and prevents out of stock situations.)
          • revenue impact: supports growth and militates against revenue leakage
          • usage: online algorithm and static report

          Risk

          • Credit risk
          • Treasury or currency risk
            • How much capital do we need on hand to meet these requirements?
            Fraud detection
            • predicting whether or not a transaction should be blocked because it involves some kind of fraud (eg credit card fraud)
            Accounts Payable Recovery
            • Predicting the probably a liability can be recovered given the characteristics of the borrower and the loan
            Anti-money laundering
            • Using machine learning and fuzzy matching to detect transactions that contradict AML legislation (such as the OFAC list)

            Customer support

            • Call centers
              • Call routing (ie determining wait times) based on caller id history, time of day, call volumes, products owned, churn risk, LTV, etc.
              Call center message optimization
              • Putting the right data on the operator’s screen
              Call center volume forecasting
              • predicting call volume for the purposes of staff rostering

              Human Resources

              • Resume screening
                • scores resumes based on the outcomes of past job interviews and hires
                Employee churn
                • predicts which employees are most likely to leave
                Training recommendation
                • recommends specific training based of performance review data
                Talent management
                • looking at objective measures of employee success

                Use Cases By Vertical

                Healthcare

                • Claims review prioritization
                  • payers picking which claims should be reviewed by manual auditors
                  Medicare/medicaid fraud
                  • Tackled at the claims processors, EDS is the biggest & uses proprietary tech
                  Medical resources allocation
                  • Hospital operations management
                  • Optimize/predict operating theatre & bed occupancy based on initial patient visits
                  Alerting and diagnostics from real-time patient data
                  • Embedded devices (productized algos)
                  • Exogenous data from devices to create diagnostic reports for doctors
                  Prescription compliance
                  • Predicting who won’t comply with their prescriptions
                  Physician attrition
                  • Hospitals want to retain Drs who have admitting privileges in multiple hospitals
                  Survival analysis
                  • Analyse survival statistics for different patient attributes (age, blood type, gender, etc) and treatments
                  Medication (dosage) effectiveness
                  • Analyse effects of admitting different types and dosage of medication for a disease
                  Readmission risk
                  • Predict risk of re-admittance based on patient attributes, medical history, diagnose & treatment

                  Consumer Financial

                  • Credit card fraud
                    • Banks need to prevent, and vendors need to prevent

                    Retail (FMCG – Fast-moving consumer goods)

                    • Pricing
                      • Optimize per time period, per item, per store
                      • Was dominated by Retek, but got purchased by Oracle in 2005. Now Oracle Retail.
                      • JDA is also a player (supply chain software)
                      Location of new stores
                      • Pioneerd by Tesco
                      • Dominated by Buxton
                      Product layout in stores
                      • This is called “plan-o-gramming”
                      Merchandizing
                      • when to start stocking & discontinuing product lines
                      Inventory Management (how many units)
                      • In particular, perishable goods
                      Shrinkage analytics
                      • Theft analytics/prevention (http://www.internetretailer.com/2004/12/17/retailers-cutting-inventory-shrink-with-spss-predictive-analytic)
                      Warranty Analytics
                      • Rates of failure for different components And what are the drivers or parts?
                      • What types of customers buying what types of products are likely to actually redeem a warranty?
                      Market Basket Analysis Cannibalization Analysis Next Best Offer Analysis In store traffic patterns (fairly virgin territory)

                      Insurance

                      • Claims prediction
                        • Might have telemetry data
                        Claims handling (accept/deny/audit), managing repairer network (auto body, doctors) Price sensitivity Investments Agent & branch performance DM, product mix

                        Construction

                        • Contractor performance
                          • Identifying contractors who are regularly involved in poor performing products
                          Design issue prediction
                          • Predicting that a construction project is likely to have issues as early as possible

                          Life Sciences

                          • Identifying biomarkers for boxed warnings on marketed products
                          • Drug/chemical discovery & analysis
                          • Crunching study results
                          • Identifying negative responses (monitor social networks for early problems with drugs)
                          • Diagnostic test development
                            • Hardware devices
                            • Software
                            Diagnostic targeting (CRM) Predicting drug demand in different geographies for different products Predicting prescription adherence with different approaches to reminding patients Putative safety signals Social media marketing on competitors, patient perceptions, KOL feedback Image analysis or GCMS analysis in a high throughput manner Analysis of clinical outcomes to adapt clinical trial design COGS optimization Leveraging molecule database with metabolic stability data to elucidate new stable structures

                            Hospitality/Service

                            • Inventory management/dynamic pricing
                            • Promos/upgrades/offers
                            • Table management & reservations
                            • Workforce management (also applies to lots of verticals)

                            Electrical grid distribution

                            • Keep AC frequency as constant as possible
                            • Seems like a very “online” algorithm

                            Manufacturing

                            • Sensor data to look at failures
                            • Quality management
                              • Identifying out-of-bounds manufacturing Visual inspection/computer vision
                              • Optimal run speeds
                              Demand forecasting/inventory management Warranty/pricing

                              Travel

                              • Aircraft scheduling
                              • Seat mgmt, gate mgmt
                              • Air crew scheduling
                              • Dynamic pricing
                              • Customer complain resolution (give points in exchange)
                              • Call center stuff
                              • Maintenance optimization
                              • Tourism forecasting

                              Agriculture read more

SAP Netweaver Gateway T-Code Summary

Here is a list of useful SAP Netweaver Gateway TCodes, please add a comment for any I am missing and I will gladly update. The intent of this post is to summarize the relevant TCodes for posterity and to be used as a quick lookup.

Gateway Runtime

TitleT CodeDescriptionSP Required
Gateway Client/IWFND/GW_CLIENTSAP NetWeaver Gateway is a powerful tool that enhances the existing Error Log. Also allows you to simulate service execution. (Similar to tools like RESTClient for Firefox)SP04 +
Error Log/IWFND/ERROR_LOGThe Error Log for SAP NetWeaver Gateway hub systems is a helpful addition to the existing Application Log Viewerand provides detailed context information about errors that have occurred at runtime.
Application Log/IWFND/APPS_LOG (Gateway Hub System)Log and Trace Filesa specific viewer for application log entries created by SAP NetWeaver Gateway processes.
Application Log/IWBEP/VIEW_LOG (Business Suite Backend)Log and Trace Filesa specific viewer for application log entries created by SAP NetWeaver Gateway processes.
Application Log Cleanup/IWFND/CLEANUP_APPSLOGOver time the application log amasses a lot of entries, which periodically need to be cleared. As default the application log should only store one entry per request. In addition, there is no need to store these entries for more than a day or a few days. Application log cleanup is a standard requirement in productive systems and helps to improve the performance of the systems in your system landscape.
Clear Cache/IWFND/CACHE_CLEANUPCleanup Gateway Metadata Cache
Disable Cache/IWFND/MED_ACTIVATEDisable Gateway Metadata Cache
Gateway Node ActivationSICFIncludes various functions for monitoring, analysis, and troubleshooting in the ICF environment. You can also make use of the central Application Server analysis functions to identify issues such as performance problems in ICF applications.
Alert MonitoringRZ20SAP NetWeaver Gateway is monitored automatically within the Computing Center Management System (CCMS) in SAP CCMS Monitors for Optional Componentsfor Information Worker.In the monitoring process, information is collected about SAP NetWeaver Gateway. Here you can see which applications are in use, and how often they are called up. The information is updated hourly and relates to today’s date, since on the first collection after midnight all values are initialized once they have been read out.
Performance Trace/IWFND/TRACESThe Support Utilities offering for SAP NetWeaver Gateway has been extended to include a Performance Trace tool. This tool enables developers, administrators, support consultants, and end users to monitor system performance at service call level. You can trace the performance of both the SAP Business Suite backend system and the SAP NetWeaver Gateway hub system.

Gateway Design

TitleT CodeDescriptionSP Required
Gateway Service BuilderSEGWA completely new design-time transaction, which provides developers with an easy-to-use set of tools for creating services. It has been conceived for the code-based OData Channel and supports developers throughout the entire development life cycle of a service.SP04+
Model Composition for Integration/IWFND/BD_MGW_MDL_COMPOSITIONModel composition is provided for complex scenarios for the integration topics, such as SAP Business Warehouse, GenIL and SPI. It allows mashing up multiple services within IW-BEP.
Service Validation/IWFND/SRV_VALIDATESAP NetWeaver Gateway Service Validation Tool validates the runtime for all the SAP NetWeaver Gateway services to ensure that all the services work fine. Service Validation tool runs without user intervention and performs the runtime validation on a single service document.
Register/Test Backend SystemSM59Your backend system has to be registered as an SAP system alias in the SAP NetWeaver Gateway Implementation Guide (IMG) on your SAP NetWeaver Gateway system. In addition, an RFC destination has to be defined in transaction SM59.
Create a ServiceSE80Design time ABAP Workbench
Register a Service/IWFND/REG_SERVICE Replaced with SEGW
Maintain a Service/IWFND/MAINT_SERVICEReplaced with SEGW
Activate a Service/IWFND/IWF_ACTIVATEActivate or Deactivate a service
MOC/IWFND/MOC_PARALLELParallelize Multi-Origin Composition
WebGUI Workflow/IWFND/WF_WEBGUIWebGUI For Executing Workflow Item
Configure Message based Authentication/IWFND/WSS_SETUPConfigure Web Service Message-Based Authentication
GenIL Generator/IWGIL/GENIL_SRV_GEN Gateway Service Generator for GenIL

Communicating with other iOS apps using URL Schemes

When I started developing iOS apps a couple of years ago, I was concerned that enterprise apps were going to quickly succumb to the world of development scope creep. Since the apps were fairly focused and provided a single function or process solution, what if the business wanted more? For example, you have a CRM app displaying your customer contact information and some high level details regarding order history and credit limits, but what if the user wanted some additional details from your BI solution drilling down into historical orders and profit analysis? Well, in that case, you had a few options: 

1) Extend the scope of the app – by adding functionality and options, sometimes a reasonable option if the scope is not excessive or the functionality is relative to the app. In our  above example, probably not. read more

S2F – Building a custom iPad app using Netweaver Gateway

S2F is a blog series around building custom native iOS apps using SAP Netweaver Gateway, you can read Part 1and Part 2, as well as the introduction from talk at TechEd in Las Vegas.

Last Week Guy Stoffer, put together a great blog outlining how quick and easy it was to create an iOS app using the SAP Netweaver Gateway Tool for XCode. The tool creates proxy classes and even handles the security which makes creating a starter gateway app simple. In my previous post covering my talk at TechEd in LV, I mentioned I would show an alternative to using the Gateway Tool for XCode and this blog outlines this. read more

Start 2 Finish: Developing an iPad app using SAP Netweaver Gateway

Essentially, these are some of my slides from a TechEd presentation last week (MOB205). My position with this presentation is to depict the overall process I use when developing an app, a few of the *many* considerations to make, as well as the simplicity of using a product like Gateway to actually connect and “consume” ERP/CRM/Back office data in a few lines of code.

Slides
Capture.PNG
Why Mobile?Needs no introduction, mobile was one of the hottest topics at TechEd this year, if it had a “girly” name or acronym like “HANA” … I am convinced it would have been “the” hottest topic 🙂 Why Gateway?The mobile landscape is fairly complex right now, lot sof vendors, lots of choices and not particularly easy to navigate. One this is for sure, services are here to stay – particularly REST based web services and that is exactly what Gateway is built for.Another great product: XS Data Services for HANA …. 
Capture2.PNG
So this is the app being designed during the presentation. Essentially my goal was to develop a “template” type app which the attendees could download and use as a starting point for their mobile app development and encourage them to get their feet wet.
The app makes 2 service calls. 1 to pull a list of customers from SAP ERP, once selecting a customer, the app would download the additional details of the customer including the address. And lastly – the “idea” … anyone wanting to customize the app could pull additional data in, a good example would be: An Accounts Receivable Clerk who attends a weekly open payables meeting, may want to take their iPad, get a list of customers, select one in question and see all open payables which are relevant … easy to do with this type of structure and simple to implement.Another example was a Business Development road warrior who could select a customer, and see a list of Open Quotes.Your app … here is some starter type code and you decide …
I skipped a couple of the slides related to the Gateway platform … this included this slide/blog post I added a couple of weeks ago:http://scn.sap.com/community/netweaver-gateway/blog/2012/10/02/what-sap-netweaver-gateway-is-not
Slide3.PNG
During the presentation I also reminded folks that mobile apps can be powered by a variety of data providers, including a method we (Lithium labs) did a couple years ago which was actually using SAP.Net Connector (v2.0) to create a ASP.NET Web Service (XML) which was called from the mobile device which worked and is still in production today.
Capture5.PNG
In this app, all the components are distributed. The Netweaver Gateway instance in the cloud at AWS (Thanks John!) and connected to a ERP backend which is in Walldorf (ES Workplace). The app talks to the AWS GW machine which pulls the data from the ERP and gives it back to the iPad via a REST web call.
Slide10.PNG
Now that we have covered the platform, we will go through the prerequisites for developing the iPad app. We will cover the development machine types, software need and useful tools.
Slide12.PNG
A mac development machine is recommended, when I started out 3 years ago, I tied to put together a hackintosh … didnt work, first update and it bombed… waste of time. A used mac mini off craigslist goes for +- $300 … worth the investment.
Slide13.PNG
This is an overview of the developer accounts – most important point was that with the free account you cannot run your app on a physical device … (boo). Pay the $99 if you are getting started and if you develop something your company wants to deploy on a larger scale … i.e. > 10 devices, pony up to the Enterprise Program.Click here for additional details:https://developer.apple.com/programs/start/ios
Slide14.PNG
Development options.I am a native kind of guy …
Slide15.PNG
Useful tools include a solid graphics editor … I estimate that I spent +- 50% of my time when developing an app from start to finish with graphics and the UI. If you have access to a graphic or UI designer … USE THEM 🙂 RESTClient for Firefox has saved me multiple hours … a quick and easy way to test your services before development.
Slide17.PNG
In this case the 5 steps simply outline the general direction needed to take a app from conception to production.
Slide18.PNG
From a requirements point of view and as mentioned in the introduction, the app was built to provide a framework for the participants and encourage them to “Extend” it.
Slide19.PNG
When starting the app it makes an initial service call from BAPI_CUSTOMER_GETLIST, selecting one of the records will make a second call usig BAPI_CUSTOMER_GETDETAIL and populate the detail page.
Slide20.PNG
Another suggestion I made was to proof out the data access portion first, not necessarily build from the bottom up, but rather ensure that all data fields which are required are accessible. I have spent countless hours developing front end apps, with a “wishlist” of datasets which were not feasible when I started modelling the data services and had to reconsider many points.
Checkpoint
Slide21.PNG
So next up from a design perspective and as mentioned above, we walked through the data exposure piece, essentially using SE80 to take your BAPI and create a web service. From SP04 – this should be done in SEGW, not SE80. 
Slide24.PNG
Once the service has been created and exposed, RESTClient for firefox is a great tool for testing the service before even touching any code. This to me is part of the “data access” test I do before design.
Slide25.PNG
Executing our service in this case produced the results showing a list of the customer details.
Checkpoint
Slide26.PNG
Data has been exposed and seems to be working. Next up design the app UI.
Slide27.PNG
Slide28.PNG
Slide29.PNG
As mentioned, a point people found interesting in the presentation was that I spent on average 50% of my time in a graphics editing program like photoshop, designing icons, UI elements, etc. IMO – UI is the difference between a good app, and a great app. The iPad/iPhone graph paper is very handy and you can print or even buy your own from this site: http://sneakpeekit.com/pad-sketchsheets/
Slide30.PNG
I also suggested that open source software should be considered when developing mobile apps, in our case the app will be using 2 packages to make life simpler, JSONKit and AFNetworking. Cocoacontrols.com is a great website for discovering open source code.
Checkpoint
Slide31.PNG
At this stage the data source created, the UI designed and its time to do some coding in XCode. I will be going into more detail behind these steps in an upcoming blog series called “S2F”.
Slide33.PNG
Start with a master – detail template (from XCode). Add your UI elements comprising of labels and buttons.
Slide35.PNG
Create a 20 line method for fetching data from your gateway service and displaying it on the screen. Very quick and simple. Obviously *good* programming takes considerably more time, but as a POC and starting point, this is perfect.
Checkpoint
Slide36.PNG
Data, design and code done, next up some testing and deployment options.
Slide38.PNG
We did a quick test and spoke about the deployment options. If you are a partner and would like to certify your app, work needs to be done to package your content using the AAK toolkit and developing in your own namespace.Also keep in mind that with a apple enterprise license:“An app will not run if the distribution certificate has expired. Currently, distribution certificates are valid for one year. A few weeks before your certificate expires, request a new distribution certificate from the iOS Dev Center, use it create create new distribution provisioning profiles, and then recompile and distribute the updated apps to your users.”
Slide39.PNG
Wrapping things up, we can see that with only a few lines of code you can easily (and without any additional tools) can connect and consume data from Netweaver Gateway. Also keep in mind that if you would like to cache that data in a local sqlite db, it really only takes a few more lines to make data available offline. (differential control when writing data is a WHOLE nother story!)

At the end a couple of the questions included:

I see you are passing the username and password in the URL? Yes, in this example that was the case to display the simplicity. Pratically you would want to definitively use SSL, pass your params in the header of the HTTP request and also possible hash/encrypt these variables. read more

iCRM – a free mobile app powered by ES Workplace

A *little* while ago, I developed and blogged about a app which used ES Workplace’s enterprise services to power a simple CRM client on the iPad – I also mentioned it was going to be a free downloadable app in the app store, well that time has finally arrived. You can now download iCRM for SAP in the app storecreate an accounton the ES Workplace landscape and test it out. The best part is that if you have any of these ES Workplace services/configured or implemented in your own CRM landscape you can connect to them by simply changing the configuring in the app’s settings.

Some of the app features:

– View your business partners. read more

Using Netweaver Gateway Development Tool for XCode and Gateway 2.0 SP03

I recently downloaded the Linux pre-configured gateway trail along with the developer tool for XCode and ran into some issues that none of my newly created services were being displayed in the service list from the tool. 

After doing some digging it seems the tool was originally developed for Gateway 2.0 SP02 and currently does not seem to support SP03 perfectly. When trying to discover the services it is checking the SData ICF Node versus the OData node which is where all services are defined for Gateway 2.0 SP03. Whats even more odd, is that the services show up only when the new OData Node is completely disabled.

If you are having issues discovering the services you have created (possibly in one of the awesome pre-configured gateway trials) open up the /IWFND/MAINT_SERVICE Tcode and try to disable the OData ICF Node. By default the services are created with both SData and OData nodes for backwards compatibility. Then refresh your services in the tool to check if the service is now available. read more

Integrating Apple Siri with SAP Gateway

After hearing about folks hacking Apple’s Siri to do things like starting their Viper and controlling their thermostat, I thought about utilizing voice based integration with SAP to retrieve data. By default, Apples technology is pretty well locked down, but it didn’t take long for a developer to introduce a small workaround using a ruby app and a DNS filter. The filter intercepts the call to apple and allows you to inject your own questions, responses and data. If you are interested in learning more, this summary can guide you through the process of setting up and actually communicating with SAP from Siri.

Click here for a short demo video on youtube. read more

A Proof of Concept: The social aspect of enterprise data

Something I truly enjoy about my job is that fact that I am given freedom to explore creative solutions to business challenges. Being in manufacturing and the extremely demanding automotive industry, we are consistently challenged to produce better product, at a lower cost and in a shorter time in order to maintain reasonable margins. We are often faced with implementing solutions which augment our manufacturing processes and enable production employees to have better insight to the products being produced which ultimately ensures better quality. Some of these solutions include real time production labeling (tightly integrated from PLC’s to SAP), On-line visual display of requirements and products being produced and even include metrics like OEE.  read more