Display ALV List easily in ABAP using CL_SALV_TABLE Part IV. - Individual Column Settings

Overview

In the latest post, I introduced you the CL_SALV_COLUMNS_TABLE class that is responsible for customizing the columns collectively. Today, I want to show you another class, called CL_SALV_COLUMN. This class is responsible for customizing a chosen column individually. To perform some customization on a given column, we have to get an instance reference of the CL_SALV_COLUMN class by calling the method GET_COLUMN() on the CL_SALV_COLUMNS_TABLE class (we already have an instance reference of it).

Display ALV List easily in ABAP using CL_SALV_TABLE Part III. - Optimize Column Width

Overview

Today, we are going to move forward, and continue decorating our ALV list. In my previous post, I showed you how to enable the layout settings for users in the ALV, although it's a nice feature, but as you could see our ALV still looks like so crude. So let's do something! What do you think about optimizing the column width? To customize the columns of the ALV, we have to use the class, CL_SALV_COLUMNS_TABLE by getting an instance of it with the method of the CL_SALV_TABLE, called GET_COLUMNS().

Display ALV List easily in ABAP using CL_SALV_TABLE Part II. - Enable Layout Settings

Overview

In the previous post, we already prepared the main ABAP program that responsible to display a flight schedule from database table, SPFLI in an ALV list using CL_SALV_TABLE class. Today, my goal is to show you how to enable ALV layout settings for the users at the top of the ALV list.

To provide this functionality, let me introduce you our first CL_SALV setting class, called CL_SALV_LAYOUT that we can use via the CL_SALV_TABLE's instance method, named GET_LAYOUT(). This method will give us an instance of the CL_SALV_LAYOUT class that we can use to enable the layout settings feature for the users.

Display ALV List easily in ABAP using CL_SALV_TABLE Part I. - Simple List

Overview

As an ABAP Developer, we often have to develop ABAP reports that displays some data from the database. These programs usually consists of the following three parts: selection screen, database query, and ALV list. I used to get headache even if I had to implement a simple ALV list, since it's not simple as the 1x1. I mostly used the standard function modules, such as REUSE_ALV_LIST_DISPLAY and the REUSE_ALV_HIERARCHICAL_LIST_DISPLAY. Let's face it, the field catalogs are unnecessary, the settings are over-complicated.

Fortunately, in SAP Netweaver 2004, SAP introduced a new Object Oriented ALV list family class, called CL_SALV. It consists of different ALVs such as table, hierarchy, and tree.

Simple XML Processing in ABAP Part V. – Processing XML Attributes

In the previous post, we finished our framework program that is able to call our previously constructed Simple Transformation to parse the content of the XML into SAP database table, ZCUSTOMER.

Today, I want to share you another challenging use case for processing XML documents, namely how to process XML attributes in the XML document using Simple Transformation. It may sound a bit difficult, but we will see that SAP makes our job really easy. We can perform all mentioned operation below via the source code editor or the visual editor. As you got familiar with the visual editor in the previous posts, now I am going to demonstrate the steps in the source code editor (Note: it doesn't matter which IDE you use, it has the same effect).

Simple XML Processing in ABAP Part IV. – Create Framework Program to Process XML Files

Main responsibilities

We did a great job with the Simple Transformations, so from now on we are ready to call it from the framework program. To make it simpler, first I am going to introduce the main responsibilities of the framework program: first let's upload the content of the XML file, then parse this content into an SAP internal format, and at last insert the parsed data into the database. I like to write transparent codes, so we are going to use subroutines to separate these different responsibilities, and keep our code readable. We are going to construct three subroutines, namely UPLOAD_XML, PARSE_XML, and INSERT_INTO_DATABASE.

Simple XML Processing in ABAP Part III. – Create Simple Transformation to Parse XML Content

Create the Simple Transformation

As we are ready with creating ABAP Dictionary objects, let’s move on, and open the transaction, called STRANS to create the Simple Transformation that will parse the content of the XML document into the internal format of the SAP. In the Transformation Editor, first let’s give a name to our transformation like ZCUSTOMER_ST, and hit the Create button.

Simple XML Processing in ABAP Part I. – Overview

Introduction to XML

Today, it is very common business request to exchange data between different external systems. It can be a problem that those systems usually store their data in incompatible formats. To make this exchange process much easier, it’s usual to use a plain text format such as XML. XML provides a standardized format, so a result those systems can communicate with each other in only one specified language, what everybody easily understands.

Since the XML is a well-known markup language, most of the programming languages are capable to process XML files and provide various tools to transform their content to an internal format of the given system. If you want to learn more about XML, visit the website: www.w3schools.com.

Build flexible, consistent, and centralized database in SAP via Domains and Data Elements

Learn not only the HOW, but the WHEN and the WHY also

I think all of us ever had to deal with constructing databases for business applications. As an ABAP Developer, one of our responsibility is to create flexible, consistent, and centralized databases that serves data for many application. 

There are many-many possible approaches, methods and best practices to construct good databases that can be confusing. As a beginner, it’s very frustrating, I know that feeling well. When I was newbie in ABAP, I clearly remember for that I just couldn’t choose the appropriate solution, I only could apply that I saw from senior developers in certain scenarios. As a beginner, you don’t have any other chance, so let’s do it!