SAP ABAP BOOK-01
SAP ABAP
I N D E X
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
SAP in IBM/SAP-ERP Overview ABAP Data Dictionary Introduction to ABAP ALV Reporting OOPS ABAP Module Pool Programming (Online) Data Interface ALE LSMW SAP Scripts Smart Forms ADOBE PDF Form ABAP WDA Enhancement Production Quality ABAP Workshop Upgrade Overview Functional Overview
Service Line Track Name Category Target Audience Delivery Mode Duration JRSS
Table of Content for Technical Tracks_SAP ABAP (SAP) SAP SAP ABAP Graduate Hire Graduate Hire Classroom 40 days Application Developer-SAP.ABAP
Agenda: Day 1: SAP in IBM/SAP-ERP Overview
ABAP Guhire overview SAP NW overview SAP in IBM
Day 2 and 3: ABAP Data Dictionary
ABAP DDIC basics,Overview of ABAP Dictionary ABAP Dictionary Objects,Foreign Key Relationships ABAP Dictionary Tables in Relational Databases Adding Structures,ABAP Repository Information System ABAP Dictionary Changes,Overview of Search Helps ABAP Dictionary Objects-Views Type Groups,Online Help & Documentation Table Maintenance Generator
Day 4 to 6: Introduction to ABAP
Intro to ABAP, Adv Into to ABAP, Interactive reporting
Day 7 to 9: Case study1: Data Dictionary and classical report
Day 10: Classical ALV reporting: Overview of ALV
Day 11 to 12: Introduction of OOPS ABAP - Day 1
Fundamentals of ABAP Objects
ABAP Objects –Inheritance ABAP Objects –Interfaces ABAP Objects - Events Handling ABAP Objects - Global Classes and Interfaces ABAP Objects - Class Based Exceptions
Day 13: Advanced ALV Report with OOPS
ABAP Objects - Advanced ALV with ABAP Objects and RTTS
Day 14 and 15: Case study2: Detailed ALV Report with OOPS + Internal Assessment 1 (DDIC + OOPs)
Day 16: Online Programming Introduction to Online Programming:
Online Programming Example Screen Painter ABAP Dictionary Automatic Screen Field Checks Issuing Messages UserDefinedChecks Default Values and Cursor Position Graphical User Interface Dynamic Screen Sequence Conditional Execution of PAI Modules Sub-screens Database Operations Logical Locking Tabstrip Control Table Control andScreen Modifications and Screen Flow Events
Day 17 to 18: Data Interface/Conversion/BAPI - Day 1
Background Processing Application Server Files Presentation Server Files Batch Input Methods Batch Input Session Processing Batch Input Sessions
Call Transaction Method Batch Input Recorder Use of BAPIs for Data Interfacing
Day 19 to 20: Case Study3: End to End Interface Concepts uploading file from PS/AS and then BDC
Application Developer-SAP.ABAP
Day 22: LSMW: LSMW
Day 23: SAP Scripts
SAPScript Overview SAPScript Forms Coding in the SAPScript editor SAPScript - Output Program SAPScript – Configuration Printing SAPScript Forms Debugging SAPScripts
Day 24: Smart Forms
Introduction to SmartForms Global Settings Pages and Windows Basic Nodes Auxiliary Nodes Debugging SmartForm User Defined Exceptions
Day 25: Case Study 4 : Smart Forms + Internal Assessment 2 -[ Online programming + BDC+ Scripts] Day 26 to 27: ADOBE PDF For
Adobe - PDF based Print Form – Architechture Adobe - PDF based Print Form – Interface Adobe - PDF based Print Form – Context Adobe - PDF based Print Form – Designer Adobe - PDF based Print Form - Form Layout Adobe - PDF based Print Form - Scripting in the Form Adobe - PDF based Print Form - Integration into ABAP Programs Adobe - PDF based Print Form - Tips and Tricks
Day 28: Case Study5: ADOBE PDF Form
Day 29: Introduction to ABAP WDA
Web Dynpro For ABAP-Introduction Web Dynpro Controllers Web Dynpro for ABAP-Navigation Web Dynpro for ABAP-Context at Design Time Web Dynpro for ABAP-Controller and Context Mapping Web Dynpro for ABAP-Designing User Interface Web Dynpro for ABAP-Messages Web Dynpro for ABAP-Component Usage Web Dynpro for ABAP-ALV
Day 30: User Exit/Badi/Enhancement Spot
Day 31: Case Study6: Enhancement
Day 32: Production Quality ABAP Workshop (Performance tuning)
Day 33: Production Quality ABAP Workshop (Testing/Adv Debugging/Troubleshooting Concepts)
Day 34: Upgrade Overview: ABAP Upgrade Training
Day 35: Funcational Overview Concepts + Internal Assessment 3 -[ WDA+User exit+enhancement ]
SAPFunctionalOverview SAP MM overview for technical SD Overview for SAP Technicals SAP FICO Overview - Asset master & Transactions SAP FICO _AP_user manual Overview;SD Overview for SAP Technicals
Day 36: IBM Methods & Tools [FS/TS/UTP Templates and Checklists and Programming Standards + Overview - Delivery Management Tool - RTC + DE Case Study (Config. Mgmnt + SDLC)
Day 37: IBM Methods and Tools, Accelerators - RIC Generator, Code Snippet Generator, Auto TS Generator + Code Optimizer and RIC Generator + DE Case Study (Metrics and Reviews/Inspection )
Day 38: Case Study7: Project Simulation CS with Documentation Day 39: Practical exam - (On L&K SAP Server) + Assessment Day 40: Assessment
Day 1 SAP in IBM_SAP-ERP Overview
1
SAP NetWeaver is an ambitious undertaking with so many dimensions that it is hard even for experienced IT professionals to quickly understand its structure and potential. Think of SAP NetWeaver as essentially an orchestra of technologies with many programs and toolkits, each adding its own voice to the composition to allow you to do things that could never be done before. SAP Netweaver is Designed to Enable change through increased business flexibility and adaptability. Increase usability by making it easier for end users to work with all their systems. This increases user adoption, cost savings, and productivity. Enhance integration by making it possible for a collection of enterprise applications to work together. Enable innovation by allowing new applications to be constructed on top of existing applications. Save money by reducing the expense of owning and maintaining your existing systems.
2
Net weaver can help users and groups improve their productivity through enhanced collaboration, optimized knowledge management and intuitive search in business
objects as well as unstructured content. Personalized access to mission-critical applications and data is accomplished using portals, desktop clients and mobile interfaces. Flexible UI technology enables IT organizations and partners to build their own state-of-the-art applications. Key Terminologies Explained: Custom UI Development Web Dynpro ABAP , Java. Motivation Behind Webdynpro is : -UI definition independent of client technology. -Abstract declaration. -Different rendering engines for different (future) UI technologies without adapting application coding SAP EP At its most basic level, the purpose of a portal is simple: to organize complex assortments of information and tools in an accessible way. As the name indicates, a portal is a kind of doorway. SAP EP is both a doorway to SAP’s underlying applications and a doorway to all the business information — in all its many forms and from all types of sources — contained within your company. SAP EP is the layer that interacts with the user, coordinates that interaction, and channels it to SAP NetWeaver components, mySAP Business Suite solutions, and other applications. Then it displays the results. Example ESS , MSS Applications. Search Service in SAP The search services in the SAP Net Weaver Application Server (AS) ABAP provide a framework for indexing and searching SAP business objects in SAP applications. They comprise the following components: Embedded Search Embedded Search serves SAP Business Suite applications as a basic search technology platform for searching business objects using the TREX engine (starting with SAP Business Suite 2008). Embedded Search is the Enterprise Search component in the AS ABAP. It may be referred to as Enterprise Search (ABAP) in the documentation of SAP Business Suite applications. Search Engine Service Search Engine Service serves SAP applications to use the TREX search engine to search for business objects (starting with ERP 6.0). TREX The SAP NetWeaver standalone engine Search and Classification TREX provides SAP applications with numerous services for searching, classification, and text-mining in large collections of documents (unstructured data) as well as for searching in and aggregating across business objects (structured data). As a back-end engine, TREX provides search application such as SAP NetWeaver Enterprise Search and search services such as Search Engine Service and Embedded Search with indexing and search technologies. TREX as an SAP NetWeaver standalone engine is a significant part of most search features in SAP applications. TREX cannot be licensed as a separate product. Mobile: SAP Solutions for Mobile Business has one purpose: To bring business processes to mobile devices in a seamless computing environment, a kind of universal mobile adapter. To provide a complete solution, SAP created mobile applications that work across multiple platforms and systems and developed an infrastructure for these applications using (surprise!) SAP NetWeaver as the foundation. An important aspect of SAP MI is that it’s based on open standards such as Java, XML, and SOAP. This means that the platform can run on all kinds of devices and networks, from laptops to smart phones, and from wireless LANs to Bluetooth.
3
SAP BI as a whole is like the cockpit of a super airplane. The enterprise is the plane and SAP BI is the onboard computer, collecting data like speed, gas airflow, fuel level, and weather conditions. That data is promptly sorted, analyzed, and displayed so that both the pilot and navigator have the information they need in the form they need — whether a diagnostic readout or a speedometer — to make the right decision in real time. Knowing your speed is useful. Realizing you’re about to hit a major storm pattern is critical. The role that SAP BI plays in SAP NetWeaver is that of a central, integrated repository for information from distributed and heterogeneous sources. In more lucid language,just as in your home, data is stored all over the place, from the box of tax papers in the basement to the recipe file in the kitchen. In your enterprise, the good old Enterprise Resource Planning (ERP) system has its data, the friendly Customer Relationship Management (CRM) system has its data, and a grandfatherly legacy system that has been running for 20 years on a mainframe has even more data. Add to that your Web site data, your co-workers’ spreadsheets of data, and even that department down the hall that nobody’s quite sure what it does might have some data. To find out about the big picture, say customer or sales activity, the data from all these applications must be brought together. SAP BI is analogous to an airplane cockpit in a box, Business Content is a sample set of blueprints to get your flight analysis and reporting started. If Business Content can be likened to the airplane cockpit blueprint, the SAP BI preloaded Analytical Applications can be likened to an automatic computer that can build that cockpit for you based on the blueprint. It can’t fly the plane for you but it has already calculated every successful take off and landing and has a few strategies that it wants to recommend. The Analytical Applications are similar: They’re preloaded applications containing best practice analytical models. One application might contain all the common calculations that are needed for a company in the retail industry. Another application might contain best analytical techniques common to any business — calculating the lifetime value of a customer, for example.
4
5
Enterprise Information Management (EIM) is the business activity of creating, cleansing, integrating, managing, governing, and archiving structured and unstructured data used by an organization. EIM can help organizations integrate data and reconcile business information in heterogeneous IT landscapes and cross-company business networks to create a trusted data foundation for operational, analytical, and governance initiatives. SAP delivers solutions from different product families (SAP NetWeaver, SAP Business Objects IM, and SAP solution extensions) that support EIM activities such as enterprise data warehouse (EDW) management, master data management, data integration and data quality management, metadata management, information lifecycle management, and enterprise content management. By managing information assets effectively, organizations can minimize data integration efforts, streamline end-to-end business process execution, and gain well-founded business insight. MDM: The role of SAP MDM in SAP NetWeaver is way more than just that of a special purpose repository. You see, this product not only helps collect master data from all over the place, but with the soul of a data janitor it also helps clean up that data. It finds duplicate data and stores relationships between master data in records across systems. It also distributes master data back to source systems. Best way to Understand MDM is by below example: When company A buys company B, one of the first tasks facing company A is to figure out where the overlap is. For example, three groups of customers exist: customers who do business with company A only; customers who do business with company B only; and customers who do business with both companies. After a merger has been announced, the faster you sort out which part of which company goes with which customer, the better. Otherwise, you may have sales staff from company A and company B calling on the same customer or even competing for the same business without anyone catching on. Also, be sure that you quickly introduce company A’s products to company B’s customers, and vice versa. One way to handle this is to wait until both companies are running on the same systems. However, in most mergers of any size, that usually takes years. SAP MDM provides a much better solution that goes like this: -SAP MDM performs a consolidation so that all customers are identified in all the systems at company A and company B. -SAP MDM harmonizes the data in all the systems.
6
Service-oriented architecture (SOA) middleware facilitates communication between disparate applications and systems based on the exchange of XML messages. Most Commonly used Middleware tool is SAP PI. SAP PI, like other software, is simply a set of tools. But SAP PI acts like a superhighway: Whenever an application needs to send or receive a message, SAP PI is the road that carries it. SAP PI has on-ramps and off-ramps, and rules that make sure every message is received and read correctly when it reaches its destination. Now on to brass tacks. The purpose of SAP PI is to connect applications with each other. The problem is that frequently each application has its own format for data. So SAP PI is also like a translator in that it specializes in converting formats between applications from SAP or any other vendors so that they can successfully exchange messages.
7
8
9
10
11
Organizations face a difficult challenge in today’s security-conscious world having to support transparent enterprise boundaries, location-independent users, and the growing demands for regulatory compliance. With SAP NetWeaver, IT organizations can enable safeguards that protect their business, while helping users -- and the business processes they rely on – proceed unhindered by security operations.
12
Application Life-cycle Management provides processes, tools, services, and an organizational model to manage SAP and non-SAP solutions throughout the complete application life cycle. Instead of just focusing on the individual phases, SAP provides a holistic approach. Results of the different phases can be leveraged by other phases due to the integration provided by SAP Solution Manager This helps you to implement your IT solutions faster and operate them at lower cost.
13
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
The evolution of ERP solutions Materials Requirement Planning (MRP-I) began as a technique for developing enterprise-wide business solutions by providing automated tools for forecasting demands and planning according to the forecast
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
An integrated suite of business applications, which..
Closely links, monitors, and controls primary enterprise resources like manpower, machine, material, methods, market and money
Enables corporate firms to readily change their processes to adapt to the ever changing business scenario
Provides expertise in industry specific business processes
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
ERP - What It’s Not ……
ERP facilitates the decision making but does not decide.
ERP provides comprehensive information to optimize but does not optimize dynamically.
It automates and integrates transactions but does not target the cycle time.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
ECC 6.0
ERP will impact
Communication and information domain
Leadership and authority
Company policies
Jobs and rewards
Company structure and culture
Skills and knowledge of employees
Information is available online generally to a much broader audience
ERP can alter how work gets done and thus how people work together
ERP alters the level of decision-making authority
ERP can alter organizational structure
©IBM Global Services
SAP Overview
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
ECC 6.0
Recipe for a successful ERP application
Comprehensive functionality
Integration among modules and functions
Best Business Practices
Global support
©IBM Global Services
SAP Overview
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
In 1972, five former IBM employees -- Dietmar Hopp, Hans-Werner Hector, Hasso Plattner, Klaus Tschira, and Claus Wellenreuther -- launch a company called Systems, Applications, and Products in Data Processing in Mannheim, Germany. Their vision: to develop standard application software for real-time business processing. SAP is now the recognized leader in providing collaborative business solutions for all types of industries and for every major market. Serving more than 36,200 customers worldwide, SAP is the world's largest business software company and the world's third-largest independent software provider overall. Today, SAP employs more than 38,400 people in more than 50 countries.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
In 1990s SAP R/3 was released. With SAP R/3, SAP ushers in a new generation of enterprise software -- from mainframe computing (client-server architecture) to the three-tier architecture of database, application, and user interface.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
ECC 6.0
Heterogeneous Platforms
©IBM Global Services
SAP Overview
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
With the Internet, the user becomes the focus of software applications. SAP develops mySAP Workplace and paves the way for the idea of an enterprise portal and role-specific access to information. As mentioned earlier, with the introduction of mySAP Business Suite, SAP is now organized into a service-based architecture, which has the following: mySAP Customer Relationship Management (CRM) mySAP ERP mySAP Product Lifecycle Management (PLM) mySAP Supply Chain Management (SCM) mySAP Supplier Relationship Management (SRM) mySAP ERP addresses the core business software requirements of the most demanding midsize and large organizations -- in all industries and sectors. mySAP ERP includes four individual solutions that support key areas of Enterprise Resource Planning: mySAP ERP Human Capital Management (HCM) -- Maximize workforce potential. mySAP ERP Financials -- Turn finance into a strategic business partner. mySAP ERP Operations -- Free up resources; budget for innovation. mySAP ERP Corporate Services -- Streamline business processes and costs.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
SAP has since broadened the integration vision of mySAP Technology into a blueprint they call the Enterprise Services Architecture (ESA). SAP NetWeaver is a comprehensive integration and application platform”, mySAP Technology is now renamed SAP NetWeaver™; NetWeaver delivers the ESA blueprint. SAP NetWeaver is a vision, or paradigm, of total integration of : People Information Business Processes Applications SAP has a team of over 2000 developers in a single organization, working on NetWeaver.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
ECC 6.0
Quick Facts about SAP ERP6.0: •Launched in June 2006 •Built on SAP NetWeaver 7.0 •Approximately 7000 systems (12/2007) •Platform upon which SAP will deliver future software innovations •Software innovation delivered via “SAP enhancement packages”
©IBM Global Services
SAP Overview
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
Because configuration is captured in data, as opposed to code, it survives software upgrades and other changes.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
R/3 applications are written in the ABAP programming language, and run within the application layer of the R/3 System.
ABAP programs communicate with the database management system of the central relational database (RDBMS), and with the graphical user interface (SAPGUI) at presentation level.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
SAP Overview ECC 6.0
ABAP programs are objects of the R/3 Repository. Like all other Repository objects, you maintain them using an ABAP Workbench Tool.
To open ABAP programs directly from the tool ABAP Editor, select the menu path Tools -> ABAP Workbench ->Development -> User Interface -> ABAP Editor from the SAP menu of SAP Easy Access (or start Transaction SE38). If you want to change a program using this method, you must already know its name and environment.
This procedure is only suited for maintaining or creating relatively simple or short programs, which have few or no additional components. It is better to access ABAP programs through Tools -> ABAP Workbench -> Overview -> Object Navigator from the SAP menu of SAP Easy Access (or start Transaction SE80).
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training ERP / SAP Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Client Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Client Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Client Overview
SAP Overview ECC 6.0
A client is a logical portion of an SAP R/3 physical database. From a business standpoint, a client can be interpreted as a logical group of companies. All customizing (configuration) and development (ABAP) work in SAP R/3 is performed in a client. However, the data from both customizing and development work may be stored within an individual client (client dependent data) or among all clients (client independent data) in the system.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training
SAP Overview
SAP Client Overview
ECC 6.0
The data in each client may be separate from that of the other clients. There are basically two types of data in an SAP R/3 System. Client-dependent and client-independent data. Client-dependent data is defined as data specific to an individual client. Client-independent data can be defined as data contained across all clients in the system. Some examples of client-dependent data include number ranges, ABAP variants, and user masters as well as the data that is created or updated through SAP R/3 transactions transaction data). Examples of client-independent data include data dictionary objects (tables, views), ABAP source code, screens, and menus. All data resides in tables. To determine if a particular table is client-dependent or client-independent, the table structure needs to be reviewed. The table structure can be viewed by the data dictionary (SE11). If MANDT (client in German) is the first key field of the table, then the table is clientdependent; otherwise, the table is client-independent. For example, the TSTC table is client-independent; however, the USR01 table is client-dependent. As shown in the above diagram, every SAP R/3 system contains the three clients 000, 001, and 066. Let’s review these clients and examine what they contain.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Client Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Client Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training
SAP Overview
SAP Client Overview
ECC 6.0
During a standard install of the SAP R/3 system, clients 000, 001, and 066 are set-up and provided. These clients provide different features and must not be deleted. Client 000 performs special functions. In particular, it is given extended functionality during upgrades. Client 001 is basically a copy of 000 and can be used as a basis for a new customizing client. Client 066 is a special client which is provided for operational system monitoring. It is used by SAP R/3’s Early Watch Service to provide performance recommendations. In releases prior to 3.0, client 000 contained a model company. As of Release 4.0 clients, 000 and 001 are identical. Client 000 no longer contains a model company. Either client can be used as the basis for configuration through a client copy. Typically, most projects start with a copy of client 000 to begin building configuration. Customer work should never take place in the three delivered clients.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Client Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Client Overview
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
Saplogon is used to create icons to logon to SAP R/3. However, the icons created with Saplogon are not placed in the SAP R/3 Windows group, they are instead shown via the Saplogon Menu (shown in the slide). The SAP logon pad is available once the SAP GUI is installed at the workstation. The Saplogon Menu can be thought of as a one-stop shopping store, where end-users can choose from logon icons, logon groups, or create new logon icons. Logon icons will log a user onto one specific application server. A logon group will log the user onto one of several applications servers depending on which one has the best performance statistics.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
To create a shortcut for connecting to a new SAP application server, follow the procedure below: 1. Click the ‘New Item’ button and enter the following details :
Description: Give a meaningful short text for identifying the Server. The Server will be available in the SAP Logon pad with this name. Nor
Application Server: Give the IP/Address of the Application Server, provided by the basis administrator.
System number: Give the system number provided by the basis administrator. It should be kept as 00, if nothing is specified.
System ID given as per the mail
2. Click ‘OK’. 3. The newly created SAP application server will now be available in the SAP logon pad.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training
SAP Overview
SAP Navigation
ECC 6.0
Follow the procedure below to Log on to the SAP Server: 1. Launch the SAP Logon pad (
).
2. Double click on the Application Server (which you need to connect), from the SAP Logon pad. The SAP Logon screen appears. 3. In the SAP Logon screen, the value of the default client appears automatically, if you want to logon to a different client, then change it with the new client number. 4. Next, enter the User ID and password, which have been assigned to you. 5. Enter ‘EN’ in language to logon to English settings. Generally the language is defaulted to ‘EN’ or any other language depending on the country/users. So, you may not need to enter it in the SAP logon screen and it takes its values from the default settings. 6. After filling up the 4 fields, hit enter to logon to the SAP system. 7. During the first time logon to the system with your ID, you will be prompted to change your initial password. 8. However, to change your password later, click on the New Password push-button and set the password. 1. Select a new password and then confirm it by typing it again. The asterisk will remain in the password field. 2. Click on the
icon once you are satisfied with your password selection.
The Password must contain at least 3 characters and no more than eight.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training
SAP Overview
SAP Navigation
ECC 6.0
Once you have logged on to the application, the initial menu screen will appear. All menus are displayed in the menu bar. The menus that appear in the menu bar varies according to the task you are doing in the R/3 System. Therefore, you will see different menus as you work on different tasks. Menus that are always available from every screen in the R/3 System:
System: This menu contains functions that affect the system as a whole, such as the Create Session, End Session, User Profile, or Log Off options.
Help: The Help menu contains functions for accessing various forms of online support.
Those icons which are available for use will be enabled (they will not be shaded gray). In order to determine what each icon represents on the tool bar, place the cursor on the icon (if it is enabled) and a floating box will appear with text and a unique Function key used to identify the icon.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
Using the Layout menu: 1. Click on the Layout menu located in the standard toolbar to activate the customization option. 2. Then select the Options menu item. This will lead you to a screen where you can select the following customization options:
Options
Cursor
Local Data
I18N
Expert
Trace
Scripting
With these options you can configure settings like:
Whether to sound ‘Beep’ at message
Whether to display dialog box for success message
Whether to show keys in dropdown lists etc.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
To view only an icon specific function key: Place the cursor on top of an icon to view the floating help reference.
In order to view all available function keys while on any screen: Click on the right mouse button (see above) and then use the left mouse button to select a function.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
Use the menu path System User Profile Own data to change user specific settings such as:
Output Device
Print controller
Date Format
Decimal Notation
Logon Language (interface and documentation)
The user profile is connected to the user ID. It will be applied to each logon session for that user, irrespective of which PC is used or which SAP system the user connects to.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
1. Change the Default settings for the User.
Change your output device to print to your Windows default printer. 1. Place your cursor in the output device field and then hit F4 to view the list of available output devices. 2. You may also want to select the checkbox which would allow for immediate printing capabilities, otherwise the default is to output the spool file.
Change the date format to be MM/DD/YYYY.
Change the Decimal notation to be a Decimal Point.
2. Once changes have been made, save your work, and then exit the window by using the icon.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
The R/3 System displays warning and error messages in the status bar. A system message consists of one line; however, you can get more information about a message by doing the following: 1. On the status bar, click anywhere on the message, or position the cursor directly on the message and click the icon or hit F1. 2. A dialogue box will appear with help on the message. 3. If more detailed information is required, you have the option to select the Technical info push-button. Depending on the complexity of the error message, different information will be displayed in this dialogue box. Sometimes you will be presented with Message Data and Program Data and sometimes you will only see Message Data.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training
SAP Overview
SAP Navigation
ECC 6.0
You can create a session at any time and from any screen in the system; you will not lose any data in sessions that are already open. You can create up to 6 sessions. Each session you create is as if you logged on to the system again. Therefore, the system has more work to do which can affect how fast it responds to your requests. To create a new session from anywhere in the system, proceed as follows: 1. Choose System Create Session from the menu bar. 2. The system opens an additional window with the new session running in it. 3. The new session becomes the active session and remains the active session unless you move to a different (open or new) session. This can be done by using the ALT + TAB keys. 4. The new session number is shown in parentheses on the status bar. For example, one session may be AD3 (1) and the other may be AD3 (2). AD3 is the SAP system being used and the numbers (1) and (2) are the sessions being used by the user. To end a session, choose the following menu path: 1. System End Session. The remaining sessions are not re-numbered.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training
SAP Overview
SAP Navigation
ECC 6.0
Before you can use a transaction code, you have to find the right transaction code for the task you want to start. To display transaction codes in the SAP main menu screen (the initial SAP Screen displayed after logon) do the following : 1. Go to Extras Settings (Shift + F9) 2. Click checkbox for Show technical names 3. The Transaction codes are now displayed along with the Transaction short text in the SAP menu. Once a transaction is selected, you can start the task associated with it by double-clicking it. Otherwise, you can use this transaction code to start this task from any screen in the R/3 System. When you are in a transaction, you can find its transaction code by using the menu path: 1. System Status
Note: In order to return to the SAP main menu screen, type /N in the command field and click the button in the screen displayed.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
In the R/3 System, you can create a session and start a task in one step by using a transaction code. When you open a session with a transaction code, the system displays the initial screen of the task in a new session. To use this method, you must know which transaction code to use for the task you want to perform.
To create a new session and a task at once from anywhere in the system, do the following: 1. In the command field enter a /o followed by the transaction code for the task you want to start. /o allows you to keep the current session and create a session without losing the original session /i = Kills session you are working on. 2. For example, to create a customer master record in the Accounts Receivable application, you would use the transaction code FD01. To open a session and start this task at the same time, then you would enter /ofd01 in the command field. 3. Hit Enter for execution or click on the green arrow.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
SAP Overview ECC 6.0
To exit the application use the menu path: 1. System Log Off 2. A popup screen will be displayed ‘Unsaved data will be lost. Do you want to log off ?’ (This message will appear even if you have saved your data.) Select YES to log off the system without saving any changes or updates. Select NO to cancel the log off request.
Warning: If you have several sessions open and you log off with this method instead of end session, it will kill all your sessions.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training SAP Navigation
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
The CTS is the central tool for managing changes to Customizing and Repository data that you make in the IMG or ABAP Workbench. The CTS records all changes in change requests. The changes in change requests can be linked together logically, or can be completely independent of each other. Developers in a team can use a common request. You can create documentation for a change request, where you can describe your changes in more detail. This makes it easier to see which data was changed by which user, and to what purpose. When you have finished your work in the IMG or ABAP Workbench, or have reached a certain stage, you can release the request. The change request is then used to copy the changes from this client to other clients or systems. This automatic procedure is known as a transport. Transports of changes by the CTS allow you to develop in one environment, test your development work in a test environment, and then, if the tests are successful, use it productively. This makes sure that productive operations are not placed at risk by faulty settings or program errors. Transports of changes between clients and systems are subject to rules that are set in the CTS configuration in the system landscape. One rule may be that changes are transported into a test environment before they can be copied to the production environment. All transports are logged, so that you can see when a change request was imported into a client or system, and whether there were any errors.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training
SAP Overview
Change and Transport System
ECC 6.0
Transport Organizer is the set of utilities which provide for the development change management and customization (configuration) change management.
All development changes (ABAP/4, DDIC) and Customizing are tracked through the Transport Organizer.
The Transport Organizer is accessed via transaction SE09 or SE10.
The Development Workbench is now fully integrated with the Transport Organizer.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
The initial screen provides various selection criteria for locating an individual Request. Select the ‘Workbench Requests’ checkbox to locate Development change requests and select the ‘Customizing Requests’ checkbox to display the list of change requests used to organize Customizing objects.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
The Transport Organizer displays all of the Requests which meet the selection criteria in a graphical tree format.
“Drill down” features are available to allow the user to display the desired level of detail for a Request or Task.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
By drilling down to the detail level on an individual task, from within the Transport Organizer, the user can display the list of all objects contained within the task. The object list displays all objects, development or customizing, for which changes are recorded in the selected task. Information on these objects include: Desc: Category of the object. Prg_type : Program type Obj: Element object type. Obj. name: Name of the object to be transported. Funct.: Correction function for the object. Possible values are: “M” Delete and recreate in the target database. “ ” Delete the specified object in the target database, and insert the value from the source database. “K” The object contains key values. Individual entries from the object have been specified for transport. “D” Delete the object from the target database.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
ObjStatus: Object lock indicator. Possible values are: LOCKED Object locked. NOT_IMP Object not imported. ERR_IMP Error importing object. OK_IMP Object imported. OK_GEN Object imported and generated. From within the Display Object List, you can drill down further on objects which have key values associated with them (Function “K”). Details regarding the table records specified by the key values are displayed on this screen. They include: Obj: Element object type. TabName: Table name. Key (beginning): Table key (abbreviated) for the object in the request/task. F: Function for the key entry. Possible values include: “ ” If the key exists in the source system, it is transported to the target system. If the key does not exist in the source system, it is deleted from the target system.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
1. When entering a configuration/creating a development object, the SAP will prompt the user for a Change Request (assuming that the client has been set to automatically record customizing changes). 2. If the user already has an outstanding Change Request that he/she would like to place the customizing/development change in, the “Own Requests” button can be selected. This will provide the user with a tree structure view of all requests with which that user is associated. From there, the user may select the appropriate request in which to include the customizing/development change. 3. By selecting the “Create Request” button, a new Change Request will be generated, and a Task within the new request will be generated.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
4. Having selected “Create Request” on the previous screen, the user is prompted to enter a short description for the new request. 5. The user’s id is automatically assigned to this request, and a task is generated within the Change Request. 6. If the user is authorized, he/she may also add additional users to this request, each one receiving their own task within it.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
7. After providing a short description for the Change Request and selecting the Save button, the SAP system returns the number of the new request. 8. As long as this request remains open, future customizing/development changes can continue to be added to it.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
All users who will be editing development objects on the R/3 system must be registered with SAP and assigned a development key.
If a user has not been assigned a development key, the message shown above will be displayed.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
By selecting the ‘Information’ button from the previous screen, the user can obtain the R/3 system’s installation number. This number is required for the registration process.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
ECC 6.0
A list of all registered developers can be found in table DEVACCESS.
This table displays the registered user ID and associated developer key.
©IBM Global Services
SAP Overview
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
A Package is a group of logically related development objects. A Package contains all the development objects which must be developed, maintained, and sometimes transported together. The objects that make up a transaction usually belong to one Package. Before 4.7 Package was called Development Class.
When creating a new object in the R/3 system, the developer will be prompted to supply a Package. By selecting a valid Package and then a CTS, changes to the object will be recorded in the Transport Organizer.
If the “Local Object” button is selected, the object is classified as a local private object, and changes are not recorded by the Workbench Organizer. Local private objects may not be transported.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
SAP Overview ECC 6.0
To add a new Task to an existing Request, place the cursor on the Request in the Request tree diagram. 1. Select the “Add User” button. 2. Select the user ID of the individual to whom this new Task will be assigned. 3. Multiple Tasks may be created for a single user in a Request.
©IBM Global Services
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
IBM Global Services - SAP Development ABAP Training Change and Transport System
©IBM Global Services
SAP Overview ECC 6.0
Dec-2008
Day 2 and 3 ABAP Data Dictionary
IBM Global Business Services
Apr 2007
1
IBM Global Business Services
Apr 2007
2
IBM Global Business Services
Apr 2007
3
IBM Global Business Services
There are several path to accessing the dictionary. Below is a list some of the ways to access
the Dictionary.
To access the ABAP Dictionary:
Use the menu path: Tools ABAP Workbench Development ABAP Dictionary; or
Use the menu path:
Tools ABAP Workbench Overview Object Navigator
Pull down the Workbench menu and select Other objects… Select the Dictionary tab from the pop up screen and enter the appropriate table name in the Database table field; or
Use transaction code SE11
The ABAP Workbench was known as the ABAP/4 Development Workbench in past releases.
The Object Navigator used to be called the Object Browser and the Repository Browser.
Apr 2007
4
IBM Global Business Services
Apr 2007
5
IBM Global Business Services
Apr 2007
6
IBM Global Business Services
Apr 2007
7
IBM Global Business Services
DATA CLASS : The data class defines the physical area of the database (for ORACLE the TABLESPACE) in which your table is logically stored. If you choose a data class correctly, your table will automatically be assigned to the correct area when it is created on the database.
The most important data classes are (other than the system data):
APPL0
Master data : Master data is data which is frequently read, but rarely updated.
APPL1
Transaction data : Transaction data is data which is frequently updated
APPL2 Organizational and customizing data : Organizational und customizing data is data which is defined when the system is initialized and then rarely changed.
There are two more data classes available, USR and USR1. These are reserved for user developments. The tables assigned to these data classes are stored in a tablespace for user developments.
Apr 2007
8
IBM Global Business Services
Apr 2007
9
IBM Global Business Services
Buffering Database Tables
Buffering a table improves the performance when accessing the data records contained in the table. The table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.
Buffering is particularly important in client/server environments, as it takes considerably longer to access a table with the network than it does to access a table that is buffered locally.
Apr 2007
10
IBM Global Business Services
You must define whether and how a table is buffered in the technical settings for the table. There are three possibilities here:
Buffering not permitted: We must not buffer a table if the table data is frequently modified. In this case the cost of synchronization could be greater than the gain in performance resulting from buffering.
We also do not buffer time critical data.
Buffering permitted but not activated:
Buffering activated: Generally custom data are buffered with full buffering or generic buffering.
Apr 2007
11
IBM Global Business Services
Apr 2007
12
IBM Global Business Services
Apr 2007
13
IBM Global Business Services
Apr 2007
14
IBM Global Business Services
Follow menu path Utilities - Table maintenance generator from transaction SE11.
Specify the Authorization Group. (E.g. &NC& for skipping any Authority Check)
Click ‘one step’ maintenance type.
Give the Overview Screen as ‘9000’. (You can specify any Screen Number beginning with 9)
Now, hit the Create Button to create the maintenance view for the table. Specify the Development Class and CTS when prompted for.
Specify a Function group. (If you don’t have a Function Group already, then open transaction SE80 in another session and create a Function Group)
Also remember to set the ‘Display/Maintenance allowed’ value in the table attributes.
Apr 2007
15
IBM Global Business Services
If we check one step maintenance then we can create edit delete in the same overview screen
Apr 2007
16
IBM Global Business Services
Only one maintenance screen is processed during extended table maintenance. The entries are displayed in list form on this screen.
Apr 2007
17
IBM Global Business Services
Two maintenance screens are processed during the extended table maintenance:
On the Overview screen the entries are displayed in list form.
On the Single screen one entry is displayed. The single screen can be called from the overview screen, by function key, for every entry.
Apr 2007
18
IBM Global Business Services
*** IF we select two step maintenance then put the overview screen as 9000 and single screen 9001 for detail view
Go to transaction SM30 (Maintain Table Views: Initial Screen) and specify the table name.
You can Display and Maintain Table entries by clicking the ‘Display’ and ‘Maintain’ pushbuttons.
Click the ‘Maintain’ pushbutton to maintain the entries for the table.
Apr 2007
19
IBM Global Business Services
Apr 2007
20
IBM Global Business Services
Logically A delivery class is not meant for transporting the data but technically if we choose Standard recording
routine then it is possible to transport the data .
Apr 2007
21
IBM Global Business Services
Apr 2007
22
IBM Global Business Services
We should create a customize transaction for the TMG this is because of the fact that if someone has the authorization of SM 30 they can modify any table so to prevent that we create the customizing Transaction for our TMG .
Apr 2007
23
IBM Global Business Services
The first radio-button is for dialog or for online programming transaction
The second one is for Report transaction
The third one is for Class (oops) transaction
The fourth one is for variant
Apr 2007
24
IBM Global Business Services
First go to se93 give a transaction code begin with z press create .
Choose the 5th radio button i.e. Transactions with parameters .
In the transaction we should give SM 30 to maintain the table .
Give the appropriate screen no .
Name of the screen field 1> viewname ----------- table name (eg. Ztestlk)
2> update -------------- X Now we are able to acces the table using this Tcode .
Apr 2007
25
IBM Global Business Services
Apr 2007
26
IBM Global Business Services
Apr 2007
27
IBM Global Business Services
Apr 2007
28
IBM Global Business Services
Apr 2007
29
IBM Global Business Services
We can initialize the variable by just clearing it.
Eg. clear .
Apr 2007
30
IBM Global Business Services
Apr 2007
31
IBM Global Business Services
Apr 2007
32
IBM Global Business Services
Apr 2007
33
IBM Global Business Services
To set the default values of parameters or select options.
Eg. Suppose we have a parameter p_date where we want the default value as 30 days after the current date.
In this case if we use the following code:
parameters: p_date type sy-datum default sy-datum + 30.
We will get syntactical error here since the default offset should be only string.
Hence in this case we can solve our problem in the following way:
parameters: p_date type sy-datum.
initialization.
p_date = sy-datum + 30.
This is one situation when the initialization event becomes necessary.
Apr 2007
34
IBM Global Business Services
Steps for declaring an internal table/work area. Type declaration. First method types: begin of ty_cepc, bukrs type bukrs, "company code prctr type prctr, "profit centre datbi type datbi, "valid to date kokrs type kokrs, "controlling area end of ty_cepc. OR Second method types: begin of ty_cepc, bukrs type cepc~bukrs, "company code prctr type cepc~prctr, "profit centre datbi type cepc~datbi, "valid to date kokrs type cepc~kokrs, "controlling area end of ty_cepc. Here the second method is preferable since in this case the data element refers to the nature of the data element in that particular table (eg. cepc~bukrs). In the first case search help for the field kokrs will not come automatically where as in the second case it will come automatically. This is because in table CEPC for field kokrs the input help is implemented with check table and when we use the second method we refer to the data element in the table CEPC where as since there is no search help implemented for the data element kokrs so when we use the first method it refers to this data element which ha no input help implemented.
Apr 2007
35
IBM Global Business Services
Note: It's a good practice to declare all the internal tables, all the work areas, all the variables and all the constants together.
Apr 2007
36
IBM Global Business Services
Apr 2007
37
IBM Global Business Services
Apr 2007
38
IBM Global Business Services
**** Validation on input field can be checked in AT SELECTION-SCREEN EVENT as well as AT SELECTION-SCREEN ON EVENT .
If we want to validate a single input field then we should always validate in AT SELECTIONSCREEN ON event if we validate it in AT SELECTION-SCREEN then all the other field which is not meant for validation will also get validated so performance issue will get decreased .
Apr 2007
39
IBM Global Business Services
Apr 2007
40
IBM Global Business Services
Apr 2007
41
IBM Global Business Services
Suppose for example we have a select option as following:
SELECT-OPTIONS: so_matnr FOR v_matnr.
Then in the multiple selections option button at the selection screen if we enter the values as follows:
In the Select Single Values tab we enter a value say 1301.
In the Select Ranges tab we enter 1301 in the lower limit and 1400 in the upper limit.
In the Exclude Single Values tab we enter a value say 1304.
In the Exclude Ranges tab we enter 1310 in the lower limit and 1320 in the upper limit.
We can view this table through the debugging mode.
Apr 2007
42
IBM Global Business Services
A search help describes the flow of an input help. The search help can only take effect using a mechanism that assigns the search help to this field. This mechanism is called the search help attachment to the field.
Attaching a search help to a field has an effect on the field's behavior. It is therefore considered to be part of the field definition.
The input help (F4 help) is a standard function of the R/3 System. It permits the user to display a list of possible values for a screen field. A value can be directly copied to an input field by list selection. The fields having an input help are shown in the R/3 System by the input help key to the right of the field. This key appears as soon as the cursor is positioned on the corresponding screen field. The help can be started either by clicking on this screen element or with function key F4. If the number of possible entries for a field is very large, you can limit the set of displayed values by entering further restrictions.
Apr 2007
43
IBM Global Business Services
A search help can be attached directly to a field of a structure or table. The definition of this attachment is analogous to that of a foreign key. You have to define an assignment (between the interface parameters of the search help and the fields of the structure) for which the system makes a proposal.
If a field has a check table, its contents are automatically offered as possible values in the input help. The key fields of the check table are displayed. If a check table has a text table, its first character-like non-key field is displayed.
If you are not satisfied with the described standard display of the data of the check table, you can attach a search help to the check table. This search help is used for all the fields that have this table as check table. You have to define an assignment between the interface of the search help and the key of the check table when you define the attachment
Attaching a search help to a check table (or a data element) can result in a high degree of reusability. However, there are restrictions on passing further values via the interface of the search help .
With the screen event POV you can program the input help of a field by yourself. You can adjust the design of the help to the standard help using the function modules F4IF_FIELD_VALUE_REQUEST or F4IF_INT_TABLE_VALUE_REQUEST.
Apr 2007
44
IBM Global Business Services
Apr 2007
45
IBM Global Business Services
Apr 2007
46
IBM Global Business Services
Apr 2007
47
IBM Global Business Services
Apr 2007
48
IBM Global Business Services
Apr 2007
49
IBM Global Business Services
Apr 2007
50
IBM Global Business Services
Apr 2007
51
IBM Global Business Services
Apr 2007
52
IBM Global Business Services
Apr 2007
53
IBM Global Business Services
Apr 2007
54
IBM Global Business Services
Apr 2007
55
IBM Global Business Services
Apr 2007
56
IBM Global Business Services
Apr 2007
57
IBM Global Business Services
Apr 2007
58
IBM Global Business Services
Apr 2007
59
IBM Global Business Services
Apr 2007
60
IBM Global Business Services
Apr 2007
61
IBM Global Business Services
Apr 2007
62
IBM Global Business Services
The message type determines where the message is displayed and what action the user can or must take on the current screen .
Apr 2007
63
IBM Global Business Services
Apr 2007
64
IBM Global Business Services
Apr 2007
65
IBM Global Business Services
Apr 2007
66
IBM Global Business Services
Apr 2007
67
IBM Global Business Services
Apr 2007
68
IBM Global Business Services
Documentation helps in further use and helps the user to understand the purpose of the object.
Document Should be maintain for future reference .
Documentation can be maintain GO->Documentation->Click ‘Edit Documentation’ in Documentation pop-Up ->Document->Upload.
Or by change Editor instead of upload
Apr 2007
69
IBM Global Business Services
Apr 2007
70
IBM Global Business Services
Apr 2007
71
IBM Global Business Services
Apr 2007
72
IBM Global Business Services
Apr 2007
73
IBM Global Business Services
Apr 2007
74
IBM Global Business Services
Apr 2007
75
IBM Global Business Services
Apr 2007
76
IBM Global Business Services
The debugger stops only if the watchpoint variable (SY-SUBRC) changes and the additional condition (SY-SUBRC = 4) is met.
Apr 2007
77
IBM Global Business Services
Apr 2007
78
IBM Global Business Services
Similarly we can set dynamic breakpoints at any other ABAP Commands, Methods, Functions, forms etc.
Apr 2007
79
IBM Global Business Services
Apr 2007
80
IBM Global Business Services
Apr 2007
81
IBM Global Business Services