Scroll Top

SAP Debuts Free HANA Express Edition

SAP Debuts Free HANA Express Edition

 

 

 

 

 

 

 

 

 

TAKE NOTE (Insights into SAP solutions and Emerging Technology)

SAP unveiled a scaled-down version of HANA designed to let developers play around with the in-memory platform on a PC or a laptop. The software, which is free, gives developers access to all of HANA’s analytic capabilities for data sets 32 GB or smaller.

Developers are the main targets of SAP HANA Express Edition, says Marie Goodell, vice president of SAP HANA platform marketing for the German software giant.
“This is a new edition of the HANA platform that’s been streamlined for application development and deployment purposes,” Goodell tells Datanami. “It’s been streamlined to get it down to laptop, PC or small server so that developers can get up and running in a really fast and rapid way on a device they’re comfortable using.”
The German software giant, which is holding its SAP TechEd conference in Las Vegas this week, also unveiled a new a personal edition of the SAP Web IDE that allows HANA developers to work in offline mode. Taken together, these two capabilities will free practically anybody to start developing HANA apps at the time and place of their choosing.
HANA Express Edition runs on Windows, Mac OS, and Linux operating systems, and offers the full breadth of advanced analytic capabilities, including text mining, geospatial data analysis, and graph data analysis.
Register to download SAP HANA, express edition, for free at the SAP developer center, where developers can immediately start building amazing applications with access to tutorials, videos and community support. SAP HANA, express edition, is also available via SAP Cloud Appliance Library, which provides deployment options for popular public cloud platforms.

Read more here at SAPNews.


UNDER DEVELOPMENT(Information for ABAP Developers)

Internal Tables in ABAP 7.4 

Internal tables are a core staple of programming in ABAP. In this blog, you’ll learn about some new ABAP functionalities that relate to internal tables.

Using Secondary Keys to Access the Same Internal Table in Different Ways 

Internal tables are a bit like database tables, and with release 7.02 SAP began the long march of adding operations only possible for database tables into internal table processing as well. The process started with the idea that if database tables can have secondary keys, then why can’t internal tables have them as well? Traditionally, if you wanted to read an internal table in two different ways (e.g.,looking for a material by Material Number or by Reference Number), then you either had to keep sorting the table just before a read, which is a waste of processing time, or have two identical tables sorted differently, which is a waste of memory.

Secondary keys are now possible as of ABAP 7.02. For example, In a given query, half the queries will be on MATNR and half on BISMT.  The internal table definition would be as shown below.

DATA: IT_MARA TYPE HASHED TABLE OF mara
WITH UNIQUE KEY matnr
WITH NON-UNIQUE SORTED KEY sort COMPONENTS bismt.

What we have done is created a secondary Index into the Internal Table, this is just like having a secondary Z index on BISMT in the database table definition. lets examine how this works… OK, you have a query coming in on MARA, you either have BISMT or MATNR specified, and you have to react accordingly. First of all we need to determine which of the two values have been passed in; if it is the material, then that’s great, and you can read the material internal table using the primary key(MATNR).  However, if the BISMT has been passed in, then you cannot use the primary key, so you have to use a secondary key to get the record. The code would look something like the below
IF lv_matnr IS INITIAL AND
lv_bismt IS INITIAL.
RETURN.
ENDIF.IF lv_matnr IS NOT INITIAL.
READ TABLE it_mara
INTO wa_mara
WITH TABLE KEY matnr = lv_matnr.
ELSE.
READ TABLE it_mara
INTO wa_mara
WITH KEY sort COMPONENTS bismt = lv_bismt.
ENDIF.
Note that even though IT_MARA is a HASHED table it is also a SORTED table with the key BISMT, so when we go looking for the record using BISMT a BINARY SEARCH is automatically performed. That is not quite as fast as a hashed access, but it’s an order of magnitude better than a sequential search and a lot faster than the alternative of re-sorting the table each time the search changes.

Reading from an Internal Table in ABAP 7.4

What if I told you that you would never have to use the statement READ TABLE again to get a line out of an internal table?

Read More.


Q&A(Post your questions to Facebook or Twitter and get the answers you need)

Q. I am using break-points to debug a Loop-EndLoop in my program. Is there a way to not have to stop at every loop? I guess I could create a watch-point… I was wondering if the new Scripting features would help?

A. Great question! Yes we can “conditionally” control the break-point. When you set a breakpoint on a line inside a loop, it will obviously stop on each loop. If the loop runs a large number of times, this breakpoint becomes meaningless because it will take too much time to step through each step to analyze the program.

So…After setting a breakpoint in the source code, run the debugger, then when it breaks–you can specify a condition for a breakpoint in the ABAP Debugger by right-clicking on the breakpoint on the left side and selecting the Create Breakpoint Condition option as shown below…

 

 

 

 

 

 

The Breakpoint Condition popup opens; enter the condition as shown below

 

 

 

 

When you click Continue , the condition is saved and the debugger will stop only when the given condition is met.

You can access the detailed explanation of the syntax of the breakpoint conditions using the Display Help button on the Breakpoint Condition popup.

When you create the condition, the syntax check is performed, but the validity of the operands isn’t checked. If the operand isn’t valid, the warning message “Breakpoint condition cannot be evaluated at position 1” is displayed on the status bar, indicating that there’s an error in the condition.

Breakpoint conditions are valid only for debugger breakpoints. If you save a breakpoint as a session or external breakpoint, the breakpoint condition won’t be saved with it.

Hope this helps!