Olgierd Waszak Senior Consultant Zurich, 18.05.2006 ABAP for Consultants.

Slides:



Advertisements
Similar presentations
Visit : Call Us: US: , India:
Advertisements

Visit : Call Us: US: , India:
0 UMN 2011 ERP Terapan SAP BASIS General Concept Session # 3.
PantherSoft Financials Smart Internal Billing. Agenda  Benefits  Security and User Roles  Definitions  Workflow  Defining/Modifying Items  Creating.
University of Southern California Introduction to Enterprise Wide Information Systems Configuring SAP Instructor: Richard W. Vawter.
Lecture 1 Introduction to the ABAP Workbench
Introduction to the ABAP Data Dictionary
Monitoring Security With Standard SAP Tools Session Code 805 Sandi McKinney.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
University of Southern California Enterprise Wide Information Systems ABAP/ 4 Programming Language Instructor: Richard W. Vawter.
 SAP AG CSU Chico 102/14/981SAP Security Lecture MINS 298C SAP Configuration & Use: Security Copyright 1996, 1997, James R. Mensching, Gail Corbitt.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Advanced SQL And PL/SQL Topics Chapter 9.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Introduction To Form Builder
WebDynpro for ABAP Short introduction.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Access Tutorial 3 Maintaining and Querying a Database
® IBM Software Group © 2006 IBM Corporation JSF Tab Controls This Learning Module shows how to develop server-side EGL applications with dynamic content.
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
0 UMN 2011 ERP Terapan ABAP Introduction Session # 8.
Introduction to ABAP and SAP Structure
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
ABAP/4 PROGRAMMING Menu Painter Modularization 講 師:呂 昇 燦 2000 年 9 月 28 日.
SAP R/3 Fundamentals What is SAP? SAP environment introduction User-specific settings.
ABAP/4 Course. General n Workbench n Program maintenance n Screen Painter n Menu Painter n Transactions n ABAP/4 Query n Translation menu.
Form printing with SAP Smart Forms Instructor: Dylan Liu
SAP ABAP DemoNawin's Training Acadamy1. Enterprise Wide Information Systems ABAP/ 4 Programming Language Mr. RG Nawin Krishna, Bsc(cs);Msc(psychology);MBA(HR);SAP(HCM/HR),
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice SISP Training Documentation Template.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
In the next step you will enter some data records into the table. This can be done easily using the ‘Data Browser’. The data browser can be accessed via.
Creating Dialog (ABAP Dynpro) Programs. Slide 2 Introduction All of the ERP systems operate similarly with regard to transactional integrity They all.
CHAPTER TEN AUTHORING.
BW Know-How Call : Performance Tuning dial-in phone numbers! U.S. Toll-free: (877) International: (612) Passcode: “BW”
0 UMN 2011 ERP Terapan Dialogs Programming Session # 11.
User Dialog Overview. Update Statement TABLES customers. SELECT SINGLE * FROM customers WHERE id = 1. IF sy-subrc = 0. customers-name = ‘John’. UPDATE.
Introduction to ABAP Selection Screens. Slide 2 Screens (Types) There are three types of screens Selection screens get parameter input for reports List.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Graphical Enablement In this presentation… –What is graphical enablement? –Introduction to newlook dialogs and tools used to graphical enable System i.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Class Builder Tutorial Presented By- Amit Singh & Sylendra Prasad.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Introduction to the SAP IMG Interface. Slide 2 Accessing the IMG Use transaction code SPRO or.
Intermediate Documents (IDOCs) What is an IDoc What is an IDoc An IDoc is simply a data container that is used to exchange information between any two.
SAP DEVELOPMENT BASICS Bohuslav Tesar. TRAINING OVERVIEW Amazing life of ABAP developer ;) SAP introduction ABAP basics ABAP Reporting.
Quick Test Professional 9.2. Testing Process Preparing to Record Recording Enhancing a Test Debugging Running the Test and Analyzing the Results Reporting.
SAP - CRM. SAP - CRM CRM One Order Model CRM One Order concept. layers of one order framework Function modules in the one order framework Table Relationship.
Techniques for List Creation (2) Data formatting and control level processing Basics for Interactive Lists Detail lists The Program Interface Interactive.
Introduction to ABAP/4 A dvanced B usiness A pplication P rogram – Release 4 Why Use ABAP? –Programming language of SAP –Main purpose is to provide additional.
SAP CRM Web UI.
SAP R/3 User Administration1. 2 User administration in a productive environment is an ongoing process of creating, deleting, changing, and monitoring.
Prerequisites, Scope and Considerations Jan 2013 UI Field Level Security.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Top 10 SD Userexits David Glessner Product Requirements Planning.
CTS Change & Transport System. Introduction The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP.
SPECTO TRAINING contact us: , mail :
Dept. of Information Systems St. Francis Xavier University
JavaScript, Sixth Edition
Explanation of the demo scripts and installation guide
SUNTrainings Sap Abap Online Training | Online Sap Abap Training in USA, UK, Canada, Australia, India.
SAP University Alliances
SAP ABAP Online Training
The enhancement concept allows you to add your own functionality to SAP's standard business applications without having to modify the original applications.
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Why Background Processing?
Data Dictionary Overview
Business Add-Ins.
Presentation transcript:

Olgierd Waszak Senior Consultant Zurich, ABAP for Consultants

2 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Agenda  ABAP Development Workbench  Debuging  SAP extensions  System modyfications  Errors and protocols  „...” Lunch about 11:30

3 | © The Information Management Group. All rights reserved. Proprietary and confidential. || ABAP Workbench – training map

4 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Architecture/program flow – user oriented view

5 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Sample program

6 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Program modularization (report)  ABAP Event blocks  Subroutines

7 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Possible elements of the ABAP report  An ABAP program is a collection of processing blocks. A processing block is a passive section of program code that is processed sequentially when called.  Processing blocks are the smallest units in ABAP. They cannot be split, which also means that they cannot be nested.  There are various kinds of ABAP processing blocks: – Event blocks are ABAP processing blocks that are called by the runtime system. Event blocks can logically belong to the executable program, to the selection screen, to the list or to the screen. This unit deals with event blocks that belong to the executable program. You can find information on event blocks that belong to the selection screen, the list or the screen in the units on user dialogs. – Subroutine processing is triggered by an ABAP statement. Parameters can be passed to subroutines using an interface and subroutines can contain local variables.  Modules are special ABAP processing blocks for processing screens. Therefore modules are dealt with in the User Dialogs: Screens unit.

8 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Example: program with event blocks and selection screen

9 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Subroutines  Form declaration – FORM USING CHANGING.... ENDFORM.  Form call – PERFORM USING CHANGING.

10 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Other program elements  Function modules  Local classes – Attributes – methods  Macros  Includes – TOP include xxxTOP – Constant declaration – Common subroutines –...  Screens – Screen modules – Screen events (on Value request, on input,...)

11 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Program object hierarchy Packet (old Dev.Class) ProgramsFunction groupsClass LibraryDDICTransactionsothers Function Modules, screens,... Methods, Attributes,... DDIC objects

12 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Application hierarchy  Transaction SE81  References to the program from the component point of view

13 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Repository

14 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Repository – transaction SE84

15 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Training system Client: 903 User: xxx or ABAP01, ABAP02 Pass: abc123

16 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Demo

17 | © The Information Management Group. All rights reserved. Proprietary and confidential. || ABAP Workbench – set of tools for Repository  The ABAP Workbench contains different tools for editing Repository objects. These tools provide you with a wide range of assistance that covers the entire software development cycle

18 | © The Information Management Group. All rights reserved. Proprietary and confidential. || ABAP Dictionary (SE11)

19 | © The Information Management Group. All rights reserved. Proprietary and confidential. || ABAP Dictionary - objects

20 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Screen Painter  Transaction SE51  Used to screen create/change/display  Integrated into the Object Navigator

21 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Menu Painter  Transaction SE41  Used to menu create/change/display  Integrated into the Object Navigator

22 | © The Information Management Group. All rights reserved. Proprietary and confidential. || ABAP Editor  Transaction SE38  Transaction SE39 – split screen editor – Used to compare two programs  Used to menu create/change/display  Integrated into the Object Navigator

23 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Function Builder  Transaction SE37  Used for FM create/change/display  Integrated into the Object Navigator

24 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Class Builder  Transaction SE24  Used for ABAP class create/change/display  Integrated into the Object Navigator

25 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Demo

26 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Demo – how to create a program  Create a new program via SE38 transaction  Report should read fly data and display in on the screen  Select-options  Parameters  Select statment  Write statment  Example – packet SLIS  ALV – funciton modules REUSE_ALV_LIST_DISPLAY, REUSE_ALV_GRID_DISPLAY

27 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Object Navigator – transaction SE80

28 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Database Browser  Transaction SE16 – old database browser  Transaction SE16N – new database browser

29 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Transport Organizer  What is the transport?  Transaction SE09, SE10  You can check the status of the changes – if already are transported ...

30 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Others Workbench Tools  SE32 – text elements for programs  SE91 – messages  SE92 – system log messages  SNRO – number ranges  SLG0 – application log  SE93 – transaction definitions  SE63 - translations

31 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Demo

32 | © The Information Management Group. All rights reserved. Proprietary and confidential. || I want to know more !!!  Something does not work as I expect  I want to know everything !!! I need to be a master !!!  I’d like to see it in the Database ...

33 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Which program should I analyze?  How to check which program I need to see in the ABAP Workbench?  Which component needs to be checked?  Where to start?

34 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Which program should I analyze? – example VA03 F1 F9 or

35 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Debugger  Transaction  Screen (program / screen number)  GUI (Program / Status)  Screen Field/Table Field (structure!!!)

36 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Debugger  Immer Mit DebuGger  /h and... – Continue, execute, single step – Set breakpoint – Value show – Internal tables – Change values/internal tables – Set breakpoint at.... – Watchpoint  Transaction SE16: table content edition

37 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Debugger  Creation of the shortcut for debugging on the desktop

38 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Tips & Tricks in Debugger mode  SE16 – value of data ‘CODE’  How to jump the authorization?( upssss... )  SE16n – how to edit transparent table – Start SE16n – Choose table name for showing – Enter selection parameters – Put the command &sap_edit in the command line – Press ENTER to switch to edit mode – Press F8 to get a result – You are ready to change non-key fields in the table

39 | © The Information Management Group. All rights reserved. Proprietary and confidential. || System extensions

40 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Change levels

41 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Extensions  How in/out to/from the system with additional info: user exity of all types menu exity, screen exity field exity, key word exity Table extension: append, customer include matchcode: new ID workflow Outputs

42 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Extensions – User Exits  Old types – still in use: Perform userexit_field_modification.  You have an access to the whole program work area! – A lot of possibility to change (global values) – Be carreful – it is easy to destroy something!!!  Search/View in the Module pool  Example: SAPMV45A i MV45AFZZ etc.  Possibility: depends on the SAP Module – Update of additional tables/fields in the standard tables – Check before document save – Display change on the screen: obligatory fields, only for display etc. – This is not simple!  -> update of additional customer table

43 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Extensions – User Exits  Function module call customer-function '001' - tables xmkpf = zmkpf - xmseg = zmseg - xvm07m = zvm07m.  Limited possibility of read/change data (depends on the defined by SAP interface)  Activation of such exists (Projects)  How to find: – transaction SMOD – Debugging

44 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Extensions – User Exits (example)  sales order area - include MV45AFZZ – Form userexit_move_field_to_vbak – copy customer fields – Form userexit_pricing_prepare_tkomk – prepare pricing –....  Classification – durring search we can fill characteristics: – EXIT_SAPLCLSC_001  MM – material document posting – you can update customer table: – EXIT_SAPLMBMB_001 – Question: Why we do not have access to all data? What is the reason of this restriction?

45 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Extensions – Menu Exits  Business Add-Ins or Customer exits  Possibility to have the own transaction call in the standard menu – only in the special places- this is Menu exit. – How to find it?: SMOD or technical settings of the screen – Example: Transaction S000, VC01

46 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Demo

47 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Extensions – Screen Exits  Possibility to add the new subscreen to the standard SAP screen  The SAP developer must: – Define the subscreen areas – Specify the corresponding calls in the flow logic – Provide the framework for the data transport – Include the screen exit in an enhancement – Maintain the documentation

48 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Extensions – DDIC tables extensions  We can do this only in the case if there is possibility to manage such change in the program process  Append / Customer Include  CI_Includes – multiply use, must be planned by SAP developers  Standard table extension or customer table?

49 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Business Transaction Events (BTE)  The SAP application program dynamically calls a function module in the customer namespace

50 | © The Information Management Group. All rights reserved. Proprietary and confidential. || BTE  Are enhancement that were developed for Financial Accounting (FI) component of R/3  Have predefined interfaces allowing customer access  Have one of the following types of interfaces – Publish & subscribe - These interfaces inform external software that certain events have taken place in an SAP standard application and provide them with the data produced. The external software cannot return any data to the R/3 System – Process interfaces - These interfaces are used to control a business process differently than the way in which it is handled in the standard R/3 System. They intervene in the standard process, and return data to the SAP application

51 | © The Information Management Group. All rights reserved. Proprietary and confidential. || How to find BTE?  To find out directly whether an application transaction offers business transaction events, you can search it in the program source text for the character string "OPEN_FI_PERFORM". The number that completes the name of the function module is also the name of the event  In the SAP Customizing Implementation Guide (IMG), you will find the entry "Use business transaction events " under the "Financial Accounting Global Settings" node of the Financial Accounting area. Choosing this entry calls a transaction (FIBF) where you can execute all of the actions necessary for using Business Transaction Events  Under Environment, you will find search functions that you can use to identify appropriate business transaction events. You can view the documentation for the event from the list

52 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Business Add-Ins (Badis) – via ABAP OO technique  The application program calls a method of a class or instance of a class. This class lies in the customer namespace

53 | © The Information Management Group. All rights reserved. Proprietary and confidential. || How to find Badis?  SE18 – definition, SE19 - implementation  You can search in a relevant application program for the string "CL_EXITHANDLER". If a business add-in is called from the program, the "GET_INSTANCE" method of this class must be called  You can then reach the definition of the business add-in using forward navigation. The definition also contains documentation and a guide for implementing the Business Add-In  However, you can also use the application hierarchy to restrict the components in which you want to search. Start the Repository Information System, then choose Environment -> EXIT techniques -> Business Add-Ins" to start the relevant search program  Alternatively, you can use the relevant entries in the IMG

54 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Badis - exercise  Check if program SAPBC425_BOOKING_00 can be enhanced  Check the badi definition name  Implement the badi to change data and output

55 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Do we realy need the extension/modification?

56 | © The Information Management Group. All rights reserved. Proprietary and confidential. || System modyfications  New field on the screen: this is not only the layout change, but also we need to maintain this in the program – means the modification is needed in a few places  Similar issues: – Standard report copy with adjustment – Standard transaction copy – We can have a problem with Includs: in the case of upgrade very often means to make it once again Did I decide in the right way?

57 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Important information for the Developer  identyfikacja tej specyfikacji w ramach projektu (numer, etc.): choćby dla identyfikacji wobec klienta / rozliczenia  osoby odpowiedzialne: specyfikacja funkcjonalna, realizacja techniczna, odbiór ze strony klienta  „jak to działa” lub „do czego to służy”: czyli krótki opis funkcjonalny żądanej zmiany / dodatku – Ważne: pokazanie miejsc w standardzie (zrzuty ekranów) których ta specyfikacja dotyczy. Jest to dużo ważniejsze od wyszczególniania tabel (i tak zwykle dostajemy struktury a nie tabele!)

58 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Errors and protocols – what is going on with my system?  Trace request  Dump analysis  Update Records – background processing

59 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Trace Request – ST05  Very offten this is not enough to check the technical data on the screen  How to check which objects are used in the background processing?  Which tables are updated durring my process?  The answer is TRACE REQUEST

60 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Trace Request – result list

61 | © The Information Management Group. All rights reserved. Proprietary and confidential. || ABAP Runtime Analysis  Transaction SE30  This is a tool for consultant, who wants to know more and more...  For a consultant, who want to make a little performance analyze

62 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Dump Analysis  Transaction ST22  Sometimes this is a simple reason why something does not work  If you have an ABAP base you can check it in a simply way

63 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Update Records  Transaction SM13  Used to check background process ...

64 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Demo

65 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Questions???

66 | © The Information Management Group. All rights reserved. Proprietary and confidential. || Contact Phone: Fax: Web: The Information Management Group (IMG) IMG Poland ul. Legnicka Wrocław Olgierd Waszak (OWA), Senior Consultant