ERP

E NTERPRI SE R ESOURCE P LA NNING

Page 1

7/30/2008

T ABLE

OF

CONTENTS

1. INTRODUCTION......................................................................................................... .............3 1.1 PURPOSE OF THIS INTRODUCTION ................................................................................................3 1.2 W HY ERP?.........................................................................................................................3 1.2.1 Merits........................................................................................................................... ...4 1.2.2 Demerits.......................................................................................................... ...............5 2.SAP............................................................................................................................................. .7 2.1HOW TO PRONOUNCE SAP?.....................................................................................................7 2.2W HAT IS SAP R/3?...............................................................................................................7 2.3W HY SAP?..........................................................................................................................7 2.3.1Business Process Reengineering (BPR).......................................................... ...............8 2.3.2Workflow Perspective............................................................................................ ..........9 2.3.3Software Alternatives.................................................................................................... ...9 2.3.4Software Complexity......................................................................... ............................10 2.3.5SAP R/3 Adoptions................................................................................. .......................11 2.3.6Best Business Practices............................................................................. ...................11 2.3.7Event Driven Transaction Processing.................................................................... ........12 3. ABAP WORKBENCH ENVIRONMENT AND TOOLS.................................... .......................13 3.1INTRODUCTION.......................................................................................................................13 3.1.1 Workbench Tools................................................................................................ ..........13 3.2 ABAP EDITOR AND FUNCTIONS...............................................................................................15 3.2.1Front End Editor ...................................................................................... .....................15 3.2.2Back End Editor ....................................................................................................... .....16 3.3 ABAP DICTIONARY..............................................................................................................19 3.3.1Creating Tables ............................................................................................................ .21 3.3.2Creating Views.................................................................................... ..........................23 3.3.3Creating Types.................................................................................... ..........................26 3.3.4Creating Lock Objects................................................................................ ...................28 3.4SCREEN PAINTER..................................................................................................................28 3.4.1Creating Screens.................................................................................................. .........29 3.5MENU PAINTER.....................................................................................................................32 3.5.1Creating GUI Title.................................................................................................. ........33 3.5.2Creating GUI Status.............................................................................. ........................33 3.5.3Creating Context Menu.............................................................................................. ....34 3.6OBJECT NAVIGATOR...............................................................................................................35 3.6.1Areas of Navigation in Object Navigator................................................................. .......37 3.6.2Objects Lists in Object Navigator......................................................... .........................38 3.7EXERCISE............................................................................................................................40

Page 2

7/30/2008

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.

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

Page 3

7/30/2008

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 datatampering 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. 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

Page 4

7/30/2008

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. 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

Page 5

7/30/2008

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

7/30/2008

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. 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

Page 7

7/30/2008

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 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

Page 8

7/30/2008

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
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

Page 9

7/30/2008

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 coworker. 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.

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.

Page 10

7/30/2008

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.

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

Page 11

7/30/2008

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

7/30/2008

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 ABAP/4 Editor Function Builder SE11 SE38 SE37

Page 13

7/30/2008

• • • • • •

Object Browser Screen Painter Menu Painter Performance Tuning Runtime Analysis Class Builder

SE80 SE51 SE41 ST05 SE30 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

7/30/2008

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. 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.

Page 15

7/30/2008

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.

3.2.2 Back End Editor

Page 16

7/30/2008

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

7/30/2008

Page 18

7/30/2008

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

7/30/2008

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

7/30/2008

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. 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.

3.

4.

On the Fields tab page, enter the table fields. Perform the following steps for each table field: Enter a name for the table field in the column Fields. The field name may only

Page 21

7/30/2008

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. •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

Page 22

7/30/2008

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. Choose. 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

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. 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.

2

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 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. Copy. The join condition is

4

On the View fields tab page, select the fields that you want to copy to the view. 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. On the Selection conditions tab page, you can (optionally) formulate restrictions for the data records to be displayed with the view. The selection conditions define the data records that can be selected with the view. With Goto ® Technical settings, you can (optionally) maintain the technical
Page 23 7/30/2008

5

6
7

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. 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.

2.

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 key is included in the view.
4.

Copy. The secondary table used in such a foreign

On the View fields tab page, select the fields that you want to copy to the view. 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.

Page 24

7/30/2008

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). Choose .

8.

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. 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.

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

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 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
11. 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.
12. Enter a table name in the field Base table.

A projection view always contains exactly one table. 13. Select the fields of the base table that you want to include in the view.

Page 25

7/30/2008

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.
14. 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.
15. Choose

.

3.3.3 Creating Types
There are three different categories of Types. •
1.

Data Elements

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. Select the data element and choose Save • the data element and Activate . .

2.

3. Enter explanatory text.
4.

Structures

1. In the initial screen of the ABAP Dictionary select object type Data Type, enter the data element name and choose
2.

Create. A dialog box appears. .

Select the Structure and choose

3. Enter Explanatory text 4. Enter name in Column Components
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. 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.

3

Page 26

7/30/2008

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. 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

.

Page 27

7/30/2008

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 Screen layout Elements Flow logic Describe a screen object in the R/3 System. Screen attributes include the program the screen belongs to and the screen type. Screen elements are the parts of a screen with which the user interacts. Screen elements include checkboxes and radio buttons. Correspond to screen elements. Fields are defined in the ABAP Dictionary or in your program. 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,

Page 28

7/30/2008

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)

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. 6.

Choose Create. The system displays the Change Screen Attributes screen.

Page 29

7/30/2008

Define the screen attributes. Screen attributes enable the system to assign and process a screen. You can set the following screen attributes: Attribute Program Screen number Short description Original Language Description and Ergonomic Guidelines Name of the module pool to which the screen belongs. Identifies a unique name up to 4 numbers long. Describes a screen's purpose. Identifies a screen's maintenance language. When you create a screen, the system sets this value to the Package Last changed generated Screen type Normal Subscreen Modal dialog box module pool's maintenance language. Identifies the package the screen belongs to. Last Date and time when the screen was last changed or generated. If you set this option, the screen is flagged as a normal screen. This is the default setting. Identifies the screen as a subscreen. Identifies a specialized interface for display of lists in a dialog box. See Using Modal Dialog Boxes for more Selection screen details. 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 Switch off calls the particular screen again. runtime 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.

or

compression

Page 30

7/30/2008

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 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 Cursor position Number of the next screen to be displayed, assuming that the screen sequence is processed statically. 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 Screen group Lines/columns Used Lines/columns Maint. accept input. Specifies a four-character identifier of a group of associated screens. Specifies the size of the screen area currently occupied with screen elements. Size of the screen in rows/columns. The size is

Page 31

7/30/2008

measured in characters starting with the upper left corner. Screens can have a maximum size of 200 rows x 255 columns.

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 32

7/30/2008

3.5.1 Creating GUI Title
1.

Choose Status from the object list. program objects.

The system displays a list of possible

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. The Create Status dialog box appears.


• •

Page 33

7/30/2008

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: Dialog status Dialog box Context menu

References to Menu bars, standard toolbar, function keys and application toolbar Function keys and application toolbar. Dialog boxes do not have menu bars or a standard toolbar. 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 the menu text for the cascading menu. You can then open it by double clicking, and enter the required entries. For Example

Page 34

7/30/2008

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 doubleclicking it. When you open an object, the Workbench calls up the development tool with which the object was created.

Page 35

7/30/2008

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 36 7/30/2008

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 37

7/30/2008

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 Repository Browser applications is also given. 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 Displays all the objects of the information system without preSystem Tag Library selection. Displays tags for Web applications. You can limit the list to the relevant tag in ITS-based applications or in BSP applications Transport Organizer by pre-selection. 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.

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

Page 38

7/30/2008

Category Meaning Application Hierarchy Tool A list of all the development objects in the SAP System. This list is arranged hierarchically by application components, Package Program Function group Class/interface component codes, and the packages belonging to them. List of all objects in a package A list of all the subobjects in an ABAP program List of all function modules and their sub-objects that are defined within a function group List of all the components of a global class. It also lists the superclasses of the class, and all of the inherited and Internet service redefined methods of the current class. List of all the sub-objects of an templates, and MIME objects. When you choose an Internet service from the tree display, the BSP application Web Application Builder is started. See also: Web Application Builder for ITS Services List of the subobjects of a BSP application. Selecting a BSP application starts the Web Application Builder for BSPs. See Local objects also: Web Application Builder for BSPs. · 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 Inactive objects for transport to another package. For more information, refer to Change Package · 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. Internet service:

Service description, themes, language resources, HTML

Page 39

7/30/2008

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.

Page 40

7/30/2008

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 Selectionscreen 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 41

7/30/2008

Sign up to vote on this title
UsefulNot useful