SAP ERP Overview - Course Material

57
ERP ENTERPRISE RESOURCE PLANNING Page 1 6/18/2022

Transcript of SAP ERP Overview - Course Material

Page 1: SAP ERP Overview - Course Material

ERPENTERPRISE RESOURCE PLANNING

Page 1 4/11/2023

Page 2: SAP ERP Overview - Course Material

TABLE OF CONTENTS

1. INTRODUCTION.................................................................................................................. 3

1.1 PURPOSE OF THIS INTRODUCTION....................................................................................31.2 WHY ERP?................................................................................................................... 3

1.2.1 Merits......................................................................................................................... 41.2.2 Demerits..................................................................................................................... 5

2. SAP.................................................................................................................................... 7

2.1 HOW TO PRONOUNCE SAP?...........................................................................................72.2 WHAT IS SAP R/3?........................................................................................................72.3 WHY SAP?.................................................................................................................... 7

2.3.1 Business Process Reengineering (BPR).................................................................82.3.2 Workflow Perspective............................................................................................92.3.3 Software Alternatives.............................................................................................92.3.4 Software Complexity............................................................................................102.3.5 SAP R/3 Adoptions..............................................................................................112.3.6 Best Business Practices.......................................................................................112.3.7 Event Driven Transaction Processing...................................................................12

3. ABAP WORKBENCH ENVIRONMENT AND TOOLS........................................................13

3.1 INTRODUCTION.............................................................................................................133.1.1 Workbench Tools......................................................................................................13

3.2 ABAP EDITOR AND FUNCTIONS.....................................................................................153.2.1 Front End Editor...................................................................................................153.2.2 Back End Editor...................................................................................................17

3.3 ABAP DICTIONARY.......................................................................................................193.3.1 Creating Tables...................................................................................................213.3.2 Creating Views.....................................................................................................233.3.3 Creating Types....................................................................................................263.3.4 Creating Lock Objects..........................................................................................28

3.4 SCREEN PAINTER.........................................................................................................283.4.1 Creating Screens.................................................................................................29

3.5 MENU PAINTER.............................................................................................................333.5.1 Creating GUI Title................................................................................................333.5.2 Creating GUI Status.............................................................................................343.5.3 Creating Context Menu........................................................................................34

3.6 OBJECT NAVIGATOR......................................................................................................353.6.1 Areas of Navigation in Object Navigator...............................................................373.6.2 Objects Lists in Object Navigator..........................................................................38

3.7 EXERCISE....................................................................................................................41

Page 2 4/11/2023

Page 3: SAP ERP Overview - Course Material

1. Introduction

1.1 Purpose of this Introduction

This introduction is intended to give brief idea about ERP (Enterprise Resource

Planning Techniques). The term ERP originally implied, to plan the utilization of

enterprise-wide resources. Although the acronym ERP originated in the manufacturing

environment, today's use of the term ERP has much broader scope. ERP’s typically

attempt to cover all basic functions of an organization, regardless of the organization's

business or charter. Business, non-profit organizations, governments, and other large

entities utilize ERP systems.

1.2 Why ERP?

Prior to the concept of ERP systems, departments within an organization

would have their own computer systems. For example - the Human

Resources (HR) department, the Payroll (PR) department, and the

Financials department have their own systems. The HR computer system

(Often called HRMS or HRIS) would typically contain information on the

department, reporting structure, and personal details of employees. The PR

department would typically calculate and store paycheck information. The

Financials department would typically store financial transactions for the

organization. Each system would have to rely on a set of common data to

communicate with each other. For the HRIS to send salary information to

the PR system, an employee number would need to be assigned and remain

static between the two systems to accurately identify an employee. The

Financials system was not interested in the employee level data, but only

the payouts made by the PR systems, such as the Tax payments to various

authorities, payments for employee benefits to providers, and so on. This

provided complications. For instance, a person could not be paid in the

Payroll system without an employee number.

Page 3 4/11/2023

Page 4: SAP ERP Overview - Course Material

After the evolution of ERP software, among other things, combined the data of formerly

disparate applications. This made the worry of keeping employee numbers in

synchronization across multiple systems disappear. It standardized and reduced the

number of software specialties required within larger organizations. It enabled reporting

that spanned multiple systems much easier. And it allowed for the development of

higher-level analysis functions enabling larger organizations to identify trends within the

organization and make appropriate adjustments more quickly.

1.2.1 Merits

In the absence of an ERP system, a large manufacturer may find itself with many

software applications that do not talk to each other and do not effectively interface.

Tasks that need to interface with one another may involve:

design engineering (how best to make the product)

order tracking from acceptance through fulfillment

the revenue cycle from invoice through cash receipt

managing interdependencies of complex Bill of Materials

tracking the 3-way match between Purchase orders (what was ordered),

Inventory receipts (what arrived), and Costing (what the vendor invoiced)

The Accounting for all of these tasks tracking the Revenue, Cost and Profit

on a granular level.

Change how a product is made, in the engineering details, and that is how it will now be

made. Effective dates can be used to control when the switch over will occur from an

old version to the next one, both the date that some ingredients go into effect, and date

that some are discontinued. Part of the change can include labeling to identify version

numbers.

Computer security is included within an ERP, to protect against both outsider crimes,

such as industrial espionage and insider crime, such as embezzlement. A data-

tampering scenario might involve a terrorist altering a Bill of Materials so as to put

poison in food products, or other sabotage. ERP security helps to prevent abuse as

well.

Page 4 4/11/2023

Page 5: SAP ERP Overview - Course Material

There are concepts of Front office (how the company interacts with customers), which

includes CRM or Customer relationship management; Back end (internal workings of

the company to fulfill customer needs), which includes quality control, to make sure

there are no problems not fixed, in the end products; Supply chain (interacting with

suppliers and transportation infrastructure). All of these can be integrated through an

ERP, although some systems have gaps in comprehensiveness and effectiveness.

Without an ERP that integrates all these, it can be quite complicated for a manufacturer

to handle.

1.2.2 Demerits

Many of the problems that organizations have with ERP systems are due to the

inadequate level of investment in ongoing training for all personnel involved. This

include the implementing and testing changes, as well as a lack of corporate policies

protecting the integrity of the data held in the ERP systems and how it is used.

Limitations of ERP include:

Success depends on the skill and experience of the workforce, including

training about how to make the system work correctly. Many companies cut

costs by cutting training budgets. Privately owned small enterprises are

often undercapitalized, meaning their ERP system is often operated by

personnel with inadequate education in ERP in general, such as APICS

foundations, and in the particular ERP vendor package being used.

Personnel turnover; companies can employ new managers lacking

education in the company's ERP system, proposing changes in business

practices that are out of synchronization with the best utilization of the

company's selected ERP.

Customization of the ERP software is limited. Some customization may

involve changing of the ERP software structure, which is usually not allowed.

Re-engineering of business processes to fit the "industry standard"

prescribed by the ERP system may lead to a loss of competitive advantage.

ERP systems can be very expensive to install.

Page 5 4/11/2023

Page 6: SAP ERP Overview - Course Material

ERP vendors can charge sums of money for annual license renewal that is

unrelated to the size of the company using the ERP or its profitability.

Technical support personnel often give replies to callers that are

inappropriate for the caller's corporate structure. Computer security concerns

arise, for example when telling a non-programmer how to change a

database on the fly, at a company that requires an audit trail of changes so

as to meet some regulatory standards.

ERPs are often seen as too rigid, and difficult to adapt to the specific

workflow and business process of some companies - this is cited as one of

the main causes of their failure.

Systems can be difficult to use.

The system can suffer from the "weakest link" problem - inefficiency in one

department or at one of the partners may affect other participants.

Many of the integrated links need high accuracy in other applications to work

effectively. A Company can achieve minimum standards, then over time

"dirty data" will reduce the reliability of some applications.

Once a system is established, switching costs are very high for any one of

the partners (reducing flexibility and strategic control at the corporate level).

The blurring of company boundaries can cause problems in accountability,

lines of responsibility, and employee morale.

Resistance in sharing sensitive internal information between departments

can reduce the effectiveness of the software.

There are frequent compatibility problems with the various legacy systems of

the partners.

The system may be over-engineered relative to the actual needs of the

customer.

Page 6 4/11/2023

Page 7: SAP ERP Overview - Course Material

2. SAP

2.1 How to Pronounce SAP?

SAP is Systems, Applications and Products in Data Processing.  That is, SAP is

pronounced like IBM for International Business Machines.

2.2 What is SAP R/3?

SAP is business enterprise software because it encompasses many different aspects of

information systems technology for core business processing including:

Change agent

Way of doing business

Way of life

Standard business software

Systems development methodology

There are three different perspectives for viewing the SAP R/3 System that

include:

Screens/reports used for transaction processing

Configuration activities for the application modules

Management of the overall SAP implementation project

2.3 Why SAP?

Over time, businesses grow and change. Their information systems can no longer meet

the information processing requirements of the business. The current systems must be

improved either by making extensive changes to the existing systems or by replacing

those systems. Either alternative represents a major business expense.

Page 7 4/11/2023

Page 8: SAP ERP Overview - Course Material

For example, consider your car. You have 124,000 miles on it. It is in need of an engine

overhaul and tune up, new brakes, new tires, and the radio doesn’t work. If you just

love that old car, you may fix it up. But, when you get done, it’s still an old car, which

will likely soon be in need of even more repairs. So, if you're looking for trouble free

transportation, a better alternative may be to get a new car. The same situation occurs

for information systems in organizations. Although the program code is not worn out, it

is in need of major repairs to meet the information processing requirements of the

business.

The “Year 2000” has impacted many information systems. They are in need of a major

overhaul. In many situations, it is better to replace them rather than trying to repair

them. Also, the sleek, unpatched, new model will provide a number of years of trouble

free service. With automobiles, you can usually get a better product at a lower cost if

you purchase one produced by an automobile manufacturer on an assembly line, rather

than attempting to build your own. In today’s world of business software, a similar

situation exists for the core business, financial software used by many businesses. SAP

R/3 provides a flexible solution to the replacement of aging business software and it’s

“Year 2000” compliant.

So, why are so many companies putting themselves through the "heartache of SAP?"  

How about trying to live with "band aid" together systems?   Data is not only NOT

shared but quite often in different systems.  One company has 27 vendor masters in

separate accounts payable modules, as well as duplicate vendor masters in standalone

purchasing systems.  Ask anyone at that company what they'd like, and you'll get the

same response:  a fully integrated package, Enterprise Software.

In short, the current system is BROKE, and it needs to be REPLACED!

2.3.1 Business Process Reengineering (BPR)

Many business opportunities are enhanced through reengineering of technological

standards, which support strategic objectives and policies.  This has been a continuing

process for the Dow Chemical Company.  To meet its strategic goals, SAP was

implemented in the early-1990.  Prior to implementation, there were many accounting

Page 8 4/11/2023

Page 9: SAP ERP Overview - Course Material

and inventory systems in place throughout the Dow organization.   Inefficiencies were

the rule instead of the exception.  Anytime a change was needed the information

systems staff would need to implement it on each of the various systems within Dow's

environment.  The information systems staff was NOT large enough to continue to

support the required changes and much time and profit was lost.  A better solution was

created through BPR conducted with the implementation of SAP.

For reengineering, consider a comparison between the dinosaur and the crocodile.  

The crocodile was able to adjust (reengineer), so it is still around.   However, the

dinosaur was NOT able to adjust, so now it is extinct.

With BPR, the old ways of doing business should be questioned.  An example of

questioning prior assumptions involves a situation in which errors were accepted as

inevitable and so a certain amount of leeway was needed to accommodate this in

manufacturing processes.

2.3.2 Workflow Perspective

The idea behind workflow technology is to create a single environment to manage the

complexity of multiple office interrelationships. As software and data have migrated

from individualized solutions with dedicated functionality to integrated solutions then to

groupware solutions, workflow has evolved as an arrangement for the coordination of

multiple workgroups using multiple technologies. In many ways, workflow becomes the

conductor of data, documents, applications, communications, and the user interface.

SAP R/3 enterprise software is an enabling technology that supports workflow activities

in business organizations.

Implementing SAP R/3 usually forces a business to change some of its workflow

processes. Those processes are reengineered to fit the processing available in SAP

R/3 through the implementation of "best business practices."

2.3.3 Software Alternatives

Page 9 4/11/2023

Page 10: SAP ERP Overview - Course Material

With software tools such as Microsoft Word, Excel, and Access, the focus on

information processing is PRIMARILY the development of analyses that are prepared

by one individual with limited sharing. When sharing occurs, it is frequently by sending

the file to a co-worker. Several people in a department may use some small database

applications. However, there is little sharing of the information throughout the company.

When you learn how to use these software tools, you are learning how to prepare your

own reports and analyses. You may share the file on an office network or send it via

email to a co-worker.

Hundreds or thousands of users in the same organizations do not use applications

developed using personal productivity software tools. They do not turn out thousands of

billings each day, such as that required by companies that prepare utility bills or send

out credit card or other customer statements.

The use of these tools centers on SMALL applications with limited user access. You

can often learn how to use one of these tools with a few hours of instruction. You have

few business rules to learn before you are ready to use Word to write a memo to a co-

worker.

The focus of SAP R/3 and other enterprise software is on sharing information among

many hundreds or thousands of employees in a single company. It is designed for

much, much larger volumes of transactions than those are that might be processed

using a system developed with a personal productivity tool. Learning about enterprise

software requires you to learn about most of the core business transaction processing

in a company. This involves many business rules and is far more complex than writing a

memo to a co-work or preparing a project budget with Excel. With a word processor,

you can learn a few commands for entering, editing, and saving data. Then you are

ready to write your own memo. To process a transaction in a company, you need to

know about customer numbers, product numbers, billing options and so on. Otherwise,

you won’t have the data needed for a single transaction. There is much to learn before

you are ready to process transactions. There is even more to learn before you are

ready to set up the business rules implemented in the enterprise software.

And, Microsoft runs its core business processes on SAP software, not using Microsoft

Office.

Page 10 4/11/2023

Page 11: SAP ERP Overview - Course Material

2.3.4 Software Complexity

If using Word, Excel, or Access personal productive software is like riding a motorcycle,

then using SAP in a company is like flying a jumbo jet. It takes much less training to

ride the motorcycle, than is does to pilot a jumbo jet. If you have a problem with your

motorcycle, it is relatively easy to pull to the side of the road and fix it. If you are flying a

jumbo jet at 30,000 feet, there is no pulling over to fix a problem. Everything must

function as expected or many people are affected. If you create an Excel spreadsheet,

and discover a formula is in error, you can easily correct it. Most likely, only a few of

your coworkers would be affected by your fix. If the jumbo jet needs to make an

emergency landing, several hundred passengers are affected. If an SAP R/3 System

cannot process customer orders, many thousands of employees could be affected.

Like personal productivity software, you can learn to ride a motorcycle in a short

amount of time. After a few hours of instruction, you are ready for hands-on operation.

To learn to pilot a jumbo jet takes years of learning and experience. This is similar to

understanding the many business processes included in SAP R/3 that can take several

years. After a few hours of instruction, you may be able to process a few the SAP R/3

transactions. Similar to a passenger in a jumbo jet going along for the ride. Clearly,

learning the details of SAP requires much more knowledge before you are ready to

begin to configure this software. These lessons help you learn about SAP so you can

be an informed passenger. You’ll need to gain additional experience before you are

ready to pilot a SAP configuration.

2.3.5 SAP R/3 Adoptions

In replacing core business applications, SAP R/3 is centered on:

Streamlining, integrating, and time synchronizing core operating and

management processes.

Under conditions of increased organizational complexity, uncertainty, and

speed of change.

A decision to implement enterprise software impacts a very significant

portion of the information processing activities in an organization with old

methods torn out and replaced by new methods.

Page 11 4/11/2023

Page 12: SAP ERP Overview - Course Material

2.3.6 Best Business Practices

With R/3, more than 1,000 ready-made business processes are available for use

in customizing the SAP application modules.

SAP builds Best Business Practices by gathering requirements from a number of

sources that include a development request process, user groups, industry groups, and

alliance partnerships. The development request process is a procedure established by

SAP for customers to submit requests for enhancement and improvements in R/3 and

it's business processes. These are then incorporated in the application modules based

on the needs of the SAP customer base, which now exceeds 10,000 companies

2.3.7 Event Driven Transaction Processing

SAP R/3 is event-driven. Data is entered into the applications of R/3 and processed for

the various events in the primary value chain. A business event is the primary trigger for

the processing actions in R/3. That is, a SAP R/3 transaction begins in reaction to a

business event such as the shipment of a customer order.

Page 12 4/11/2023

Page 13: SAP ERP Overview - Course Material

3. ABAP Workbench Environment and Tools

3.1 Introduction

This section describes about the different tools available in the ABAP workbench. For

example, when you are working on a program, the ABAP Editor will also recognize

objects created using other tools. This integration means if you double-click an object,

the Workbench automatically launches the tool that was used to create the object.

3.1.1 Workbench Tools

ABAP Dictionary SE11

ABAP/4 Editor SE38

Function Builder SE37

Page 13 4/11/2023

Page 14: SAP ERP Overview - Course Material

Object Browser SE80

Screen Painter SE51

Menu Painter SE41

Performance Tuning ST05

Runtime Analysis SE30

Class Builder SE24

From SAP Easy Access Menu you can navigate to ABAP Workbench Tools.

SAP Menu -> Tools -> Development -> ABAP Dictionary or giving the Transaction

code in the Command Field.

Page 14 4/11/2023

Page 15: SAP ERP Overview - Course Material

3.2 ABAP Editor and Functions

The ABAP Editor is a tool that you use to write ABAP programs, class methods,

function modules, screen flow logic, type groups, and logical databases.

Editor Modes

The ABAP Editor has two different modes:

Frontend editor

Table control mode

The frontend editor uses the SAP Textedit Control from the SAP Control Framework. It

loads your source code onto the frontend and allows you to perform many tasks without

any communication with the application server.

Please note that command mode is no longer supported in the new version of the

ABAP Workbench and is therefore no longer available in Release 4.6B.

Integration

Table control mode and frontend editor are fully compatible and interchangeable –

source code that you have created using one mode is properly reproduced by the

system in the other without you having to do anything yourself. In particular, the line

lengths are the same. If you exceed the maximum length, the system automatically

inserts a line break.

Both editor modes offer the same source code layout. The contents of the editor are

displayed exactly as they are stored in the database. There is no automatic conversion

(for example, into uppercase) in either mode.

Differences

There are differences between the two modes in respect of how they are used, the

system requirements, and (to a small extent) the functions that they contain. Other

sections of this documentation explain the differences in more detail.

3.2.1 Front End Editor

In the frontend editor, the ABAP source code is loaded onto the frontend and edited

locally. The advantage of this is that all-editing functions that do not require

communication with the backend can be performed very quickly.

Page 15 4/11/2023

Page 16: SAP ERP Overview - Course Material

However, the communication channel between the frontend and backend can be

overloaded when you use the frontend editor. If you have a large program, this can be

a problem even in a LAN environment, but in a WAN, it can become critical.

You can edit the following development objects in the frontend editor:

ABAP programs

Method implementations (Class Builder)

Function module implementations (Function Builder)

Screen flow logic (Screen Painter)

Type groups (ABAP Dictionary)

The frontend editor of the ABAP Editor contains the following features:

Local scrolling (only available in this mode)

Cut, copy, and paste for selected text areas (only available in this mode)

Drag and drop (only available in this mode)

Context menu (right-click) for accessing editor functions (only available in

this mode)

Local find and replace function

Navigation to a selected line (using the context menu)

Access to the buffer and block operations (using the context menu)

Commenting out text blocks

Working with blocks and clipboards

Navigation functions (forward navigation)

Syntax check, displaying error messages and warnings in a separate

window

Colored highlighting for comment lines

Automatic line feed when the maximum line width is reached (only available

in this mode)

Insert statement function.

Multiple-step undo and redo functions (only available in this mode)

Displays current cursor position

Pretty Printer for standardizing the layout

Import and export for local files.

Page 16 4/11/2023

Page 17: SAP ERP Overview - Course Material

3.2.2 Back End Editor

The backend editor allows you to use the traditional backend editor for editing your

ABAP coding. The editor is line-based, and to use normal editor functions such as cut,

copy, and paste, you must first select a block of lines. It is often useful to use the

clipboards in this mode.

If you have a very long program (and especially if you are working in a WAN

environment), the backend editor can produce better performance than the frontend

editor. Furthermore, backend editor allows you to edit any development object that is

based on the ABAP Editor. The split screen editor, the BOR Editor, and the Logical

Database Editor are only available in the backend editor.

The backend editor of the ABAP Editor provides the following functions:

Navigation functions (forward navigation).

Block selection and clipboards.

Compression logic (only available in this mode).

Line numbering (only available in this mode).

Find and replace functions.

Colored highlighting for comment lines.

Insert statement function.

Include expansion (only available in this mode).

Single-step undoes function.

Conversion of a text block to comment lines.

Pretty printer for standardizing program layout.

Syntax checks.

Upload and download of local files.

From SAP Easy Access Menu you can navigate to ABAP Workbench Tools.

SAP Menu -> Tools -> ABAP Workbench -> Development -> ABAP Editor or giving the

Transaction code SE38 in the Command Field.

Page 17 4/11/2023

Page 18: SAP ERP Overview - Course Material

Page 18 4/11/2023

Page 19: SAP ERP Overview - Course Material

3.3 ABAP Dictionary

The ABAP Dictionary centrally describes and manages all the data definitions used in

the system. The ABAP Dictionary is completely integrated in the ABAP Workbench. All

the other components of the Workbench can actively access the definitions stored in

the ABAP Dictionary.

The ABAP Dictionary supports the definition of user-defined types (data elements,

structures and table types). You can also define the structure of database objects

(tables, indexes and views) in the ABAP Dictionary. These objects can then be

automatically created in the database with this definition. The ABAP Dictionary also

provides tools for editing screen fields, for example for assigning field input help (F4

help). The most important object types in the ABAP Dictionary are tables, views, types

(data elements, structures, table types), domains, search helps and lock objects.

Tables - are defined in the ABAP Dictionary independently of the database. A table

having the same structure is then created from this table definition in the underlying

database.

Page 19 4/11/2023

Page 20: SAP ERP Overview - Course Material

Views - are logical views on more than one table. The structure of the view is defined in

the ABAP Dictionary. A view on the database can then be created from this structure.

Types - are used in ABAP programs. The structure of a type can be defined globally in

ABAP programs. Changes to a type automatically take effect in all the programs using

the type.

Lock objects - are used to synchronize access to the same data by more than one

user. Function modules that can be used in application programs are generated from

the definition of a lock object in the ABAP Dictionary.

Different fields having the same technical type can be combined in domains. A domain

defines the value range of all table fields and structure components that refer to this

domain.

The ABAP Dictionary also contains the information displayed with the F1 and F4 help

for a field in an input template. The documentation about the field is created for a data

element that describes the meaning of the contents of a table field. A foreign key or

search help creates the list of possible input values that appears for the input help.

Integration in the ABAP Workbench

The ABAP Dictionary is completely integrated in the ABAP Workbench. The R/3

System works interpretatively, permitting the ABAP Dictionary to be actively integrated

in the development environment. Instead of the original objects, the interpreters see

only internal representations of these objects.

These internal representations are adjusted automatically when the system finds that

changes have been made in the ABAP Dictionary. This ensures that the screen, ABAP

interpreters, input help, database interface, and development tool always access

current data.

Page 20 4/11/2023

Page 21: SAP ERP Overview - Course Material

3.3.1 Creating Tables

From SAP Easy Access Menu you can navigate to ABAP Workbench Tools.

SAP Menu -> Tools -> ABAP Workbench -> Development -> ABAP Dictionary or giving

the Transaction code SE11 in the Command Field.

1. In the initial screen of the ABAP Dictionary, select object class Database table,

enter the table name and choose Create.

The maintenance screen for the table is displayed.

2. Enter an explanatory short text in the field Short text.

You can for example find the table at a later time using this short text.

3. On the Delivery and Maintenance tab, enter the delivery class of the table.

On this tab, choose an entry from the dropdown box for the Data Browser/Table

View Maintenance field. Choose Table maintenance allowed on this tab page if

users with the corresponding authorization might change the data in the table

using the Data Browser (Transaction SE16). For more information refer to the

available options in Data Browser/Table View Maintenance.

4. On the Fields tab page, enter the table fields. Perform the following steps for

each table field:

Page 21 4/11/2023

Page 22: SAP ERP Overview - Course Material

Enter a name for the table field in the column Fields. The field name may only

contain letters, digits and underlining, and it must begin with a letter. A field

name may not be longer than 16 characters.

5. Maintain the technical settings for the table. The corresponding maintenance

screen is displayed with Goto ® Technical settings.

The technical settings are a separate object and can be activated and

transported separately from the table.

6. Maintain (if necessary) the foreign key relationships of the table to other tables.

The corresponding maintenance screen is displayed if you place the cursor on

the check field and choose .

7. Create (if necessary) secondary indexes for the table.

To do this choose Goto ® Indexes.

8. Save the table .

A dialog box appears in which you have to assign the table a development

class.

For tables with the Delivery Class G or E, you must also maintain a customer

namespace (key block of the table) for the table entries. SAP cannot change

table entries or import new entries in the customer namespace during upgrades.

To navigate to the appropriate maintenance transaction, choose Define

Customer Namespace on the Attributes tab.

9. Choose an enhancement category.

10. Choose .

Constraints

All the key fields of a table must be stored together at the beginning of the table.

A non-key field may not occur between two key fields.

A maximum of 16 key fields per table is permitted. The maximum length of the

table key is 255.

If the key length is greater than 120, there are restrictions when transporting

table entries. The key can only be specified up to a maximum of 120 places in a

transport. If the key is larger than 120, table entries must be transported

generically.

Page 22 4/11/2023

Page 23: SAP ERP Overview - Course Material

A table may not have more than 249 fields. The sum of all field lengths is limited

to 1962 (whereby fields with data type LRAW and LCHR are not counted).

Fields of types LRAW or LCHR must be at the end of the table. Only one such

field is allowed per table. There must also be a field of type INT2 directly in front

of such a field. The actual length of the field can be entered there by the

database interface.

3.3.2 Creating Views

1. Select object class View in the initial screen of the ABAP Dictionary, enter the

view name and choose Create.

A dialog box appears in which you must select the view type.

2. You go to the maintenance screen of the selected view type with Choose.

The procedure to be followed (depending on the view type) is described in:

Creating Database Views

1 Enter an explanatory short text in the field Short text.

You can for example find the view at a later time using this short text.

2 Define the tables to be included in the view in the Tables field of the Tables/Join

conditions tab page.

Keep in mind that you can only include transparent tables in a database view.

3 Link the tables with join conditions.

If there are suitable foreign keys between the tables, you should copy the join

conditions from these foreign keys. Place the cursor on a table name and

choose Relationships. All foreign keys to other tables defined for this table are

displayed. Select the foreign keys and choose Copy. The join condition is

now derived from the definitions in the foreign key.

If you only want to see the foreign key relationship existing between two tables,

you must first select these two tables (click on the first column of the input area

Tables) and then choose Relationships.

4 On the View fields tab page, select the fields that you want to copy to the view.

Page 23 4/11/2023

Page 24: SAP ERP Overview - Course Material

Choose Table fields. All the tables contained in the view are displayed in a

dialog box. Select a table. All the fields contained in this table are displayed.

You can copy fields by selecting them in the first column and choosing Copy.

5 On the Selection conditions tab page, you can (optionally) formulate restrictions

for the data records to be displayed with the view.

6 The selection conditions define the data records that can be selected with the

view.

7 With Goto ® Technical settings, you can (optionally) maintain the technical

settings of the database view.

8 On the Maintenance status tab page, select the maintenance status of the

database view.

If the view contains more than one table, the maintenance status read only

cannot be altered.

9 Save your entries. You are asked to assign the view a development class.

You can change this development class later with Goto ® Object directory entry.

10 Choose .

Creating Maintenance Views

1. Enter an explanatory short text in the field Short text.

You can for example find the view at a later time using this short text.

2. Enter the primary table of the view under Tables in the Tables/Join conditions

tab

page. Only those tables that are linked with the primary table (indirectly) with a

foreign key can be included in the maintenance view.

3. If required, include more tables in the view. In a maintenance view you can

insert tables that are linked to one another with foreign keys.

Place the cursor on the primary table and choose Relationships. All existing

foreign key relationships of the primary table are displayed. Select the required

foreign key and choose Copy. The secondary table used in such a foreign

key is included in the view.

4. On the View fields tab page, select the fields that you want to copy to the view.

Page 24 4/11/2023

Page 25: SAP ERP Overview - Course Material

Choose Table fields. All the tables contained in the view are displayed in a

dialog box. Select a table. The fields of the table are now displayed in a dialog

box. You can copy fields by selecting them in the first column and choosing

Copy.

All key fields of the primary table must be included in a maintenance view. In

addition, all key fields of secondary tables that are not involved in the foreign

key (that is, which are not linked via a join condition to a key field already

included in the view) must be included in the view.

This ensures that the records inserted with a maintenance view can be written

correctly in the tables contained in the view.

5. On the Selection conditions tab page, you can (optionally) formulate restrictions

for the data records that can be displayed.

6. The selection conditions define the data records that can be selected with view.

7. In the Maintenance status tab page, define the maintenance status of the view.

The maintenance status defines how you can access the view data with the

standard maintenance transaction (SM30).

8. Choose .

At activation, a log is written; it can be displayed with Utilities ® Activation log. If

errors or warnings occurring when the view was activated, the activation log is

automatically displayed.

9. Go to Transaction SE54 with Environment ® Tab.maint.generator.

Creating Help Views

1. Enter an explanatory short text in the field Short text.

2. You can for example find the view at a later time using this short text.

3. Enter the primary table of the view under Tables in the Tables/Join conditions

tab

Only tables that are linked with the primary table (indirectly) with a foreign key

can be included in the view.

4. Save your entries and Activate .

5.You are asked to assign the help view a development class. You can change this

development class later with Extras ® Object directory entry. If required, include

Page 25 4/11/2023

Page 26: SAP ERP Overview - Course Material

more tables in the view. In help view you can only include tables that are linked

to one another with foreign keys.

Creating Projection Views

1. Enter an explanatory short text in the field Short text.

You can for example find the view at a later time using this short text.

2. Enter a table name in the field Base table.

A projection view always contains exactly one table.

3. Select the fields of the base table that you want to include in the view.

Choose Table fields. The fields of the table are now displayed in a dialog box.

You can copy fields by selecting them in the first column and choosing Copy.

4. Save your entries.

You are asked to assign the view a development class. You can change this

development class later with Goto Object directory entry.

5. Choose .

3.3.3 Creating Types

There are three different categories of Types.

Data Elements

1. In the initial screen of the ABAP Dictionary select object type Data Type, enter

the data element name and choose Create. A dialog box appears.

2. Select the data element and choose .

3. Enter explanatory text.

4. Save the data element and Activate .

Structures

1. In the initial screen of the ABAP Dictionary select object type Data Type, enter

the data element name and choose Create. A dialog box appears.

2. Select the Structure and choose .

3. Enter Explanatory text

4. Enter name in Column Components

Page 26 4/11/2023

Page 27: SAP ERP Overview - Course Material

5. Save and Activate

Table Types

1 In the initial screen of the ABAP Dictionary, enter the table type name in field

Data type and choose Create. A dialog box appears in which you must define

the type category.

2 Select Table types and choose Choose. The maintenance screen for table

types appears.

3 Enter an explanatory short text in the field Short text.

You can for example find the table type at a later time using this short text.

Now define the structure of a row of the table type (row type), the options for

accessing data in the defined internal table (access mode) and the key of the

table type.

4 Enter the row type of the table type on the Row type tab page. You can refer to

an existing type (data element, structure, table, view, table type) or directly enter

the row type.

If you want to refer to an existing type, you must mark the Row type radio button

and enter the name of the type in the field below it.

If you want to enter the data type, field length and possibly the number of

decimal places directly, you must mark the Built-in type radio button. Entries are

now possible in the fields Data type, Number of places and Decimal places.

If you want to use a reference type as row type, mark the radio button

Reference type and then referenced type. Enter the name of the referenced

type. This can be the name of a class or an interface, a generic reference to

ANY, OBJECT, or DATA or a reference to a type defined in the Dictionary. If

you want the reference type to be a predefined Dictionary type, choose

Reference to predefined type. Select the type, the number of places and

possibly the number of decimal places.

5 On the Access tab page define the access mode of the table type.

This defines how to access the data in an internal table defined by the table

type in ABAP programs.

6 Define the key of the table type on the Key tab page.

The key of a table type is defined by the key definition and the key category.

Page 27 4/11/2023

Page 28: SAP ERP Overview - Course Material

If you select Key components, you can define the key of the table type directly

in the input area with the same name. This option is only possible if the row type

of the table type is a structure, table or view.

You can display all the components of the row type with Select components.

Select the components you want to copy to the key and choose .

7 Save the table type.

You are asked to assign the table type a development class. You can change

this development class later with Goto Object directory entry.

8 Choose .

3.3.4 Creating Lock Objects

The R/3 System synchronizes simultaneous access of several users to the same data

records with a lock mechanism. When interactive transactions are programmed, locks

are set and released by calling function modules.

1. Select object type Lock object in the initial screen of the ABAP Dictionary, enter

an object name and choose Create. The name of a lock object should begin

with an E (Enqueue). The maintenance screen for lock objects is displayed.

2. Enter the explanatory text.

3. Enter the primary table of the lock object.

4. Select the Lock Mode.

5. Save and activate .

3.4 Screen Painter

This ABAP Workbench tool allows you to create screens for your transactions. You use

it both to create the screen itself, with fields and other graphical elements, and to write

the flow logic behind the screen.

Screen Painter is used to create and maintain all elements of a screen. These are:

Screen Attributes Describe a screen object in the R/3 System. Screen attributes

include the program the screen belongs to and the screen type.

Page 28 4/11/2023

Page 29: SAP ERP Overview - Course Material

Screen layout Screen elements are the parts of a screen with which the user

interacts. Screen elements include checkboxes and radio buttons.

Elements Correspond to screen elements. Fields are defined in the ABAP

Dictionary or in your program.

Flow logic Controls the flow of your program.

Two Screen Painter Modes

The Screen Painter has a layout editor that you use to design your screen layout. It

works in two modes:

Graphical mode and

Alphanumeric mode.

Both modes offer the same functions but use different interfaces. In graphical mode,

you use a drag and drop interface similar to a drawing tool. In alphanumeric mode, you

use your keyboard and menus.

Graphical mode is available only on MS Windows 95, MS Windows NT, and Unix/Motif

platforms.

To activate the graphical mode, choose Utilities ® Settings in the Screen Painter, then

select the graphical layout editor option.

Creating a Screen: Basics

Create a screen in an existing program and define its attributes.

Design the screen layout and define the attributes of the elements.

Write the flow logic.

Basic Principles

Uses predefined elements with links to the ABAP Dictionary or program.

Supports forwards navigation.

Supports complex elements: Table Control and Tabstrip Control, and Custom

Container.

Cut/ Copy/ Paste (Graph. fullscreen)

Undo/ Redo (Graph. fullscreen)

Page 29 4/11/2023

Page 30: SAP ERP Overview - Course Material

3.4.1 Creating Screens

1. Start the Screen Painter.

2. Enter program name. The program you specify should be an executable

program (type 1), a module pool (type M), or a function group (type F) and must

already exist.

3. Enter Screen Number A screen number must be unique and up to 4 numbers

long. All screen numbers above 9000 are reserved for SAP's customers. The

number 1000 is reserved for table screens and report selection screens. Initial

screens of transactions are often given a number whose last three digits are 100

(for example, 3100).

4. To display a list of a program's screens, use the possible entry button.

5. Choose Create.

6. The system displays the Change Screen Attributes screen.

Define the screen attributes.

Screen attributes enable the system to assign and process a screen. You can set the following screen

attributes:

Attribute Description and Ergonomic Guidelines

Program Name of the module pool to which the screen belongs.

Screen number Identifies a unique name up to 4 numbers long.

Short description Describes a screen's purpose.

Original Language Identifies a screen's maintenance language. When you

create a screen, the system sets this value to the

module pool's maintenance language.

Package Identifies the package the screen belongs to.

Last changed or Last

generated

Date and time when the screen was last changed or

generated.

Screen type

Normal If you set this option, the screen is flagged as a normal

screen. This is the default setting.

Subscreen Identifies the screen as a subscreen.

Page 30 4/11/2023

Page 31: SAP ERP Overview - Course Material

Modal dialog box Identifies a specialized interface for display of lists in a

dialog box. See Using Modal Dialog Boxes for more

details.

Selection screen Identifies an automatically created screen. Selection

screens request values for database selection criteria

before a report is started. The system sets this attribute

automatically.

Settings

Hold data The system only supports the Hold data, Set data,

and Delete data functions (under System Õ User

profile) on the screen if this option is selected. The

system can hold entries made on the screen at runtime

in this way. The system automatically displays this data

if the user calls the particular screen again.

Switch off runtime

compression

If you set this option, the screen is not compressed at

runtime.

Ergonomic guideline: You should not use this option,

since empty lines may appear on the screen if you hide

fields dynamically at runtime. When gaps occur, users

typically need longer to process the screen.

Hold scroll position Use this option to specify whether the vertical and

horizontal scroll positions should be retained for a

screen. If you set the attribute, the scroll position is

retained when the user returns to the screen after

processing another screen.

This also applies if the length or width of the screen

changes, if other subscreens are used, or if the cursor

is placed outside the visible area.

This setting is intended for large screens on which the

scroll position has previously been lost as a result of

certain actions.

Without application toolbar With this attribute you can suppress the display of the

application toolbar belonging to the current program

Page 31 4/11/2023

Page 32: SAP ERP Overview - Course Material

status. This is particularly important if the application

does not need its own toolbar since it is included in the

toolbar for the controls.

If the Without application toolbar option is set, the

toolbar belonging to the current program status is not

displayed , whether or not it contains pushbuttons. The

corresponding place that was reserved for the toolbar

is then free. You cannot change this attribute at

runtime. Note that the functions of the current program

status are only available on the menu bar or context

menu (right mouse key).

Other attributes

Next screen Number of the next screen to be displayed, assuming

that the screen sequence is processed statically.

Cursor position Identifies the screen element that contains the cursor

when a screen is first displayed. If you leave this field

blank, the system uses the first screen field that can

accept input.

Screen group Specifies a four-character identifier of a group of

associated screens.

Lines/columns Used Specifies the size of the screen area currently occupied

with screen elements.

Lines/columns Maint. Size of the screen in rows/columns. The size is

measured in characters starting with the upper left

corner.

Screens can have a maximum size of 200 rows x 255

columns.

Page 32 4/11/2023

Page 33: SAP ERP Overview - Course Material

3.5 Menu Painter

ABAP programs contain a wide variety of functions, which fall into different categories

within the user interface. It is important for users to be able to differentiate between

these categories, and to choose the right function easily. In the R/3 System, you

arrange functions using the Menu Painter. An instance of the user interface, consisting

of a menu bar, a standard toolbar, an application toolbar, and a function key setting, is

called a GUI status. The GUI status and GUI title defines how the user interface will

look and behave in an ABAP program.

Page 33 4/11/2023

Page 34: SAP ERP Overview - Course Material

3.5.1 Creating GUI Title

1. Choose Status from the object list. The system displays a list of possible

program objects.

2. Select GUI Title

3. Enter a Title Code

4. Choose Create

5. Choose Save.

3.5.2 Creating GUI Status

Enter the name of your ABAP program. Choose Status from the object list.

Enter a status name.

A status name can consist of up to 20 alphanumeric characters.

Choose Create.

Page 34 4/11/2023

Page 35: SAP ERP Overview - Course Material

The Create Status dialog box appears.

Enter a short description. Select a Status Type.

The status type enables the Menu Painter to display the correct work area for the kind of

status you want to create. The following status types follow the standards in the SAP Style

Guide.

Status type: References to

Dialog status Menu bars, standard toolbar, function keys and application toolbar

Dialog box Function keys and application toolbar. Dialog boxes do not have menu

bars or a standard toolbar.

Context menu A context menu. Context menus contain a set of functions that you can

use to construct a context-sensitive menu. See also Creating a Context

Menu.

Choose Continue.

The system displays the work area of the Menu Painter.

Define the components of the interface (or refer to existing interface

components).

Save.

3.5.3 Creating Context Menu

Select Program objects and choose Edit. Enter the name of the ABAP

program. Choose GUI Status and enter the name of your context menu.

This is the name that you will pass to the importing parameter STATUS of

the method LOAD_GUI_STATUS. Choose Create.

The Create Status dialog box appears, containing fields for the status

attributes. Enter a short text. Select the status type context menu. Choose

Continue.

The work area for the context menu appears. In the Code column, enter a

function code, and under Text, the corresponding text for the menu entry.

Repeat step 8 for each further function you want to add to your context

menu. If you want to enter a separator, choose Edit ® Insert ® Separator. If

you want to create a cascading menu, leave the Code field empty, and enter

Page 35 4/11/2023

Page 36: SAP ERP Overview - Course Material

the menu text for the cascading menu. You can then open it by double

clicking, and enter the required entries. For Example

3.6 Object Navigator

The Object Navigator is a central point of entry into the ABAP Workbench. It is the

successor of the Repository Browser, and you can access it using transaction SE80.

You use the Object Navigator to organize your programming in an integrated

development environment. Development objects are arranged together in object lists.

Each object list contains all of the objects in a certain category, such as package,

program and global class. From the object list, you can select an object by double-

clicking it. When you open an object, the Workbench calls up the development tool with

which the object was created.

Page 36 4/11/2023

Page 37: SAP ERP Overview - Course Material

Navigation Area

Object list

Toolbar for Object List Display

Context menu

Tool Area

ABAP Workbench Tools

Tool Functions

Menus

Standard Toolbar

Application Toolbar

Context Menu (only in ABAP Editor in edit control mode)

Page 37 4/11/2023

Page 38: SAP ERP Overview - Course Material

3.6.1 Areas of Navigation in Object Navigator

The Object Navigator has the following areas of navigation:

Browser selection and navigation in the event list

Navigation in the tools

Navigation in separate windows

Integrated window in the Object Navigator (syntax check, navigation stack,

worklist...)

Additional dialog box (for example, when you open an object in a new session).

Page 38 4/11/2023

Page 39: SAP ERP Overview - Course Material

You can choose one of the following browsers in SE80:

MIME Repository Displays all directories with MIME objects that were imported

into the current system

The Public folder is always output. A selection of BSP

applications is also given.

Repository Browser This browser is initially used when you start SE80.

It outputs Repository objects in the form of object lists. The

objects are selected by category (packages, programs,

classes, local objects, etc.)

Repository Information

System

Displays all the objects of the information system without pre-

selection.

Tag Library Displays tags for Web applications. You can limit the list to

the relevant tag in ITS-based applications or in BSP

applications by pre-selection.

Transport Organizer Outputs Transport Organizer requests in the current system.

3.6.2 Objects Lists in Object Navigator

Any component of an application program that is stored as a separate unit in the

Repository is called a development object or a repository object. In the SAP System, all

development objects that logically belong together are assigned to the same package.

In the Object Navigator you normally access development objects using the Repository

Browser. Development objects are displayed in object lists that contain all of the

elements in a package, a program, global class, and so on.

Object lists show not only a hierarchical overview of the development objects in a

category, but also tell you how the objects are related to each other. The Object

Navigator displays object lists in a tree structure.

The topmost node of any object list is a package. From here, you can navigate right

down to the lowest hierarchical level of objects.

Page 39 4/11/2023

Page 40: SAP ERP Overview - Course Material

To select development objects, you use a selection list in the Object Navigator. This

contains the following categories:

Category Meaning

Application Hierarchy Tool A list of all the development objects in the SAP System. This

list is arranged hierarchically by application components,

component codes, and the packages belonging to them.

Package List of all objects in a package

Program A list of all the subobjects in an ABAP program

Function group List of all function modules and their sub-objects that are

defined within a function group

Class/interface List of all the components of a global class. It also lists the

superclasses of the class, and all of the inherited and

redefined methods of the current class.

Internet service List of all the sub-objects of an Internet service:

Service description, themes, language resources, HTML

templates, and MIME objects.

When you choose an Internet service from the tree display,

the Web Application Builder is started.

See also: Web Application Builder for ITS Services

BSP application List of the subobjects of a BSP application. Selecting a BSP

application starts the Web Application Builder for BSPs. See

also: Web Application Builder for BSPs.

Local objects · List of all local private objects of a user

Objects in this list belong to the package $TMP and are not

transported. As well as your own local private objects, you

can also display those belonging to other users. Local objects

are used mostly for testing. However, you can also assign

local objects for transport to another package. For more

information, refer to Change Package

Page 40 4/11/2023

Page 41: SAP ERP Overview - Course Material

Inactive objects · List of all inactive objects belonging to a user.

· This display contains both local as well as transportable

objects belonging to a user. In the standard version, the user

currently logged on is used here.

Page 41 4/11/2023

Page 42: SAP ERP Overview - Course Material

3.7 Exercise

1) Navigate to ABAP Workbench from the Main menu.

2) See the Source code of the program RSTXICON.

3) Type MM01 in the command field and press enters. Now look for its program name &

continue further to see the source code.

4) Create a test program, Save as local object, Check & then Activate.

5) Go to ABAP Data dictionary and enter MARA in the database table field. Press

display button. Look for details in the 3 tabs – Attributes, Fields, Currency/quant fields.

Use F1 key to understand the documentation.

6) Repeat the previous step. Execute Contents button that navigates to Selection-

screen of the table MARA. Verify the field ‘Maximum no. of hits’ has got value not

exceeding 1000. Press the Execute button to see the contents of the table MARA.

7) Create a Module pool program (SAPMZTESTxx) in SE38 & design a screen (9000)

in SE51.

Include Text field, Input/Output field, Pushbutton and other controls in the screen. Then

check & activate the same. View the controls you have placed in the screen after

execution.

8) Create a Menu bar & Application Tool bar for the screen created in previous step.

Use Transaction code SE41.

9) Execute Transaction code for Object Navigator SE80 and explore the individual

nodes listed.

10) Execute Transaction code SE09 and understand the meaning of each keyword in

this screen by pressing F1.

Page 42 4/11/2023

Page 43: SAP ERP Overview - Course Material

Page 43 4/11/2023