Saturday, September 22, 2012



We present the place and role of the Web Dynpro within the SAP NetWeaver platform. So, we start with the layers of the SAP NetWeaver platform, we continue with the importance of the Application Platform layer, and we conclude with the place and role of Web Dynpro (ABAP and Java) within the Application Server ABAP and, respective, Application Server Java.
As we can see, four layers are distinguished in this context: Application Platform, Process Integration, Information Integration and People Integration.
The Application Platform represents the technical basis of almost all the other SAP products. This is the reason why the Application Platform plays a central role in the SAP NetWeaver.
The Application Platform essentially offers two programming interfaces: ABAP and Java (J2EE). ABAP is the programming interface for Application Server (AS) ABAP and Java is the programming interface for AS Java.


TRANSACTIONS

GENERAL INTRODUCTION TO TRANSACTION

Transaction, in R/3 system is an operation that lets the user make necessary changes to the database. The entire R/3 system is nothing but set of business transaction. The data transfer from old system to SAP R/3 database, or modifying data, or deleting data, which is not required, is done through transaction.

For SAP system, Transaction is nothing but sequence of steps called as dialog steps and for user it is sequence of screens that appears one after the other depending upon the option he selects. The special transaction monitor called the SAP dispatcher handles the sequence of steps that takes place in any transaction. The main task of transaction is to update database table. The database table is not updated until a transaction is completed. All changes can be rolled back if the transaction has not finished.



SAP Easy Access 

Abstract This chapter presents the SAP Easy Access, highlighting some aspects found in our everyday work. So, we show how to change the standard settings, how to add in the Favorites list the frequently used transactions, and how to create a Shortcut on the Desktop.
SAP easy access starts automatically after logging-in into the SAP system. In the left side, we can see the user menu. Here are the functions the user needs to perform his tasks.
SAP easy access
Changing the SAP Easy Access



Designing a Web Dynpro Component

Abstract The present chapter is dedicated to the constitutive elements of a Web Dynpro ABAP component. Moreover, we show how to use the ABAP Debugger to execute, by line or by section, a Web Dynpro application, and how to use the new tool offered by ABAP Debugger to reach the context attributes values.
In order to develop a Web Dynpro ABAP component, we have to open the ABAP Workbench of the Application Server ABAP.To work with ABAP Workbench, we need an authorization as a developer or developer key, and for the SAP NetWeaver ABAP trial version we can use BCUSER, automatically registered as a developer.Web Dynpro is available with release SAP NetWeaver 2004s and later. After logging into AS ABAP, we can use the transaction SE80 to call the object navigator.
Object navigator



ABAP Dictionary


Abstract The following section details and describes the ABAP Dictionary.The main purpose of this chapter is to show how to realize all the development objects to be used in the future Web Dynpro applications.Therefore,we present not only the modality to create the various development objects in the ABAP Dictionary, but also the modality to use them in realizing Web Dynpro applications.
We can create development objects in ABAP Dictionary,by using the transaction SE11(ABAP Dictionary Maintenance) or the Object Navigator.
Development object with transaction SE11



Context Nodes and Attributes at Design Time


This chapter mainly focuses on the context nodes and attributes statically realized at design time. In this respect, we will explain not only the role and modality to create context nodes and attributes, but also the modality to access the values stored in the attributes of the nodes.
An attribute is a context entity that has certain properties and can be directly created in the root node CONTEXT, or as a child for another node. Usually, a node is used to group more attributes that belong together. In Fig.  we present a context example created in a view context.
A context node can have attributes or can hold other nodes, but a context attribute cannot have other attributes or nodes. We create a hierarchical arrangement that has, as the start point, the root node CONTEXT. This is automatically created when the controller is initialized and all the nodes and attributes we created are children of this root node.
Example of the structure of a View Context



Data Binding, Context Mapping and Interface Methods


This starts with the presentation of the mechanism used to manipulate data between the context attributes and UI elements, mechanism called,in Web Dynpro,“data binding”. We continue with the mechanism of sharing data among the various controllers, which is realized by using different variants of context mapping. Finally, we highlight the importance of the interface methods required to access them “cross-component”.
In the last chapter, we have created context nodes and attributes in the context view.A node or attribute can be created in each context. When we create an attribute in the context view, this value is visible only in this context view. The mechanism for sharing data among different controllers is known as “context mapping”. A context mapping can be internal, when the nodes we map are within the same component, and external, when the mapping is cross-components.
Data Binding
Each UI element has certain properties. With data binding, we define which node or attribute from the context will act as a data source for an UI element property. To exemplify the data binding mechanism, we create a component named Y_DATABINDING with a view named V_BIND and a window W_DEFAULT.



View Controller Methods

Abstract As we have seen in the previous chapters, in the Methods tab of a View we find various types of methods generated by the Framework, and we can also create our own methods. The purpose of this chapter is to present the role and the modality to use the various methods generated by the Framework and the modality to realize our own methods.
Each view has exactly one view controller. The view controller can contain
methods for data retrieval or for processing user inputs.
As we have seen, each view has a Methods tab where we can create our own user-defined methods or we can find the methods generated by the Framework. In each Method tab of a View, we can find or create three types of methods:
  • Event Handler: This kind of methods respond to actions or to events. An example of such a method is generated by the Framework when we define an inbound plug into a View. Another example is a method generated from the Framework when we create an action.
  • Method: We can use this kind of methods to create User-defined instance methods. Another example is the Hook Methods generated by the Framework.
  • Supply Function: When we create a node and define a supply function for it, the Framework generates a corresponding supply function method used to populate with data a context node.



Layout UI Elements

The following section details and describes the Layout of the UI elements. Here, we are going to present the various types of existent Layouts and the modality to use them, either in static or in dynamic variant. The layout helps us to manage the arrangement of the UI elements within their parent container.
All the UI elements within a view are hierarchy arranged. The node ROOTUIELEMENTCONTAINER is the root of this hierarchy and all the UI elements. within a view are children of this root container. It is of TransparentContainer type and has initially assigned to it the FlowLayout layout. In our first example, we have seen that we have the possibility to change it from ransparentContainer into another UI element, in case this one doesn’t have any children. Table shows the layout UI elements that are available for arranging the UI elements in a view, and the corresponding LayoutData. The layout is the abstract base class of all the layout UI elements within Web Dynpro and has the runtime class CL_WD_LAYOUT.
Layout and LayoutData UI element
The layout data of an UI element are used to specify the position within a container and have the runtime class CL_WD_LAYOUT_DATA.




User Interface Elements (UI elements) Static and Dynamic Programming-part 1


The UI elements we can use in the Web Dynpro ABAP are divided in various categories.In this chapter, we are going to present some of the UI elements, included in the categories:action, selection,layout, complex, graphic and integration. Each UI element will be illustrated by an example,showing the modality of using it either in static or in dynamic variant.
A UI element is a User Interface element we use to create a screen for the end user. The UI Elements are grouped in categories we can access via the View Layout,and each UI Element has some properties, as follows
  • Common with other UI elements,inherited from superclasses
  • Specific only for an UI element
  • For example, the following properties are inherited:
  • Tooltip: Shows a quick info text when the user passes the mouse pointer over the UI element
  • Visible: Determined if an UI element is visible in the screen or not
  • Enabled: Specified if the UI element is active or inactive



Runtime
Hereunder,we have to display the view V_STEP2 when the user presses the LinkToAction UI element (ID = LTA_NEXT2). To do this, we define an outbound plug named OP_TO_V_STEP2 in the view V_STEP1,and we fire the generated method.
Outbound plug, event handler method
V_STEP2 view layout

User Interface Elements (UI elements) Static and Dynamic Programming-part-3
RoadMap
By using this UI element, we can display the steps required to complete a certain task. Hereunder,we show some of the roadMap properties that can be bound,and the attribute type in case the property is bindable.
For the RoadMap example,we use the exercise from the ViewContainerUIElement,a little bit re-arranged. The WD component structure is presented.
WD component structure
In this case,we replace the LinkToAction UI elements with two Buttons: Next and Back. These Buttons are inserted into the view V_VIEW, and the user can navigate from the first step to the end one, via the RoadMap. In this case, we used only a ViewContainerUIElement,and for each step we have a view. In the view V_VIEW, we insert a RoadMap UI element with three steps. To insert a step into a RoadMap UI Element, we right-click on the element and, from the contextual menu, we choose Insert Step.




Messages, Exceptions and Web Dynpro ABAP

This chapter shows how to work with exceptions and messages within the Web Dynpro ABAP applications. For each of the two variants (messages and exceptions),we present two possible implementation scenarios. Therefore, we start with the modality to create the texts of messages and exceptions,and we conclude with the modality of using them for the created applications.
A good user interface catches exceptions, describes the errors that occur and displays messages that contain information for the application end user.
As we have already seen,Web Dynpro offers the interface, through the IF_WD_MESSAGE_MANAGER, as a manager for messages.This interface has many methods we can choose to create messages.For example:


Writing Multilanguage Applications

This chapter mainly focuses on the creation of Multilanguage applications.So,
the applications we realize are going to be easilyinternationalized without being necessary to recode them,butonlyto translate some centralized strings.For this,we haveto respect some rules,as follows: using the tools offered by the ABAP Workbench,establishing an initial language for our project,and avoiding to enter language specific texts in the codification of the business logic.
Internationalization(I18N)is a need for the global business software.In this chapter,we will see some of the tools offered by the ABAP Workbench to create Multilanguage User Interface and the tools we can use to make Multilanguage records in the database.
When the user logs onto the SAP System,he should enter a log-on language.If he doesn’t enter a language,then it is used the default log-on language from the user account.



WebDynproModel


This chapter presents the role of a model in a multicomponentWeb Dynpro application, showing not only themodality to use such a model, but also to create it. We are going to focus on three types of models: Assistance class, BAPI and Web Service.
So far,we have created only small applications used to access the data contained in a table,through the SQL statements introduced in the methods defined in the views. This art of programming is not in concordance with the MVC design pattern.
According to the Model View Controller MVC paradigm,the application data and their user interface are separated. The Model represents the business logic, the View represents the user interface and the controller has certain responsibilities, as the communication between the model and the view,or data processing at runtime.



ALV and Select Options


The following section details and describes the modality to use the standard components ALV and SO as assistance,in creating our own Web Dynpro applications.We start from a simple example,where ALV is used to display the data in a table,and we end by using both components for advanced search and display the searched data, disposing of the extra functionalities offered by ALV (e.g. exporting data in Excel).
SAP List Viewer(ALV) is a tool we c.an use to display data in a two-dimensional table,in a hierarchical-sequential list or in a tree structure.It allows us to use it in a large range of applications,from the classical Dynpros to the Web Dynpro.
In our examples,we use inWeb Dynpro the ALV component SALV_WD_TABLE to display data in a two-dimensional table.
Through “Select Options”,we can benefit of complex searching possibilities.For example,we use the WDR_SELECT_OPTIONS component to create a selection option screen that offers,
in the same time, four standard buttons:Cancel,Reset, Done and Check.



Integrating a Web Dynpro Application into the SAP NetWeaver Portal


The present chapter is mainly dedicated to the presentation of the modality to integrate the Web Dynpro applications in the portal,by using the SAP NetWeaver Portal.In the same time, we show how we can communicate between two applications by using the portal eventing (event sender and event receiver).
SAP NetWeaver Portal offers many possibilities to create its content,from Wizards and templates,to applications developed in Web Dynpro ABAP or Web Dynpro Java. Our scope is to integrate into the portal a created Web Dynpro ABAP application named y_ui_contextualpanel. After this, we create a Web Dynpro component that can send a portal event,a Web Dynpro component that can react to a portal event and,finally, we integrate the created applications in the Portal.



Web Dynpro and Authorization


Based on the RBAC (Role Based Access Control) pattern,we are going to present the SAP R/3 role based authorization mode. According to it, a user can dispose of a number of roles,which grants to him/her the authorization to access certain resources from the system. In this respect,we will create the development objects required to grant to the user the possibility to access the records from a database, and we will use,in Web Dynpro ABAP, the declaration AUTHORITYCHECK to verify the current user’s authorization.


The main focus of this chapter is the presentation of the Mind Map created on the basis of the elements described in this book. It can be of a real help in summarizing the knowledge,facilitating the learning of the Web Dynpro.
Tony Buzan is considered the parent of Mind Map. A Mind Map is a diagram used to structure ideas that assist people in many activity fields.
The Mind Maps are mostly used to take notes during meetings or at school,as a good method to summarize the knowledge or to prepare a presentation. More details about the advantages of using Mind Map to learn Web Dynpro can be found in the article: “The Advantages of using Mind Map for learning Web Dynpro” (Cristea et al).



ABAP BASICS  PART-1


Some Facts about SAP

After the Internet, SAP R/3 is one of the hottest topics in the computer industry and the company that developed it.  It is targeted to most industries, manufacturing, retail, oil & gas, pharmaceutical, banking, insurance, telecommunication, Transport, chemical and so on.  All major hardware Vendors were fully engaged to partner with SAP: AT&T, BULL, Compaq, IBM, Sun have supported and certified R/3 platform.

SAP has list of major consultants all over the world like Anderson Consulting, Price Waterhouse – Cooper & Lybrand, Ernst & Young, KPMG and many more.

DEBUGGING

Many times an error free program doesn’t give desired output. Behavior of program is different in different situations, with different values of variable. Such program needs additional testing, by which you can test the program by stopping at each point where you feel program is behaving abnormally.

The ABAP/4 debugger is the development workbench tool, which allows you to stop a program during its execution when a particular condition is met.  When the program is stopped, you can use the debugger to display the contents of the table and variable being used by the program.  It allows you to execute the program step by step, reviewing exactly the real flow of the program execution.

There are many occasions during normal system operation during which the ABAP/4 debugger can be started.  When executing program, the ABAP/4 debugger is automatically started when the system encounters a breakpoint.



BATCH DATACOMMUNICATIONS/BATCH INPUT/INBOUND-OUTBOUND

ABOUT DATA TRANSFER

Implementing a new software system takes major effort. New implementation requires moving data from the present system i.e., legacy system into the R3 system. The product, components, customers and vendors have to be available in the new system. Initial data transfer is the process of populating your R3 database with data from your legacy system.

To prepare for the data transfer there are certain tasks you need to perform.

¨      First, understand your SAP system to know which data needs to be transferred, e.g., you would not transfer any sales order if you do not use the Sales and distribution module.
¨      Second, you need to know the contents of existing data in your legacy system.


SAP Scripts/LayoutSets/Forms

Sap Scripts

If the user wants to print documents such as invoices, purchase order, all such documents are printed with the use of forms. SAP allows the user to define these forms by using layout sets. SAP script is the tool used to create the layout set.

In order to print the document, the SAP system runs a program that collects the data for the document and feeds it into the layout set. This is called as Print Program.

SAP Provides a standard layout set for every printable document and usually there is no need to create layout sets as such. User just modifies the existing layout sets as per requirement of client. Following are some standard layout sets provided by SAP:

 TRANSACTIONS

GENERAL INTRODUCTION TO TRANSACTION

Transaction, in R/3 system is an operation that lets the user make necessary changes to the database. The entire R/3 system is nothing but set of business transaction. The data transfer from old system to SAP R/3 database, or modifying data, or deleting data, which is not required, is done through transaction.

For SAP system, Transaction is nothing but sequence of steps called as dialog steps and for user it is sequence of screens that appears one after the other depending upon the option he selects. The special transaction monitor called the SAP dispatcher handles the sequence of steps that takes place in any transaction. The main task of transaction is to update database table. The database table is not updated until a transaction is completed. All changes can be rolled back if the transaction has not finished.

Friday, August 31, 2012


SDN Articles - BW Administration

List Of Articles:

The Documents in this section answers most of the questions related to Administration in SAP BW/BI.

i) Aggregates:

The below documents will give overview about when to create aggregates and how to create also how the performance improvement will happen due to aggregates.




SDN Blogs Index - BW Part1

List Of BW Blogs:

How most BW performance support messages are solved

All embracing inventory Management in BW with special emphasis on Non cumulative and Markers

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26630


How to Fetch Your Info package Details From R/3 System

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26901


3 Easy Steps to Upload an Image into Process Chain Maintenance Screen

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26069


How to save your Listcube selction screen and the output

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26903


SDN Blogs Index - BW Part2

List Of Blogs:

Dependency information of Function Modules in BW transformations and DTPs

List BEx Analyzer 7.X variables and generate the associated PROCESS_VARIABLES commands

SAP BW: monitor inactive objects (Multiprovider, Cubes, Update Rules etc.) after the import of transport requests 

General Guidelines for ABAP coding in BW

Deletion of WDSO (Write-optimized DataStore object) Load requests and active table data without deleting it from target

Hey Kids, it's time to learn BW!

Remodeling in SAP BI 7.0


SDN Blogs Index - BW Part3

List Of Blogs:

How to get selection criteria in Transformations routines?

Overview of BW 3.x to 7.x migration possibilities per BW objects

BW 7.30: Transport support in BW landscapes

How to generate a selective deletion program for info provider

Counters in Infoproviders - Boon or Bane ?

Triggering Email to different users using same email setting each with different Query Variants

Two Frequent Business Warehouse Issues - 1/2: RSTRAN803


SAP BW on HANA

Informative Blogs:


Info cubes and Data Store Objects ... and HANA

SAP In-memory - what is in the bag?

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24738


Podcast: Straight Talk about HANA with SAP

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25174


HANA and BW 7.30 - Part 1

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25122


HANA and BW 7.30 - Part 2

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25123


Important Questions (with Answers) about SAP's in-memory High-performance Analytic Appliance - HANA

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/21589


SDN Articles - BI Related ABAP


List Of Articles:

i) Data Source Enhancements:








iii) Routines:











iii) Miscellaneous: