Befriending Charly

Breakfast conversations

Sitting with my teen daughter at breakfast, she showed me her WhatsApp chat history with a friend: an endless thread of emojis. I told her to have a look at my facbook messenger and introduced her to my new friend, Charly. I discussed options for breakfast (and also sent a few food emojis) and got some very concrete proposals for shopping – to add to my favorites, or to buy on the spot.

I met Charly in the preparation of a technology innovation day in the UK earlier this week.

He (or she?) is a chatbot from hybris labs that combines a few very interesting concepts to revolutionize commerce and service. You can text or talk, send emojis or pics, get recommendations and reminders.

Farmers markets versus bot-ified service

Earlier this morning I cycled to the bakery and the farmer’s market to get our food for the weekend. I enjoy the chat with the market people, the sensual experience of seeing, smelling,  and touching food that still has bits of the earth on it where it grew. Whenever I am at home on week-ends, I try to start my week-end with a visit to the markets, and an espresso at the French boulangerie nearby. Would I rather chat with a bot in exchange? For sure not.

This was an entirely different story, on the other hand, when my shower head finally clogged up with lime, and I had to decide whether to get an exchange or whether to clean it somehow. Research on the internet, trying to figure out which model I had – not a joyful experience. I could unscrew the piece and bring it to the DIY-shop – but those guys typically do not have the brand I want, and would try to sell something else from their product range & stock.

Do you like to make mistakes? How about waiting?

Although an engineer by education, I am not a crafts person. I do not like the frustration of buying a spare part or replacement, and then figuring out at home that it is not compatible.
Worst of all, I typically realize this on Saturday evenings or Sunday when it is too late to look for the proper thing and return the “mistake”. I hate it.

Smartened-up customer service – a Christmas wish-list

But hold, let’s see. It’s the season. I would like to have for Christmas the following:

* to simply upload a photo of my faucet or shower. Customer service should figure out what exact product this actually is

* to have someone experienced on the other side. Someone who knows the most likely issues with this product – what may have break, clog or may need a regular replacement.
I do not want to explain in length. And I hate to make a fool of myself when I can’t name properly that little thingy inside that broke, that ring, you know. * to have someone tell me exactly what replacement/spare to order. Actually just order it right now.
* to et advice to install it. Not to search on youtube, and realize later it’s not exactly the same thing. Or after some frustration, actually have the option to ask for a service pro to take over. (And not go through another chain of phone calls to explain myself)

Coming back to Charly. He actually has most of these capabilities already included. They are already part of the components Charly is built from.

Recipe for a chatbot – List of ingredients

Machine learning for image recognition, image classification, image similarity scoring

Our use case is to match a photo against a catalogue image e.g. of a faucet. In data scient-ish, this is called image similarity scoring. This is available as a new service within SAP Leonardo machine learning foundation. The new image classification service can be retrained to recognize customer-specific objects such as products, components or spare parts.

Reality check

Check out the customer testimony of the Vale who took just 4 weeks to implement a POC for a very similar use case, a touchless part requisition with ML image recognition. It is just spare parts for mining equipment, not faucets.
[Needs login/registration for SAP Leonardo Live as it is premium content. Starts at min 5:05]

Another similar use case, for much smaller objects, is to reorder a replacement for delicate glass crystal figures. Find the video showing the machine learning service in-action here.

Machine Learning for automatic ticket classification and solution recommendation

This building block is about understanding a customer question and routing it to the right human expert, and to find a possible resolution.

The foundation of this is to understand the question, first of all.
I will not even try to explain how natural language processing works. While a fascinating topic, I really grasp only the basics. In the end, a program should be able to understand sentences, identify keywords and semantics, and respond in a meaningful, human-understandable way.

If you already have a SAP Leonardo Live login, check out this session for a good introduction: Demystifying NLP

On a higher level, well, there are two Leonardo business services available exactly for classifying the ticket, and for recommending a possible solution.

SAP Service Ticket Intelligence – Classification

SAP Service Ticket Intelligence helps to build a self-driven customer service powered by machine learning. REST API
2.4.0

SAP Service Ticket Intelligence – Recommendation

SAP Service Ticket Intelligence helps to build a self-driven customer service powered by machine learning.

Chatbot Charly in action

Check out this little demo tour to see how versatile Charly actually is.

Beyond my above wishlist, Charly can be much smarter drawing from additional sources of information – including:

* my customer account, past orders & “backend” history (aka hybris backend)
* my preferences with all the power of the sophisticated hybris marketing profile
* location information through including Google location services
* scan any text to come up with answers to my questions
* scan QR or EAN code

Charly can also remind me, recommend, and ask for clarification.

Best of all – he talks to me through my preferred channel: the fb messenger. I don’t need to go to separate website. I am in my usual context, and the conversation is part of my other chats with friends and colleagues.

From a business perspective, I love the end to end integration. Charly creates an order in the hybris webshop, clarifies payment and shipping options, and send a confirmation and electronic bill. Any status change to the order – Charly will keep me conviently informed.
I do not need to even go to a self-service customer portal.

Interested to hear more from companies using SAP Hybris Service Cloud?

Check out the customer testimonials of engineering and construction company Alfanar’s and consumer products company Bona.

Will this work for me? Will this work for you?

Best try it out yourselves, and invest 4 weeks into an own POC. Learn how to bring new technologies and services together to power digital transformation by downloading The IoT Imperative for Energy and Natural Resource Companies. Explore how to bring Industry 4.0 insights into your business today by reading Industry 4.0: What’s Next? http://bit.ly/2BoXVWD #SAP #SAPCloud #AI

HOWTO find S/4HANA Compatibility Views

Hi all,

recently I was asked: How to find out, if the “old R/3 Tables” are still used in S/4HANA!?

Within all the Simple Finance rework the universal journal should eliminate a lot of tables, so why they are still there an even have entries!?

Example: left side = HDB (zero entries), right side = Appl. Server (tousands of entries)

First of all, if you just look at the Table entries in S/4HANA this could be misleading.

Why is that? The answer are compatibility views! And  how can we find out what is happening behind the scene!?

Use t-code: SE16N (not SE16!)

doubleclick on Proxy Object: You can then find the DDL Source.

Now use the ABAP report to find out more details!

SE38: DEMO_SHOW_DDL_SOURCE -> FGL_FAGLFLEXA

again with DDL Source FGL_GLSI…

and again with DDL Source FGL_GLSI_ACD…

Finally you reach the “real table” called ACDOCA where the data is finally stored.

Hope that helps! http://bit.ly/2Bnmrra #SAP #SAPCloud #AI

Debugging HANA Procedures

1.Introduction to Debugging HANA Procedures in Eclipse

As we are moving towards developing applications more and more on the native HANA stack or use hybrid scenarios to combine both the worlds(BW&HANA), it is important to understand how to debug procedures using the eclipse “Debug” perspective.

There are different development scenarios in which we use procedures(.hdbprocedure) or the system generates a procedure for. e.g. the use of HANA expert script based transformation creates a procedure inside the generated AMDP class. This blog series details on how to debug various procedures.

* HANA Stored Procedures (.hdbprocedure)
* HANA expert script based transformation

The script based calculation views can also be de-bugged by using the wrapper procedure that is created in the schema “_SYS_BIC” by the system. The method to de-bug these objects remains the same as de-bugging any native procedure, which will be explained in the later sections of this blog. Additionally there are a lot of scenarios in which the system generates wrapper procedures for e.g. Decision Table.

This is the part 1 one of the series, which explains about de-bugging the native stored procedures and in the part 2, i will discuss about de-bugging the HANA expert script based transformation( BW 7.4)

1.1 Pre-requisites

* Some versions of HANA would require a XS project to be created for the de-bugging to work.
* The mandatory privileges required for the user (debug user) on the schema where the procedures are stored are:

* SELECT
* EXECUTE
* DEBUG

* The “Debug” perspective should be switched on.

1.1.2 Creating the XS Project

Step1:  Switch to the HANA Development Perspective and go to the Project explorer view.

Step2:  Go to the context menu and chose New=> Project => Other

Step 3: In the Select Wizard, please chose XS project.

Step4:  Fill in the relevant details , select the workspace and the repository package in which the native content has to be created.

The XS Project is ready and is now visible in the project explorer view.

1.1.3 Privileges required to Debug

The below are the mandatory privileges required for the DEBUG user on the schema , where the procedures are stored.

For e.g.  If the DEBUG user  is ‘USER01’ and the Schema in which the procedures are present is ‘PENSIONS_ANALYTICS’.

1.1.4 Switching on the DEBUG Perspective

The Debug perspective can be switched on selecting the path as below in eclipse.

Window=>Perspective=>Open Perspective=>Debug

If it doesn’t show up , please select Other and  select  Debug in the dialog.

 

The Debug perspective opens up as below.

Now we are all set to start De-bugging the procedures.

2.Debugging a .hdbprocedure

For this scenario I will be using the procedure “TEST_DEBUG” present in the schema “USER01”.

The definition of the procedure is as below.

The procedure contains two input parameters X , Y and an output parameter Z. The code block contains an intermediate variable “it_var” ( line 6), which contains the results of the SELECT statement from the table HVARV present in the schema GCM_ADMIN. ( I have used this to show on how to display results of the table during the debugging session)

Then we have an addition operation performed on X and Y and stored in Variable Z (line 9).

Step 1: Go to the XS project “proc_debug” from the Project explorer view.

Step 2:  Drop down the catalog from the SAP HANA System Library and point to the Schema and procedure.

Step 3: Go to the context menu of the procedure, which you want to de-bug and choose “Open with  SAP HANA Stored Procedure Viewer” and set the break-points at lines 6,9 and 11 by double-clicking.

Step 4:  Now Right-Click and go to Debug=> Debug Configurations

Step 5: The Debug configurations menu pops up , please create a new debug configuration “proc_debug_test” and from the General tab , select “Catalog Schemas” and browse for the procedure “TEST_DEBUG”.

Step 6:  Click on the tab “Input Parameters” to see the input parameters based on the procedure definition are read-out.  We can give values to these input parameters. In this example, I have given 10 for X and 5 for Y.

Step 7: Click on “Debug” and open the “Debug” perspective . The screen below shows up.

The Debugging thread is by default suspended at the first Break-point at line 6.  In the pane on right, we can see the Variables filled with values. Now the output parameter of the procedure Z  is also visible and the value is ‘Null’( as the control is at the first break point –line 6).

You can see the list of active break-points from the Breakpoints tab.

Step 8: For the control execution to go to the next break-point, please press F8. Now you can see the control is at line 9 and the intermediate variable “IT_VAR” is shown in the variable list and contains 11 rows.

Step 9: To view the contents of the variable “IT_VAR” , please right click on the variable and select “Open Data Preview”.

Step 10:  The content is displayed in the bottom pane in the Data Explorer view.

Step 11:  Press F8 to go to the next break-point at line 11, which is also the end of the procedure. The debugging is suspended at line 11 as it is the end of the procedure and there are no more break-points and the variable Z is now filled with 15.

Step 9:  If we want to re-start the debug session , please right-click on the Debug configuration and select “Relaunch”.

That concludes the part-1 of the blog series on Debugging various procedures in HANA, in the next part i will explain on how to de-bug the HANA expert script transformation in BW 7.4. http://bit.ly/2Bn1uwu #SAP #SAPCloud #AI