Skip to content
Jun 24 17

How Well Do You Know SAP Screen Personas or SAP Fiori ?

by admin
Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest

ABAPAnthony Cecchini is the President of Information Technology Partners (ITP), an SAP consulting company headquartered in Pennsylvania, with offices in Vienna, VA. ITP offers comprehensive planning, resource allocation, implementation, upgrade, and training assistance to companies. Anthony has over 20 years of experience in SAP business process analysis and SAP systems integration. His areas of expertise include SAP NetWeaver integration; ALE development; RFC, BAPI, IDoc, Dialog, and Web Dynpro development; and customized Workflow development. You can reach him at ajcecchini@itpsap.com.

How Well Do You Know SAP Screen Personas or SAP Fiori ?

Once upon a time choosing a User Interface for a SAP application was easy. Mainly because there was no choice. You simply needed to write an ABAP/4 program and the SAP GUI created a dull grey-blue screen for you, or you developed a Classic Dynpro. New technologies and innovative insights created better user interfaces, but also increased the number of choices, such as ITS, BSP, WDJ, WDA, Islands, NWBC, FPM. While these UI technologies were standard in the SAP world, they were not really “OPEN” and all had this in common.

With the advent of the SAP “SIMPLE” strategy, a set of newer UI technologies are available. This strategy focuses on improving the user-experience (UX). SAP Screen Personas and SAP Fiori (with SAPUI5 technology) are two products that enable you to greatly simplify the standard SAP screens. But when do you use which product? What are the advantages and disadvantages of both products?

SAP UX Goals

SAP Screen Personas fits within the 1st part or goal of Enable. This offers the possibility to provide a better UX for existing scenarios. SAP Fiori allows the user to build entirely new applications or update existing applications in SAP Gateway.

Lets look at the diagram below for a high-level look at the products.

SAP Screen Personas vs SAP Fiori read more…

Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest
May 24 17

SAP DevOps – Laying the Foundation for Success

by admin
Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest

ABAPAnthony Cecchini is the President of Information Technology Partners (ITP), an SAP consulting company headquartered in Pennsylvania, with offices in Vienna, VA. ITP offers comprehensive planning, resource allocation, implementation, upgrade, and training assistance to companies. Anthony has over 20 years of experience in SAP business process analysis and SAP systems integration. His areas of expertise include SAP NetWeaver integration; ALE development; RFC, BAPI, IDoc, Dialog, and Web Dynpro development; and customized Workflow development. You can reach him at ajcecchini@itpsap.com.

What is DevOps for SAP?

Well before we explore this question, let’s first get a good definition of what DevOps is and then we can return and attempt to overlay the concepts and methodology to SAP.

DevOps

DevOps is about people, culture, processes and tools. It’s an approach that builds on the concept of Agile development, focusing on open, collaborative methods and use of automation to increase the speed and flexibility with which new features and services are delivered. Whereas, traditional IT development and delivery processes are based around business silos where work is passed between teams without ownership, lack of visibility and low levels of satisfaction.

read more…

Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest
Apr 17 17

Want to Avoid HANA AMDP Mistakes? READ THIS

by admin
Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest

ABAP

Jonathan Andre is a lead ABAP developer at IT Partners. Jon is also the President of Andre Technical Consulting LLC located out of Centreville, Virginia. Jon has over 6 years experience with SAP, with a concentration on ECC SD, MM, and IS-OIL modules. Jon’s focus has been in the areas of ABAP OOP and ABAP Web Dynpro. He can be reached at jon.andre@itpsap.com

As we described in a prior blog The ABAP Developer Road Map to SAP HANA, with the advent of SAP HANA, there has been a paradigm shift in the way business applications are developed. The rule-of-thumb is simple: Do as much as you can in the database to get the best performance. This was coined as “Code Pushdown” by SAP. So far we have looked at CDS Views as a way to achieve Code-Pushdown in the blog Don’t Try Coding ABAP Core Data Services Without Reading This First.  In this blog, we will continue to examine Code-Pushdown Patterns, specifically ABAP Managed Data Procedures (AMDP).

An ABAP Managed Data Procedure (AMDP) is a tool that can be utilized to create HANA database procedures that are designed and coded on the ABAP server. In the hierarchy of code-pushdown techniques, AMDP ranks lowest on the scale of preference behind Open SQL and CDS Views. While AMDPs are not the preferred approach when coding your code-to-data approach, the technology does offer some unique, albeit seldom used, approaches to interacting with the HANA database. AMDPs also have the added benefit of being transportable and are easy to adapt to for ABAP coders who need functionality Open SQL and CDS Views do not offer. (Note: AMDP  code MUST be created and maintained in the Eclipse editor. Attempting to access this code from SAP GUI will not even allow the code to be switch to change mode after it implements the marker interface – more on this later)
helpful hints We will go over some of the capabilities AMDPs have to offer, as well as how they can be combined with CDS to create powerful, yet easy to use tools.

Introduction to ABAP Managed Data Procedures (AMDP)

AMDPs are implemented as an addition to traditional ABAP Object-Oriented programming. A user creates a class just like any other class, but to implement the AMDP they must execute two important steps:

Let’s look at the steps:

Step#1: First, they must ensure that the class implements the interface IF_AMDP_MARKER_HDB. Implementing this interface does not add any interface methods, but simply flags the code as an AMDP class.

Step#2: The Method that actually implements the AMDP procedure code must have some specialized method additions to identify itself as an AMDP. These additions also provide some information about the database and language the method should be implemented.

The Method Additions are described below:

AMDP Method Extensions

Below is a very basic example of an AMDP method. This method simply selects the 200 records from database table SNWD_SO, with no selection conditions. There are a few features to pay particular attention to, which have been highlighted and numbered.

read more…

Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest
Mar 18 17

Don’t Try Coding ABAP Core Data Services Without Reading This First

by admin
Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest

ABAP

Jonathan Andre is a lead ABAP developer at IT Partners. Jon is also the President of Andre Technical Consulting LLC located out of Centreville, Virginia. Jon has over 5 years experience with SAP, with a concentration on ECC SD, MM, and IS-OIL modules. Jon’s focus has been in the areas of ABAP OOP and ABAP Web Dynpro. He can be reached at jon.andre@itpsap.com

As we described in the prior blog The ABAP Developer Road Map to SAP HANA, with the advent of SAP HANA, there has been a paradigm shift in the way business applications are developed. The rule-of-thumb is simple: Do as much as you can in the database to get the best performance. This was coined as “Code Pushdown” by SAP. Well, this is also true for the underlying data models of the business applications.

Data modeling in ABAP typically involves organizing your data in database tables/views and often providing some additional high-level services for the applications using the appropriate ABAP frameworks. It is logical to conclude, from the Paradigm-shift of Code Pushdown, that to enable real-time businesses in HANA, we need some of these services ideally also brought closer to the database as well.

For SAP this presented several challenges. High-quality data models should provide a single definition and format for the data. They should be clear and unambiguous, reusable and flexible, even extensible. So how can you capture the semantics of the data model in the database so that the model can be easily reused by different consumers, e.g. by OData clients and by OLAP tools? How can you extend the meta-model to service your applications? What is the solution…?

Introduction to Cored Data Services (CDS)

 

Core Data Services, or CDS, is a “semantically rich” Data Definition Language (or DDL) created by SAP. It provides an easy to understand and reusable tool that ABAP developers can utilize to execute the “code pushdown” paradigm. CDS has evolved into different variants, but the ABAP developer should chiefly be concerned with two specific ones…The lesser used option is HANA CDS, the database language that can be used to create tables, views, and structures on the HANA database itself. Views created in HANA can be consumed from the Netweaver AS using Native SQL. The second and most important variant of CDS that should concern ABAPers is the ABAP CDS. While significant differences have evolved between the two variants — for example, SAP HANA-based CDS obviously operates on SAP HANA, while ABAP-based CDS operates on most major database platforms as well as SAP HANA, and each has a different type of repository for development objects — both variants pursue the same goal: to represent central data definitions as a common basis for application development of all kinds.

Let’s look at each variant:

HANA CDS: the database language that can be used to create tables, views, and structures on the HANA database itself. Views created in HANA can be consumed from the Netweaver AS using Native SQL.

ABAP CDS: made available with SAP Netweaver 7.40 SP5, is a valuable tool to have when programming for HANA. However, ABAP CDS can be used even if the underlying database is not a HANA database, as it is an open DDL that is supported by many traditional databases as well. ABAP CDS is usually the best choice when designing and creating database views that will need to access the HANA database, and this will be the prime focus of this blog.

ABAP CDS uses an SQL-like syntax, enhanced with some useful additional features. Like any typical  ABAP object, ABAP CDS files are also transportable between Netweaver AS systems, which is an advantage ABAP CDS has over its HANA CDS counterpart. Once transported, an ABAP CDS View will create and deploy the corresponding database view on the target database automatically (requiring no additional steps for the developer or transport manager).

Unlike classical SE11 views, ABAP CDS views can only be created in Eclipse (by utilizing the ABAP Development Tools for SAP Netweaver add-on for Eclipse). The tools can be found at https://tools.hana.ondemand.com/.

Next, we will go through a brief step-by-step guide on how to create a CDS view, as well as features of the DDL source file.

read more…

Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest
Feb 23 17

The ABAP Developer Road Map to SAP HANA

by admin
Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest

ABAP

Jonathan Andre is a lead ABAP developer at IT Partners. Jon is also the President of Andre Technical Consulting LLC located out of Centreville, Virginia. Jon has over 5 years experience with SAP, with a concentration on ECC SD, MM, and IS-OIL modules. Jon’s focus has been in the areas of ABAP OOP and ABAP Web Dynpro. He can be reached at jon.andre@itpsap.com

Chances are that if you work with SAP ABAP, you have heard of SAP HANA by now. You’ve probably heard that it’s “the future” and a “game changer.” You’ve also probably heard that it’s much faster, and it can take tasks that require hours and finish them in minutes. This all sounds wonderful, but technical folks understand that nothing works by magic. What we would like to know is not the what, but the how. What exactly is SAP HANA? How is it able to bring such dramatic improvements to our programs? And finally, how will switching over to SAP HANA impact me as an ABAP developer?

SAP HANA Overview on a Technical Level

SAP HANA is a platform that serves to replace the classical hard disk based data storage system with an in-memory alternative. The SAP HANA Acronym stands for (High-performance ANalytic Appliance). While HANA serves as a replacement for classical hard disk based storage systems, it should be understood that it is more than just a replacement. While HANA can perform any and all features of a traditional DBMS, it also provides many benefits that a classical database server does not. Let’s begin our over overview of SAP HANA by contrasting it to the traditional DBMS.

As a refresher, lets recall how a classical database works. A DMBS manages an array of HDDs that store data in a row based format. Using INSERTS, READS, UPDATES and QUERIES, the database allows users to persist, retrieve, and manage data on demand. The principle drawback of a classical database is the fact that it uses HDDs. Reading, writing, and searching using HDD are an inherent bottleneck to any classical database. Hard disk drives are mechanical devices, requiring a rotating magnetized platter that stores binary data, and a read/write head that accesses and reads that data. (see below)

HDD Drive

Although many advances have been made over the years to improve HDD technology speed and storage capability, the HDD can never match the speed of computer memory. Enter SAP HANA and its in-memory data storage.  By storing the vast majority of data in memory, HANA sidesteps the costly action of reading data from HDDs to provide data to users. Since retrieving data from computer memory is 100,000 times faster than retrieving data from HDDs on average, the speed increases are exponential and instantaneous. Simply changing the architecture from HDD based tomemory based storage is enough to provide drastic speed increases on its own, but SAP HANA takes it a step further by providing features on top of this in-memory platform. This allows for even greater speed of access, data retrieval, and data processing.

SAP HANA Architecture

SAP HANA and Column Stores

A major difference between SAP HANA and traditional databases is that HANA uses column-store for most database tables, while classical DBs use row-store. The row-store approach works well when you often need to retrieve an entire record from the database at the time, but as ABAP developers know, it is much more common to retrieve a subset of fields during processing. In addition, row-storage often provides only two options when searching a non-primary field. You can either create secondary indexes to speed up data retrieval, or risk performing full table scans when retrieving data outside of the primary index.

Below is an example of how data would be stored in traditional DBMS as rows…

Row Based

This data would be stored in a traditional database as follows:
001:Tom,35,0123;
002:Tom,47,0234;
003:Matt,153,0234;
004:Susan,278,1203;
005:Susan,301,0123;

 

Column-store addresses some of these shortcomings of row-store by keeping like fields together. Columnar storage often eliminates the necessity for secondary indexes, because the data is stored in an index-like fashion already. It also allows for common aggregate database functions to be performed much faster. For instance, COUNTs, SUMs, or finding values greater than or less than a particular value can be performed much faster. This is because the like values are stored together in the database, requiring fewer reads to retrieve the data.

Column Based

In a column based system, the data would be stored as follows:
Tom:001,Tom:002,Matt:003,Susan:004,Susan:005;
35:001,47:002,153:003,278:004,301:005;
0123:001,0234:002,0234:003,1203:004,0123:005;

 

SAP HANA Data Compression

Another advantage of storing data as columns, which SAP HANA takes full advantage of, is the ability to easily compress data. Compressing data for rows of data can be complicated since you’re often dealing with many different data types for an individual record. The SAP HANA database provides a series of compression techniques that can be used for the data in the column store, both in the main memory and in the persistence. read more…

Recommend This Post! Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest

Pin It on Pinterest

Share This