300 likes | 410 Views
Introduction to ABAP and SAP Structure. What is the UOW?. SAP operates around the concept of a Unit of Work (UOW) Every transaction code you execute completes a unit of work It’s atomic (cannot be divided). That is, a transaction completes entirely or it does not!
E N D
What is the UOW? • SAP operates around the concept of a Unit of Work (UOW) • Every transaction code you execute completes a unit of work • It’s atomic (cannot be divided). That is, a transaction completes entirely or it does not! • A unit of work (transaction code) corresponds to a program (term used loosely)
What’s a Transaction? • There is a 1-1 relationship between transaction code and a UOW program • A transaction • Has a corresponding program • Belongs to a package • Has an initial screen and possibly many others
Organization of the SAP System (1) • It’s big • Use the Object Navigator to look at all of the SAP objects (SE80) • All sorts of tools to look up and edit applications • Typical ‘drill-down’ interface • My example will look at transaction code VA01 – create sales order
Organization of the SAP System (2) • You have all of the source code and can see / change / enhance how the system works • All code is written in a language called ABAP or more recently some is written in Java
Program Attributes(Package) • SAP packages, in the simplest case, allow you group programs, database tables, (and other things) together • SAP itself is organized into thousands of hierarchical packages • A program belongs to a package and has an owner • The package is defined when the program is saved for the first time • Use package $TMP for our “local” packages
ABAP Program Attributes (Package) • Use Local Package $TMP for our work
The Object Navigator • It’s a navigator to all SAP ‘objects’ (SE80) • The ‘Application Hierarchy’ is at the top and contains packages
Object Navigator (Lookup Example 1) • Sales and Distribution (SD) / SALES is an Application Component
Object Navigator (Lookup Example 2) • Which contains the program SAPMV45A (Sales Order Processing)
Object Navigator (Lookup Example 3) • And the transaction code VA01 is bound to this program SAPMV45A • SE93 is used to look up a program based on the transaction code
Object Navigator (Lookup Example 4) • Transaction code VA01 belongs to the package SAPMV45A • Having a default screen number of 101
Object Navigator (Lookup Example 4) • Screen 101 from the Object Navigator is the first screen to create a sales order
Object Navigator (Lookup Example 5) • Which when run gives us a screen simulation
Object Navigator (Lookup Example 6) • Which looks is our first screen to create a sales order (VA01)
How do we Customize? • We modify SAP programs via ‘enhancement sections’ and other means • We create custom programs • We copy entire transaction codes and ‘make our own
Enhancement Sections • They are entry points into SAP programs that allow us to add our own code before or after some SAP task executes
Creating a Custom Program • It’s a unified interface for creating, debugging, modifying, deploying, … ABAP programs • Use transaction code SE38
Review (A First ABAP Program -1) • Create a program
Review (A First ABAP Program -2) • Edit the program statements
Review (A First ABAP Program -3) • Activate the application (Program / Activate)
Review (A First ABAP Program -4) • Run it (F8) or (Program / Test / Direct Processing • A first report is displayed
APAP Program Attributes (Introduction) • Every program that you create has metadata
APAP Program Attributes (Program Type) • ABAP has it’s own program types • Executableprograms can be run independently of a transaction code • ModulePools are made up of processing steps and are executed from a transaction code • And other types of programs
APAP Program Attributes (Program Status / Application) • Programstatus controls whether the program is a test (local) program deployed to production systems • Application controls where in the SAP hierarchy the program “lives”
The ABAP Editor • It’s Visual Studio for SAP • A code editor • The clipboard works as we would expect • We can run and test programs inside of the ABAP editor
ABAP Program Names • SAP has naming conventions for programs • Local programs should ALWAYS begin with the letters Y or Z (for customer)
ABAP Syntax (Introduction) • Like most programming languages, we have variables, statements (sequence, decision, loops) • The language looks like the old COBOL language