Showing posts with label abap-for-hana. Show all posts
Showing posts with label abap-for-hana. Show all posts

Monday, 22 August 2016

ALV and FPM on SAP HANA

With ALV and FPM lists, SAP provided very powerful and convenient tools to represent lists in SAPGUI, WebDynpro UIs or SAP NetWeaver Business Client. These tools have been very well adapted to the paradigm of databases being the bottleneck. In this context it is an efficient design to select the data into an ABAP table and to execute the UI operations like paging, sorting, aggregation and filtering on the ABAP application server. Handing over this internal table as data source to the reuse components ALV and FPM list is their basic principle and the reason why they can provide these operations out of the box: they have control over the result set.

Saturday, 16 July 2016

A closer look at tables that contain LOB data type columns

Introduction


Since SPS06, SAP HANA offers a flexibility around how it manages data type LOB (Large Object Types) columns, namely Hybrid LOBs. Data types, CLOB, NCLOB and BLOB are used to store a large amount of data such as text documents and images. The current maximum size for an LOB on SAP HANA is 2GB.

In the following blog, we will go through some examples of how Hybrid LOBS are defined, specifically around the memory threshold value and the effect that has on keeping the LOB column data on disk versus allowing it to be loaded into memory.

Friday, 22 April 2016

Code Push Down for HANA Starts with ABAP Open SQL

What is Code Push Down?
One of the key differences for developing applications in ABAP for HANA is that you can push down data intense computations and calculations to the HANA DB layer instead bringing all the data to the ABAP layer and the processing the data to do computations. This is what is termed as Code-to-Data paradigm in the context of developing ABAP applications optimized for HANA.

Where does Code Push Down Start?
It is a general misconception that if one wants to do code push down in ABAP for HANA you always need to either use HANA native SQL or build complex HANA artefacts in order to achieve this.
But in reality the Code Push Down for HANA  from ABAP can very well start with ABAP Open SQL. Let us see How and Why?

The New Enhanced Open SQL
It has been SAP's constant endeavour to improve Open SQL with each release of ABAP Application Server in order make it the most efficient channel for accessing data  in a manner that is database agnostic.

Thursday, 7 April 2016

Expose CDS Views as OData Service

In continuation to previous blog Core Data Services in ABAP in this blog I will show how to create CDS Views and step by step procedure to generate OData service using CDS Views.

There are 3 different ways you can expose CDS views as OData service:
  1. Import DDIC structure using SEGW Netweaver Gateway service builder transaction.
  2. Reference Data Source using SEGW Netweaver Gateway service builder transaction.
  3. Using Generic Annotations. (@Odata.publish:true) 
First way is supported from SAP ABAP NW 7.40 SP5, Second and third ways are supported from SAP ABAP NW 7.50 and above. For first two ways SAP NW Gateway is used and for third type without use of SAP NW Gateway odata services can be created using annotations. Gateway is used only to add the service created using annotations.

In this blog I am going to show type one i.e how to generate OData service using import DDIC structure using SEGW service builder transaction.

SAP S/4HANA from a Developers Point of View - Part One

Introduction
In my first part I try to explain what is the main difference between R/3, SAP ERP and S/4.

SAP S/4HANA from a Developers Point of View - Part One

As you can see from the picture above R/3 was upgraded, extended and renamed to eventually SAP ERP. With upgrades from R/3 to the next version SAP mostly added/enhanced functionality and mostly kept all other functionalities as before. This allowed custom ABAP programs to continue to run with no or may be small adjustments.

Tuesday, 1 March 2016

Core Data Services in ABAP

Core Data services (CDS) are domain specific languages (DSL) and services for defining and consuming semantically rich data models in SAP HANA. They are integral part of SAP HANA, and can be leveraged in the ABAP stack.

Core Data Services in ABAP and Certifications
Core Data Services are enhanced “view entities” in ABAP provides several advantages:.

Wednesday, 27 January 2016

Implement and consume your first ABAP Managed Database Procedure on HANA

Prerequisites
  • SAP NetWeaver AS ABAP 7.4 Support Package 5 (or higher) running on SAP HANA
  • SAP HANA Appliance Software SPS 05 (or higher)
  • SAP HANA DB SQLScript V2.0 (or higher)
  • ABAP Development Tools for SAP NetWeaver (version 2.19) 
Tutorial Objectives
After completing this tutorial, you will be able to:
  • Declare an AMDP class
  • Declare an AMDP method
  • Implement an AMDP method
  • Consume an AMDP method in ABAP 

Tuesday, 26 January 2016

Mandatory Steps to Adapt ABAP Code for SAP HANA

In order for your ABAP code to work with SAP NetWeaver using SAP HANA as the database, you will need to validate if the code is truly database independent and is not reliant on unique behavior of a specific database.

Adapting for SAP HANA means make your ABAP code database independent

What does it mean for ABAP code to be database independent? Let me illustrate this with an example. With some databases the use of SELECT statement without ORDER BY will result in the records returned in the order of the index used to retrieve them from the database. This result is neither a feature of standard SQL nor of the specific database. It seems it is just luck the order used by the database is also the order you needed for retrieving the records. If someone then creates a different index or deletes the index used, then the database will return the records in a different order. If you move to a different database such as SAP HANA, the records returned may be in a different order then the order returned in the previous database. Standard SQL code without ORDER BY does not specify the order in which records are returned.