Wednesday, December 10, 2008

Data Dictionary - Introduction

Data Dictionary

The ABAP/4dictionary is central workbench repository utility providing the data definition and the information relationship that are later used in all the business application within R/3

The ABAP/4 dictionary can be seen as a logical representation or a superior layer over the physical underlying database. This database must support the relational data model. This model is strictly followed by data dictionary.

About Data Dictionary
A Data dictionary in computing terms is the source of information in which system data is defined. The data dictionary is the centralized and structured source of information for business applications. You can say that it is core of a well-structured development environment.

The elements that make up a dictionary are known as metadata. Metadata is the term for the data whose function is to describe other data. Data in dictionary is not the actual data like emp. name or emp. address but rather a type of data whose function is to define the properties of the data such as type, length, and relationship.

Advantages
Advantage of using data dictionary is avoiding inconsistencies when defining data type that will later be used in different applications. This avoids redundancies.

When a type is defined in the dictionary, it is available to any program in the application. A change in the definition of a type of data in the dictionary automatically affects any other data or program, which has this data.

Again, data dictionary is a fast and efficient way to answer questions such as which entries exist in a table of the database, what the structure of table is.


Activation of dictionary objects

For a dictionary object to be effective at runtime, that is, for a dictionary object to be available for use within a program, transaction, and so on, it must be in active status. For objects to become active, R/3 includes the ACTIVATION function.

When a table or aggregated object is activated, it is placed at the disposal of the system as a runtime object in a way that makes it available quickly for the application program to access relevant information of new activated objects.

When a dictionary object is modified, that means that the object previously existed and activated. You need to reactivate the object after modification.

When mass activation is performed massively, it might take a quite a long time. Then it should be in the background system. This type of activation is known as background activation.

The ABAP/4 Data dictionary is the central component of ABAP/4 repository. A Data dictionary is centralized and structured source of information for business application. The ABAP/4 dictionary is the core of the R/3 development system. It is the source of every definition, within R/3, from the very basic domain to the company data model. It is totally integrated with other tools of the development environment like screen painter, menu painter, and editor.

Some of the main available functions in the ABAP/4 dictionary are as follows:

• Add, delete, modify, and manage the definition of the dictionary data.
• Preserve the data integrity.
• Be the central source of information e.g. from the dictionary you get the information about the defined relationship between two tables or even the directory tells whether table is active or empty.
• It also permits documentation of system data.

In the R/3 system instead of working with original objects, you work with internal representation of objects. With this type of operation the system performance is enhanced and has the advantage that the development tools, screen interpreters always access current data.

When any of the data dictionary objects are used in other parts of the development workbench for example, in program, programmer only has to enter a table name or field name. The system automatically knows all the properties and information of the field.



To call ABAP/4 dictionary, from the main menu, Tools  ABAP/4 workbench  data dictionary or enter transaction SE11.


Data dictionary objects:

• Table: is a 2D data matrix containing rows and columns. Rows contain data while column indicates fields. Table can contain 0 or multiple rows.
• Structure: is a skeletal view of a table. It contains the definition of columns and don’t have any contents. Structure is generally a template based on which a table is created. The basic difference between structure and table is that the structure does not exist at the underlying database system level. Structure exists as definition in the dictionary.
• Views: A view is an imaginary table. It contains data, which is really stored in other tables. The contents for the view are dynamically generated when called from program.
• Data element: is definition of the properties and type for a table field. It is an intermediate object between the object type domain and the table field. A field in R/3 system is always associated with a data element, which at the same time is related to domain.
• Domain: is formal definition of the data type from a technical point of view. It sets the attributes such as data type, length, possible value range and so on.
• Lock objects: These types of objects are used for locking the access to database records in table. This mechanism is used to enforce data integrity that is two users cannot update the same data at the same time. With lock objects you can lock table-field or whole table.
• Search Help Objects: , which gives list of possible values for either primary keys or non-primary keys.


Tables in ABAP/4 dictionary

Tables are the basic objects in R/3 application. There are almost 8000 tables in R/3 system. Following types of tables are available

• Transparent tables
• Pool tables
• Cluster tables

From user point of view, all tables are used to store data whatever be the type of table. There is no difference in the behavior or operation of these tables. All of them can be managed by using standard OPEN SQL. However from an administrator point of view transparent table do exists with the same structure both in the dictionary as well as in the database, exactly with the same data and fields. While other two are not transparent in the sense that they are not manageable directly using database system tools. You can access these tables in R/3 environment from the ABAP/4 dictionary. You cannot use native SQL on these tables. Pool or cluster tables are logical tables, which are arranged as records of transparent table.

A table is made up of rows and columns. When the table is created, its columns are named; data type is supplied for each column. There can be only one data value in each column of each row in a table. Record or as it is called in different RDBMS is nothing but group of fields. While a column is a field of a table, a table is an indexed file. The main index is called as primary key, which can be a single field or combination of keys or fields. A primary key can be defined as a field, which indefinites a single unique record of the table. A table cannot have record with duplicate primary key.

In any RDBMS, tables are related to each other. But to relate table to each other it is necessary that one of the tables contain some information of other table. Mostly tables are related to each other through primary keys. The primary key of one table, if it exists in other table then it is called foreign key. This type of database management system means that there is some redundancy of data. But using normalization procedures available can minimize it. One of the most important functions of foreign key is to ensure data integrity. For example say you have EMP table, which has fields: emp. no., emp.name, dept.code, salary and you have DEPT tables, which has dept.code and dept.desc. Then in DEPT table dept.code is primary key while dept.code in EMP table is foreign key. If you enter dept.code for particular employee in EMP table the dept.code should exist in DEPT table. System will check the value for dept.code in DEPT table, and if does not exist then will flash error. In this case DEPT is called check table while EMP is foreign key table.

Thursday, November 27, 2008

Logging for the first time

WORKING WITH R/3 system

The SAP R/3 presentation interface behaves very similarly to any other typical window application and is also known as SAPGUI. The first screen that you come across in R/3 system is SAP logon screen.

SAP R/3 logon Screen

This is the first screen that appears when you use SAP logon utility. It has four fields: the client, the user, the password and the language.


Client: Here you enter the client number. The client is group of users who has similar rights. It can be group of users in a business entity or a whole business entity or a whole company.
• User: The name of the SAP user identification. Users of the SAP system are client-specific, which means that user belonging to one client is valid to only the particular client.
• Password: It is the password that has been assigned by the system administrator.
• Language: SAP R/3 system supports multinational language on the same system at the same time, which is very useful for multinational companies with different branches in several countries and possibly using different languages.

After entering all the fields press ENTER key and system will take you to MAIN MENU screen.

User might get different screens when he logs on, depending upon default settings of the user master record i.e., if user is DEVELOPER then the screen which he often works on is editor screen and he can go directly to this screen, if system administrator sets this screen for the user.

Main features of any R/3 window are as follows:
• R/3 standard window elements behave exactly the same, as any other standard window application would, like minimizing a screen, setting the active window etc.
• From TOP to BOTTOM, R/3 window can contain typical elements such as check boxes, push buttons, input fields and following elements:
• Menu bar is the first element of the every R/3 window. It contains the menu item corresponding to the particular R/3 application. The two menu options SYSTEM and HELP are always present in every R/3 window. SYSTEM menu option contains all utilities and functions, and is available to user at all the times. The HELP menu contains all the available options for the different types and methods of obtaining online help in the system.
• Standard tool bar. The second R/3 window element is present in every R/3 window. It is nothing but a collection of icons, which perform common functions like saving the object, exit etc. The various icons on std. Tool bar are as follows (from left to right):
Enter Command Field Save Back
Exit Cancel Print Find
Find Next First Page Previous Page Next Page
Last Page Help
All icons in R/3 window application support FOCUS property. It means, if you place cursor over an icon, the system will show the function of the icon.
• Application tool bar: The next part of the screen contains icons most commonly used in that particular task or transaction.
• Status bar is the bottom line of the screen and usually shows errors or information messages to the user. It also includes other information such as system id, session number, client, server name and the response time.

In between application tool bar and status bar you have working area, which is different for different screens.
Logging Off

User can log off the R/3 system from any screen. There are three ways of logging off the R/3 system, which are as follows:
• From the Menu bar choose SYSTEM  LOG OFF. In this case, you get the log off dialog box, which informs the user that any data not saved will be lost if continuing with the log off procedure.
• Use/NEX transaction code in the command field. This is dangerous, since it does not ask if you want to save the data.
• Clicking on the EXIT button on the R/3 initial screen.

Using Transaction Code

The R/3 system provides an alternative and efficient way of selecting menu options for moving around the tasks and functions of the SAP system by using transaction code directly in the command field.

When moving with transaction, you can go to any part of the system by merely typing a transaction code in the command field, provided you have authorization for that. That transaction code is the four-character code associated with any task. By typing the transaction code and pressing ENTER key, the system takes you directly to the initial screen for transaction. Whenever any transaction code is entered in the command field, it gets stored in the buffer memory. If you click on drop down arrow, system displays list of transaction code already entered and you can select from this list or enter new one. There are almost twelve thousand and ninety four transactions in SAP. For every task, transaction code is associated and it can be found by

• SYSTEM  STATUS
Status window is popped up which contains the transaction code in the trans field.
• Through DYNAMIC MENU. It gives the list of tasks. If you click on the top line of the application areas and pressing the search and search next button will give you the transaction code. /N will take you to initial screen of R/3

Important transaction codes, which you will be using often, are:

Editors
• SE37 Function Builder
• SE38 ABAP/4 Editor
• SE41 Menu Painter
• SE51 Screen Painter
• SE71 Form Painter

Dictionary
• SE11 Initial ABAP/4 dictionary maintain screen.

Browsers
• SE80 Object browser.
• SE16 Data browser.

Testing Tools
• SE30 Runtime Analysis
• ST05 SQL Trace
Getting help in the R/3 system

R/3 includes many possibilities to get online help for almost every element of the system, users can get help for entire application, for specific function, for definitions of various terms used in SAP, i.e., Glossary, messages, screens, fields etc.

You obtain HELP by using any of the following options:

• Help function from the R/3 window, which is compulsory menu item of every R/3 window.
• ? Icon of standard tool bar.
• F1 function key.

The SAP system provides help on most fields that appear on the R/3 system. To get help on particular field, position the cursor over it and press help button or F1 function key.

Another way in which R/3 system provides help is when system displays error messages in the status bar. Double clicking on the status bar shows additional information about the message.

Wednesday, November 26, 2008

SAP architecture

A typical SAP system consists of various business modules, numerous sector and cross-sector solutions. A distributed system of this nature requires a common infrastructure, which is provided by SAP NetWeaver and in particular, by the SAP Web Application Server (WAS).

Major points to note and keep in mind would be:
R/3
Layers of WAS: presentation, application and database.
The interfaces used between presentation and application, application and database.
• ICM – Internet Communication Manager
• Roll in / Roll out
• Work processes, Gateway and dispatcher.

If the above points are not clear kindly Google and try to find more about them or post your queries here. It would help you in connecting the dots ahead.

...continued...Introduction to SAP

With a successful SAP implementation, however, if it has to run efficiently in the long term, it should meet the demands of the market, business requirements and the enterprise.

It is important we understand the three separately and later collectively.
Market is where the enterprise will sell its product and services. The demand of the finished product and supply of raw material should drive the decisions of internal operations.
Business Requirements are the broad description of a particular projects’ achievements, standards etc.
As we will see ahead, business requirements are further broken down into sub-business requirements with design level inputs known as Functional Requirements.

SAP has provided necessary integration and data models to help link and coordinate separate functional units in an organization.
By functional unit we mean the separate entities of an enterprise that may operate independently or dependently, but there is always data and resources to be shared between different functional units. This is critical in making the business effective.
Most importantly cost savings and increase in productivity.

SAP implementation usually involves high level of training due to definition and implementation of strict procedure instructions and new business processes. More often getting used to the cultural aspects of an Implementation and Constraints is a lot more challenging than the actual tasks.

There is also challenge of modification in the structure of the Enterprise. With Mergers and Acquisitions, enterprises must move from traditionally vertically built organization to enterprise made up of different organizations.
Add to that there are vendors, customers and partners. Complexity increases…to what magnitude? That is a subjective matter we can avoid!

When many enterprises do business often and at a huge scene, they want it to be highly efficient with highly effective internal linked systems. The ERP systems’ architecture and functions are directly influenced by business processes.
This is the order of the day - that ERP is desired to be integrative and based upon external requirements rather than internal or application specific requirement.

Quite often integration solutions are based on exchanging data. This again requires enterprise to make sure the technical process flow is streamlined. A system which is already complex gets more complicated by partly inflexible processes. Result is an ever increasing Total Cost of Ownership (TCO) – caused by ever increasing time and capital of implementing and maintaining an ERP. This leads to improvements to use existing resources optimally and continually check and improve processes.

Quality of systems used, that is, the processes and the data. The data should be secure(which was the utmost priority till last generation), now the need is data should be secure as well as of high quality. Centralized data available should be of high quality – this is important for SAP key systems and related SCM or CRM solutions.


Earlier there used to be a person designated to oversee every operation, when processes go beyond enterprise boundaries, this is no longer possible. Requirements of real-time enterprises can be met only if processes are automatically monitored for duration, integrity and outcome, and if there are predefined roles and responsibilities for handling any problems that arise. Useful data and knowledge is by-product of this real-time business monitoring and can provide a basis for the continued improvement of business processes.

Monday, November 24, 2008

Short Introduction to SAP

To start with the introduction of SAP:
my commentary about SAP will eventually shape and reshape but to get going with ABAP - let start with a short word document.
SAP abbreviation for ‘Systems Application and Products in Data Processing’ is the largest business software e produced by SAP AG.
Find a word document SAP_an_overview_for_the_beginers at my enips account.

Sunday, June 29, 2008

SAP dont want PhDs

With all due respect to PhD, and the amount of knowledge they carry, SAP being an all out enterprise solution needs industry expertise to make it work for users.
I shall write about it in detail later on... for now something to start with(hello world program seems tricky :p) so i have some globe talk- i love giving a piece of whatever I know ( with running a high-risk of being proved wrong quiet often ).

My friends' acquaintance's friend...asks me and I put a reply to not make it complicated for him(almost like saying look elsewhere) but I have seen people struggling so I think I suggested the right thing


Hi

It is great that you are thinking of SAP right after your college.
As u already know there are many functional modules in SAP, and you are thinking of FICO.
What SAP actually does is--make the process easier(streamline and takes care of complications) which is profitable for company and good for users also.
So, if we consider above statement right, a functional consultant should be having good knowledge of whatever industry domain he wants to get into SAP.(in your case it is Finance).
Once you become an expert(have knowledge about various finance processes, how they are automated in IT and other things) you will be able to be a greater asset for the company and it will be more rewarding in salary and job profile too.

In addition, please have a look at SAP certification: not worth much?


Below are the answers to your questions:

1. I don't have any technical experience I am a simple graduate so is it good for me to join Sap.

If not good technically not a problem as you are planning for functional module but you have to be very good in your functional field--generally CA or CFA get into SAP.

2. There are so many institute here in Delhi so which institute should I prefer. Sap authorized center or any institute the main difference is authorized centers are charging very high and even after that they are not giving any placement guarantee.

Yes that’s right, there is an entry barrier, fresher men as SAP consultant are not much entertained, it’s a risk(for you as well as the company incase if any hires you). You can browse through different forums online and get more info

3. After completing the Sap, possibility of getting a job is good or not satisfactory.

Good only after you have good prior experience

4. How much pay package a fresher gets after completing Sap?

I have no idea, coz I don’t know any fresher joining directly into SAP

5. Which module is good to join in Sap however I am planning to join FICO module.


based on prior work experience or your area of expertise in industry you can choose your module.Remember that SAP is for industries--very less academic, so degree matters less than experience unless its MBA or any professional degree of your choice of domain such as CA,CFA or APIC certification.