Download - HANA new
-
C_HANAIMP141
SAP Certified Application Associate (Edition 2014) - SAP HANA Associate Level
C_HANAIMP151
SAP Certified Application Associate - SAP HANA (Edition 2015) Associate Level
C_HANAIMP142
SAP Certified Application Associate - SAP HANA (Edition 2014) Associate Level
-----------------------------------------------------
ha360 Hands on Lab
ha200 SAP HANA - Operations & Administration
ha240 Authorization, Security and Scenarios
ha250 Migration to SAP HANA using DMO-BASIS-Software Update Manager (SUM)
OMIG01 OKP Standard Migration Procedures for SAP Systems to SAP HANA
-
OHEC SAP HANA Enterprise Cloud
OHAC10 OKP SAP HANA Cloud Integration 1.0
HA300E SAP HANA - Implementation and Modeling
HA200E SAP HANA - Operations & Administration
DS10 Data Services - Platform and Transforms
CLD100_09 Cloud Solutions
---------------------------------------------------------------------------------------------------------
Certification
C_HANAIMP141
C_HANAIMP142
C_HANAIMP151
http://scn.sap.com/community/training-and-education/certification/blog/2012/12/06/how-to-prepare-
for-a-certification-exam-in-5-simple-steps
https://open.sap.com/course/hana1-1
HA150 SQL Basics for HANA
TZHANA
---------------------------------------------------------------------------------------------------------
ha100 SAP HANA Introduction
ha300 Implementation and Modeling
HA350 data Provisioning
ha900
hana 360 IN 151Certification
=--------------------------------------------------------------------------------------------------------
C_HANAIMP141
SAP Certified Application Associate (Edition 2014) - SAP HANA
1. Data Provisioning > 12%
2. Security and authorization 8% - 12%
3. Optimization of Data Models and Reporting 8% - 12%
-
4. Data modeling - Analytical views 8% - 12%
5. Data modeling - Calculation views 8% - 12%
6. Advanced data modeling 8% - 12%
7. Administration of data models 8% - 12%
8. Reporting < 8%
9. Data modeling - SQL Script < 8%
10. Data modeling - Attribute views < 8%
11. Deployment scenarios of SAP HANA < 8%
12. SAP HANA Live & Rapid Deployment Solutions for SAP HANA < 8%
---------------------------------------------------------------------------------------------------------
SAP HANA Architecture
SAP HANA Studio
SAP HANA Modeling
SAP HANA Security
SAP HANA Data Replication
SAP HANA Data Provisioning
Different types of Connectivities in SAP HANA
SAP HANA SQL
SAP HANA Administration
HA and DR in SAP HANA
SAP HANA development objects
SAP HANA Reporting
SAP HANA (SPS09)
SAP HANA - Implementation & Modeling (SAP HANA SPS09)
SAP HANA - Administration & Operations (SAP HANA SPS09)
SAP HANA - Development (SAP HANA SPS09)
SAP HANA - Data Provisioning (SAP HANA SPS09)
SAP HANA Cloud, Reporting & Frontend (SAP HANA SPS09)
-
SAP HANA (SPS08)
SAP HANA - Implementation & Modeling (SAP HANA SPS08)
SAP HANA - Administration, Operations & Support (SAP HANA SPS08)
SAP HANA - Programming (SAP HANA SPS08)
SAP HANA - BW on SAP HANA (SAP HANA SPS08)
The HANA Modeler tools are actually developed by another team in India, whilst the developer-centric tools are
developed in Walldorf, Berlin and Israel.
Developer License expired? You can get a new one. This is how.
http://scn.sap.com/docs/DOC-31036
http://scn.sap.com/docs/DOC-59800
http://scn.sap.com/community/gateway
Products built on SAP Gateway
SAP Microsoft Interoperability
SAP Fiori
SMP 3.0
SAP HANA Academy - YouTube
http://get-sapebooks.blogspot.com/2013/07/ebooks-download-sap-hana.html
https://www.facebook.com/sapebooks/posts/649069205140665
http://ebooks-sap.blogspot.com/2012/03/sap-spc-certification-material-download.html
http://hitfile.net/1e7E/HA100 - SAP HANA Introduction(Col99).pdf.html
http://hitfile.net/CYmm/HA300 - SAP HANA Implementation and Modelling(Col99).pdf.html
http://hitfile.net/0mL5/HA350 - Data Provisioning(Col99).pdf.html
http://hitfile.net/J6w9/HA360 - SAP HANA - Hands-on Lab(Col99).pdf.html
http://scn.sap.com/community/developer-center/hana/blog/2013/06/25/want-to-learn-sap-hanawhere-to-
startcertification
-
http://help.sap.com/hana/SAP_HANA_XS_Unit_JavaScript_API_Reference_en/index.html
http://scn.sap.com/people/thomas.jung/blog/2012/02/23/developers-journal-first-steps-into-the-sap-hana-
world
http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
Languages
SAP UI5 SAPUI5 Developer Center
JOSON http://www.w3schools.com/json/default.asp
XML
JQuery http://www.w3schools.com/jquery/ or http://learn.jquery.com/
Java Script http://www.w3schools.com/js/ or http://www.javascriptkit.com/
HTML 5 http://www.w3schools.com/html/html5_intro.asp or http://www.html5rocks.com/en/
SQL - Learning SQL, 2nd Edition
ODBC
JDBC
SQLScript
ABAP for HANA AMDP, CDS,
Code Push Down,
HANA BW
BO
BOPF
-
BRF Plus
Odata / REST http://www.odata.org/documentation/odata-version-4-0-may-2013-public-review/
Analytics Views
OData and REST based services. We knew what we wanted to deliver and we shipped it all in SP05.
What's this XS engine all about?
The XS engine is a whole application server, web server, design time and runtime for HANA. It's an alternative - and
it's valid to consider using ABAP, Java or .Net for the application server layer - but as we start to use HANA more of a
platform and push more logic into the database, and it makes the app server layer thinner, we can just use it for some
comparative logic or service enablement. Then it makes sense to move more layers into the HANA platform.
We remove layers, improve technical performance by reducing the number of network hops and reduce complexity,
reducing TCO.
http://scn.sap.com/docs/DOC-31723
http://scn.sap.com/community/gateway/blog/2015/04/20/creating-odata-services-out-of-cds-views
The Road to HANA for Software Developers
Introduction
The purpose of this blog is to show how HANA Artifact CDS view can exposed as Odata service to consumer.
1 CDS (Core Data Services) Views
CDS(Core Data Service) views is the newest kid in the block in HANA . It allows you to do much more compared to
classical view
Push Code to Data Base layer by allowing queries ,calculations and imperative statements at the DB layer(instead of application
service layer)
Allows you to add associations with other business entities/tables
Annotations to semantically describe your data model
-
I am not going to get vociferous about CDS because there is enough documentation already available .
Please refer this ABAP on HANA open sap course for more details.
https://open.sap.com/courses/a4h1
For creating CDS views there are some prerequisites
Eclipse should be installed
ADT(Abap Development Tools) add on should be installed
SAP NetWeaver AS ABAP 7.4 SP05 or higher running on a SAP HANA database SPS6 should be available
The ABAP system in which I am trying is NW7.4 SP8 system
Once we are done with prerequisites , we will create a CDS view .
This CDS view will join tables SNWD_SO(Sales Order) and SNWD_BPA (Business Partner) and find out sum of
invoices whose gross amount is greater than 10000000.
1. @AbapCatalog.sqlViewName: 'ZDDLS_CDS_AGGR'
2. @EndUserText.label: 'CDS view for aggregation'
3. define view Zars_Cds_Aggr as select from snwd_so as so
4. inner join snwd_bpa as bpa
5. on so.buyer_guid = bpa.node_key
6. { key bpa.bp_id as BusinessPartner,
7. bpa.company_name,
8. sum( so.gross_amount ) as Total_Gross_Amount,
9. so.currency_code
10. }
11. group by
12. bpa.bp_id,
13. bpa.company_name,
14. so.currency_code
15. having sum(so.gross_amount) > 100000000
Here you can see there are two views - The View ZDDLS_CDS_AGGR is DDLS(DDL source view) name which can be
viewed in SE11 and this object is integrated with the CTS (Change and transportation system) .The other
viewZARS_CDS_AGGR is the CDS view name
Now we will check the results of the CDS Views. We can do it in two ways
a Open Data preview of CDS view in Eclipse
-
Now the results
b You can see the result in classical se11 transaction also. But this time we should give the DDL SQL view name
ZDDLS_CDS_AGGR
-
ZARS
2 Data Modelling in Gateway Builder
As we are done with CDS view building , we will move to Gateway data modeling part . The good thing here is we
don't need to switch to GUI for Gateway builder transaction. We can run the SEGW transaction from eclipse itself as
an embedded GUI. Just press CTRL+SHIFT+A and give SEGW .
We Create data model based on DDLS view ZDDLS_CDS_AGGR
-
Click on Next button
select the properties we want in the entity( ignore the MANDT field)
-
Here we can see the property names of the entity has been automatically adjusted (Camel case) and we need to
mark the Business Partner as the key property of the entity
Press finish to complete the data model part
3 Service implementation
Now we are done with Data model , we look into the data provisioning part.
Here we give the data source name as CDS view name ZARS_CDS_AGGR
Right click on the entity set SalesAggregationSet under service implementation and select Map to Data source . The
important point here is we are not mapping the GetEntitySet operation of the entityset but the entityset itself.
-
We have to select type as Business Entity and use F4 help to select CDS view ZARS_CDS_AGGR.
We then do the mapping of Entity properties with the CDS view fields. Strangely propose mapping button seems to
be not there
-
Generate the model and do the service registration
4 Testing
Now we head to GW client for testing . We test the SalesAggregationSet.
In the above case we have not implemented the query operation but we use the URL of the query operation to get
the CDS view results .
One more thing that comes free is the read operation .No separate implementation of READ (GET_ENTITY)
required.
So if We put the below URL
/sap/opu/odata/SAP/ZARS_CDS_SIMPLE_SRV/SalesAggregationSet('100000014') also, we get the results
-
Conclusion
ABAP is not only 'ABAP' right now . For a complete End to End scenario , now we need to proficient across three
layers (ABAP,Gateway,UI) which seems to be close to impossible . But as grey haired 'Abaper' , it is required that
we at least keep up to date with how ABAP is evolving itself for HANA DB and how its pushing the changes in
Gateway layer. The easiest solution will be to ignore all the changes happening around us and stick to the old
classical style. But that will be a gap too big to bridge
OK, I know this is a cheesy title - but as I am writing parts of this from my hotel room during my
annual kiteboarding trip to Maui, I just could not resist...
Numerous product overview documents, "Getting Started" guides and link collections have been published on SAP
HANA (1, 2, 3, ...). So you might ask yourself: "Is this yet another one of those??".
Yes, indeed. This is yet another one.
What's different here, this document is meant solely for developers and it doesn't even try to cater to CIO's, system
architects, business experts, database admins and alike. If you're not a developer (or consultant building data-centric
applications for your customer; or a data analyst), you may still get something out of this collection, but maybe you
won't. If you are a developer (and you probably are, because after all you came to the SAP Developer Center), I hope
you will find this useful...
So what would you have to read, watch, use to get up to speed with SAP HANA when you're a developer? I hope I
found the most relevant documents. If I missed anything, let me know in the comments and I will update the list.
Pre-Requisites
-
At it's very core, the SAP HANA DB is "just" a relational database. It really is so much more, but before you dive into
that, make sure you know your SQL. So make sure you have the SQL 92 Specification available, and if necessary, find
a SQL tutorial on the Web - or let me Google that for you.
First Steps
It all starts with Hello World. So let's get done with that: on HANA, you would write is as
SELECT 'Hello, World!' FROM DUMMY;
OK, looks easy. Only one problem - maybe you don't have a HANA box to follow along... Well, you came to the right
place!
You can get your own HANA DB server, running on Amazon Web Services. No license fee, you just pay AWS for the
hosting cost.
If running your own HANA on AWS sounds like too much of an investment for now, there is even a completely free
option - a free 30-day trial of SAP HANA, including some of the frontend tools such as Business Objects Explorer or
Visual Intelligence. There's a brilliant blog SAP HANA Developer Access Beta program - get the best out of your test-
drive! by community member Ronald Konijnenburg that will help you get started on the trial.
So now that you have absolutely no excuse for not following along, what are the documents you should read first?
If highly recommend to start with the SAP HANA Database - Development Guide onhttp://help.sap.com/hana_appliance (the
official product documentation page). This guide provides a solid architecture overview and a tutorial that covers data
load, modeling techniques, SQLScript basics and even some hints for performance optimization. Plus, the HANA
team keeps the document up to date and in sync with the latest product revision. So make sure you check frequently
for new versions of the document. BTW, the HANA trial mention earlier has the sample data set used in the
Development Guide already loaded. So you can jump right into modeling...
Done with the first tutorial? Maybe you want to try a little bit yourself now. Let's spend a little more time with SQL,
modeling and SQLScript before moving on to more advanced topics. The SAP HANA SQL Reference Guide will
certainly make it into your browser favorites list. I prefer the HTML version, but the SQL Reference Guide is available
inPDF format, too.
Modeling is covered in the SAP HANA Modeling Guide, and in case you need to program Calculation Views or Stored
Procedures using SQLScript, the SAP HANA SQLScript Guide is what you need.
Prefer some more guidance? Or maybe you like a recording better than reading through a looooong document?
Check out the HANA Academy - you will find short videos that show you "how it's done". There is already a nice
selection of video tutorials, and growing. HANA Academy a cornerstone of the HANA Distinguished Engineer
Programand is meant to take you from your first steps all the way to HANA mastery.
Speaking of "mastery" - it's probably time for your next steps now...
Getting to the data...
When working with a database, sooner of later you will face the problem of how to get data in and out. Let's start
with"in":
-
The easiest way to get some test data into HANA as a developer, is to just upload it from a CSV or XLS file in HANA Studio. It's
probably so easy that it doesn't deserve any special documentation. File > Import... > SAP HANA Content >
Date From Local File. That's all you need to know.
The easiest way is quite often also the least flexible way and comes with limitations. E.g. as of SPS04, the data upload from
HANA Studio will fail when there is problems with the data. The db commit is for the entire file and it doesn't write any
meaningful error logs. So if it works, it's great and simple, if it doesn't, it provides little information on what went wrong. Also,
it's better suited for relatively small files. But - you can also upload data that you store on the HANA DB server (or any remote
disk that is mounted on the HANA DB server via NFS or alike). The SAP HANA SQL Reference Guide has the latest
documentation on the SQL Statement IMPORT FROM, and that's exactly what you need. The video blog How to load CSV files
into HANA is a bit outdated (e.g. you don't need those control files any more), but gives you a nice head start.
Moving from a one-off upload of some test data to continuous data load, you might want to try an ETL tool. SAP bundles SAP
Business Objects Data Services (BODS) into SAP HANA Enterprise Edition (and upwards). BODS lets you move data from all
kinds of sources (files, databases, ABAP backend systems, ...) into SAP HANA. As far as BODS is concerned, HANA is just
"another database" - so your best starting point is the BODS documentation on http://help.sap.com/bods. But there's even more:
e.g. check out how you can call HANA Stored Procedures from BODS here
Now, when you are approaching HANA from an SAP Background, you will most likely want to know how to move data over
from a Business Suite backend system. Data Services works (see last bullet point). But you want to get the real real-time feeling
and replicate data from an ABAP system at the very second it changes. The tool SAP HANA uses for read-time data replication
is called "Landscape Transformation" (because it existed before HANA and has never been rebranded in the HANA context.
Quite unfortunate if you ask me...). The Landscape Transformation (LT) Replication guides (Technical Operations
Manual and Configuration Guide) show you how it's done. As of now, SAP does not offer any developer licenses for BODS or
LT - so if you want to get experience with these, you would either have to attend a training class or find a license at your
company or customer.
And of course, you can use the various client SDK's to build you own data load programs. Install the SAP HANA Client and you
will get drivers/SDKs for JDBC, ODBC, Python ("not supported"), ABAP and more. You will need those client drivers and I'll
point you to relevant documentation in the next section...
Programming HANA Client Applications
SAP has already a lot of HANA Client Applications available for you. The "biggest" one is most certainly BW on
HANA. The most interesting ones for developing analytical applications are probably our BI tools: SAP Predictive
Analytics,SAP Visual Intelligence, the BI Platform 4.0.
But there's even more for developers: HANA comes with client libraries for various popular programming
environments. You can use these libraries (e.g. the JDBC and ODBC libs) to connect 3rd-party BI frontend tools to
SAP HANA - just like Ronald Konijnenburg connected HANA to Tableau and Tibco Spotfire.
And you can also use these client libraries to program your own applications:
JDBC is described in the SAP HANA Database - Development Guide - and you should of course have a basic understanding
of JDBC
ODBC/ODBO is mostly associated with showing SAP HANA Data in MS Excel - but of course you can also use it as a
programming interface. Maybe Blag's efforts to Bring some Euphoria to SAP HANA inspire your own experiments (strong
suggestion: follow Blag on SCN)
Although it's not officially supported (so try at your own risk, and not in production environments), HANA also comes with
Python drivers, implementing the Python Database API. Again, it's Blag who can get you started with this in SAP HANA and
Python? Yes Sir!
And of course, SAP never forgets where we come from: you can use SAP HANA from ABAP. Yes! When it comes to ABAP,
there's only one Thomas Jung. Luckily, Thomas has joined the SAP HANA Product Management team, he is now writing about
HANA and he has not yet forgotten his ABAP - as you can see in Developer's Journal: ABAP/HANA Connectivity via
-
Secondary Database Connection and Developers Journal: HANA Catalog Access from ABAP (another strong suggestion:
follow Thomas Jung on SCN)
Built your first own application on top of SAP HANA? Great! Let's make the final steps towards HANA mastery and
see how you can hack the heck out of SAP HANA:
Advanced HANA Programming
I mentioned earlier that HANA is "so much more than a relational database" - let's look into some of the more
advanced topics:
Did you know that HANA supports full-text search and hence can bridge the gap between what is commonly referred to as
"structured" (tables with fields as you typically find it in relational databases) and "unstructured" (just text) data? The Fuzzy
Search Developer Guide provides information on how to - well, the title says it all - how to do fuzzy searches on text data
One of the most interesting features of HANA is the integration of statistical functions (the so-called Predictive Analytics
Library - PAL) and business functions (Business Function Library - BFL) in the core of the database. Check out
the Predictive Analysis Library-Reference Manual and the Business Function Library Manual.
[I highlighted this section, because in my humble opinion, this is about the coolest part of SAP HANA. HANA has create
potential as a lightning fast database - but these libraries are a great example for SAP HANA being more than a database.]
Except for writing the wrappers around PAL/BFL, don't worry too much about the L-language at this point. It will most likely
undergo significant simplification before rolled out to a broader developer audience (if at all). Future versions of PAL/BFL calls
will most likely not even need those wrapper anymore, but be integrated more naturally in SQLScript.
In case the PAL doesn't provide the statistical analysis function you want to run on the data - you can be quite sure the popular
statistical programming language R will. So if you are really into math, check out HANA's R-integration. For licensing reasons,
we cannot bundle R with HANA, but it's quite easy to install - the HANA Documentation has a guide for that, and my
colleague Blag has written a blog to make your first steps very easy.
Where to go from here
Well, if you worked through all this material, you must be a HANA Guru by now (and if you still want to learn more
and read, read, read, here is a collection of even more documents that you can download and work through). I must
also assume that you do have additional practical experience with HANA implementation projects, because you
wouldn't spend months of your life learning some technology that you don't apply to real problems.
So I guess you'd be a perfect candidate for the HANA Distinguished Engineer program. So share what you know right
here on the HANA Developer Center, contribute to the HANA Academy, get some recognition and build your own
personal brand in HANA-land. You can be sure that good things will happen for you...
Hey, and what in case you out-grow the pure developer instances and you (or your company) want to go live with
HANA? Or you want to become an SAP HANA Partner? http://www.experiencesaphana.com/ is where you want to go:
You'll find information on the business value of SAP HANA, Customer Success Stories and a whole lot more, and you can
contact the SAP HANA Sales team
You'll find pointers to SAP HANA One, and offer that allows you to operate SAP HANA on Amazon Web Servicesin
production! And it's even self-service, you will never have to pick up the phone and talk to a sales representative (if that's not
your kind of thing).
And you'll find information on how to join the SAP HANA Partner Program.
-
And last but not least: this summary of resources is my personal selection - I may have missed some great
documents. I may have mis-judged some documents. And I may have intentionally left out some documents because
of my own bias. So help me complete the list by pointing all of us to more interesting stuff (please, please: limit the
suggestions to resources that are interesting for developers. "How to configure High Availability with HANA and xyz
storage technology" is a fascinating topic, but not relevant when you're building an application) in the comments.
Have fun with SAP HANA!
Print documents from SAPUI5 Introduction
This is a quick blog explaining how to generate a print from SAPUI5 application . We currently have the flexibility to
generate print from the back end system. For an ABAP back end system with SAPUI5 front end , we can generate an
excel file or a PDF file from back end and push it to the browser so that the user can download it or take print out
manually . The same technique is applicable for other (supported) back ends as well. Here, i am completely forgetting
about the back end server , and thinking of generating the printouts from the browser using javascript .
Benefits
1. Printout will be rendered in the browser
2. Data is not transferred to the back end system to generate the document and push back to the client.
3. Include SAPUI5 controls directly into the output, like charts, tables etc .
Theory : The theory behind here is , we can print html document using javascript Window print() Method
Step 1: Create a SAPUI5 application project in Eclipse , create a view and develop your UI5 application ( These steps
have been discussed multiple times , so i am not discussing it here again ).
Now my application looks like the below. I included some header data , a table with stock information, and followed
by a graphical representation of profit percentage .
-
When the controls are rendered , corresponding HTML code will be generated . So , if we want to include any
SAPUI5 standard controls, we should get the rendered html content.
Below is the print format which we are now going to design .
Now we will think of some HTML stuffs . All the header information can be rendered using plain HTML tags ( using
, etc ) and the table can be created in our choice using the html tag . Graph html code can be
taken from the rendered HTML DOM and insert into our print document. In the controller , i am defining a function
which accept the JSON data for the header and the table ( for the header and the table ) .
-
In the above code snippet, i am creating the HTML code corresponding to the output expected . HTML DOM for the
chart is read using the outerHTML variable from the document . Using the generated HTML string, a popup is opened
and the same is printed .
And here comes your document
Lazy to write the HTML tags for the print out ?
-
This is for lazy people Are you not confident enough to write the HTML for your print out ? SCN is there to help
you .
Step 1 : Create a blog or document in SCN.
Step 2 : Go to MS Word , and draft your output ( for eg , i am creating a table )
Step 3: Copy the table, and paste it in the content editor , and go to the html version (right side, top )
Here you will get the HTML code . You may need to clean the code based on your requirement . There are many free
internet services available to create HTML from MS Word contents .
Happy coding
Sreehari
SAPUI5 Best practises- Dos & dont dos
ntroduction hde
SAPUI5 and SAPUI5 based applications have pitched into market now. SAP FIORI is one of such application
which is running on netweaver gateway, and there is many such running on SAP HANA XS as well. Here I am trying
to explain you my experience on creating SAPUI5 application with some best practices along with important dos and
donts dos with this quick document.
UI Validations
We used to validate the inputs given by the user in the client side itself sometimes; for example, the email ID
format, number format, age limit, date range, age calculation from date of birth etc. It is always good practice to
implement such silly things in the UI level itself. But, are they really silly? I should say NO. Because, anyone can
-
debug the page and change the validation rules in run time and fake them to end up in a wrong validation or
calculations. So we cannot trust it all the time.
What we should do: If there is a validation logic implemented in the UI, same logic has to be implemented
in the affected Odata services also. For example, the email id structure validations. Even if anyone changed it in the
UI and changed the rule, he will not be able to do it from the netweaver gateway or XS. Implement it there also
(This best practise is applicable for all the web applications). This check is applicable for all the
configuration/master data loaded in the UI also.
CRUD Operations
OData supports CRUD operations, which have been discussed in multiple documents and I am not talking about the features and why we use CSRF token validation etc. I have seen couple entity model updates/deletion logics implemented in GET_ENTITY and GET_ENTITYSET methods by managing the input data with filter value. Never do this. We got beautiful architecture and Odata Model API to manage the CRUD operations smoothly. C, U and D operations should be managed using the corresponding methods (in case of netweaver gateway) provided by the OData protocol and SAPUI5 OData Model APIs. Avoid using direct Ajax calls, if possible.
Login to the application
In most cases, when we start exploring a UI language, the first screen we develop will be login screen. For
learning purposes it is fine, but never develop custom login screen for a productive UI application. For netweaver
gateway applications, once we deployed it into the BSP container, application will inherit the BSP login or portal login.
In case of FIORI apps, we will get the beautiful FIORI login page.
-
Internationalisation (i18n simply)
No story here . Never develop applications by hard-coding the description texts. Apply i18n where ever
applicable.
UI version in Eclipse
One of my friends developed an end to end SAPUI5 application locally in eclipse, where there the UI component
version was 1.22.*. On completion, he shared and activated the project in ABAP repository where the UI5 version
was 1.16.*. Some of the controls and features did not work properly there and it took around 2 weeks to fix the
problems.
Bottom Line: periodically, share and activate the project to the server (ABAP or XS), to avoid such problems in the future. Or, you can keep the same Ui5 version in both Eclipse and server.
User specific GUI?
-
Sometimes it will be important that the page the user sees should be corresponding to his roles (or some back end configurations or conditions). We can imperative statements in the UI side before loading the specific UI to the screen (sometimes a graph, or a page, or a tab in the tab strip). Remember that, whatever you are writing the UI can be debugged and trick the logic you have written. As I said before, check the user authorizations from the back end (Odata side), before loading the data. In that case, even though he could make the unauthorized UI loaded in the browser, he will not be able
to see the data. We tricked him back
Something from OData side
When you write Odata implementations (in case of NW GW), implement all the possible features (like paging and filtering). This makes the OData consumption from SAPUI5 side easier. Think twice before returning all the records for an entity (wild card is still a nightmare). Even though we are using paging while consuming from the UI5 application, it is very much possible to execute the Odata URL separately using a REST client (sometimes I feel like to call this GET operation in a loop to crash the
system downJ ). If we have written the logic to return all the records, it will be a bad approach. So, always limit the number of records. In case of XSODATA (SAPHANA), never expose transaction tables directly via odata. Create information models or views to limit the columns and expose them instead. Sometimes, a GET operation (with multiple records GET_ENTITYSET in GW) is triggered only via association calls. For example, purchase order items are fetched based on a particular purchase order number. Here, the we can limit the Odata call for the PO items such that, it will give you the items only if there is a valid navigation exists. The benefit is, no one will blindly execute selection with wildcard on EKPO (item table) via OData calls.
General thoughts
Never make Odata calls in loops. Design the Odata service properly instead.
Use OData models instead of normal Ajax calls. Odata Models are tightly integrated to the UI5 controls also. When the data
changes, all the controls will be updated automatically.
Remove all the commented codes Otherwise, all the time it needs to load them from server to client and it is a waste of
bandwidth usage.
Destroy complex controls after the usage.
Stick on the MVC architecture. Never go for Odata calls from the view.
Use relative paths for web resources Otherwise you will struggle when you transport the application to QA or PRD.
Select only required columns in the odata calls. Lazy loading is by default implemented in some of the controls (like UI5 table).
Make sure you implement the same in OData level also.
I hope it was a worth read for you. If I have missed some points, please let me know so that I can update the
document. Share your thoughts below. Suggestions and corrections are well appreciated.
Supplier & Product Rating based on Customer Feedback :
HANA Sentiment analysis Introduction
-
With this quick blog I am explaining how to implement a supplier rating application using the Text Analysis capabilities
of SAP HANA. I am using Sentiment analysis feature to rate a particular product and suppliers based on the
customer feedback on various web sites .
Assumptions
We have the customer feedback collected from suppliers and arranged in the following format. (data is copied from
multiple online suppliers. Product names and supplier names are masked )
Modelling your source Table
Now we need to load the data into SAP HANA. For that, We are creating a table of the same structure .
-
After once the data is loaded into the source table, we are creating a full text index on the table for the FeedbackText
column using the standard configuration "EXTRACTION_CORE_VOICEOFCUSTOMER".
Voice of the customer content includes a set of entity types and rules that address requirements for extracting customer
sentiments and requests. You can use this content to retrieve specific information about your customers' needs and perceptions
when processing and analyzing text. The configuration involves complex linguistic analysis and pattern matching that includes
processing parts of speech, syntactic patterns, negation, and so on, to identify the patterns to be extracted.
Once the index is created , one new columnar table will be created in the same schema where the source table is
created. This table will be having the tokens as well as the corresponding sentiments values .
Now generating some visualizations on the generated sentiment data.
SAP Lumira For Reporting
-
Now we have the sentiment data available in our table. That means, we have the product details, Supplier details,
and the type of feedback given by the customers . Now we will generate dashboard(Real time dashboards on
LUMIRA if we integrate it with live feedback data on multiple web sites) .
And I love this part
-
(This blog is created for DataGeek ).