Summary of The SAP Ecosystem and Functional Software

sunfloweremryologistΔιαχείριση Δεδομένων

31 Οκτ 2013 (πριν από 3 χρόνια και 8 μήνες)

74 εμφανίσεις



Summary of The SAP
Ecosystem and
Functional Software



Review


Last time


we looked at various topologies
for implementing enterprise systems


This time


we will look at how SAP provides
a “fairly” complete infrastructure for


System configuration


System development and customization


System testing


System deployment



Lecture Structure


It’s a high
-
level overview of SAP / R3


Breadth not depth at this point



I’ll breeze through many screens to
demonstrate navigation through the SAP GUI



Course Simulations


We will use three separate SAP instance
throughout this course


Global Bike configuration


ABAP


Web
Dynpro


And possibly some sort of integration tool




Introduction

(Roles and Responsibilities)


This is my taxonomy


Developers

customize SAP


Administrators

designate roles to other
users and tune the system


Responsible for security administration


Responsible for deployment activities


Implementers

configure SAP


Third party
integrators

interface SAP with
other software packages


And of course, the
users







SAP Architecture
(Introduction)


Keep in mind that


this is the most complex software package that
you have ever seen


It’s been around for a very long time and has
remained backward compatible


It’s written in and developed by Germans




SAP Architecture
(Introduction)

From BC ABAP Programming



SAP Logical Architecture (1)


Underneath, there is a database and a
database management system


SQL Server, ORACLE and
MaxDB

are supported


The R/3 Basis is really an operating system
within an operating system


The Basis is it’s own virtualization system too


There is no user contact with the underlying
operating system



SAP Logical Architecture (2)


SAP
Basis

is the fabric on which all sap
applications run


This fabric runs on top of a host OS


UNIX (AIX, HP
-
UX, Solaris, Linux)


Windows


… IBM mainframe systems


ABAP program execution is managed by the
ABAP (managed runtime) and the SAP kernel






SAP and the Database


SAP uses
a logical database


We don’t
usually

touch the underlying ORACLE /
SQL server / whatever database


ABAP programs are stored in the SAP
database


SAP supports


IBM DB2, Informix,
MaxDB
, Oracle, Microsoft
SQL Server


A similar model exists for the Web application
Server






SAP
Logical Architecture (3)


ABAP workbench is the development
environment with which you write, debug,
and test ABAP applications


ABAP is the programming language of SAP and
resembles COBOL


An R/3 application has special meaning


It’s an ABAP program


It’s has a well
-
defined structure



SAP Logical Architecture (4)


Our
presentation component

will be the
NetWeaver

program that you used in IS 365


All user interaction is through the presentation
component



SAP Layers


SAP is built using three layers



SAP (Database Layer)


SAP interacts with other RDMSs


(ORACLE, SQL Server, DB2, INFORMIX, etc…


However, the database layer stores
everything for the
entire
SAP “instance”


ABAP code


User accounts



SAP
(Application
Layer)


Application servers run ABAP applications


We typically have many of them


The server group is load balanced


Message server communicate state
information between application servers


More later



SAP
(Presentation
Layer)


It’s
NetWeaver


We will not get into the topic yet but there is
much that can be done with
Netweaver


The presentation layer interacts with the
application layer in a very structured way


As you complete screens, you perform
dialog
steps



Control passes back and forth between the
presentation layer and application layer



SAP (Presentation Layer)



Application Server (Structure)


Application servers are responsible for two
things


Dispatching work across a network of
application servers


Performing work (work processes)


Execute dialog steps


Gateways communicate with other application
servers


Shared memory is used to persist application
context




Application Server
(Illustration)



The SAP

Programming Model (1)


This discussion is based on the cardinal rule
that
the database can never be left in an
inconsistent state or a transaction be lost


But we might have thousands of users
concurrently recording transactions


You should see the synchronization problem



The SAP

Programming Model
(2)


Executing an application (transactions) is
done by completing one or more dialog
screens


Each screen is called a
dialog step


Each dialog step corresponds to a database
Logical Unit
of
Work LOW


ABAP provides constructs to bundle several DB
LUWs into a SAP LOW




THE SAP LUW



Structure of a Work Process



Types of Work Processes


Work processes have different types


Dialog work process work with user requests to
execute dialog steps


Update processes execute database updates that are
parted of a bundled SAP UOW


Background processes are executed without user
interaction


Enqueue

processes are used for locking


Spool processes are used for printing and archiving





Summary


An
application

program

has one or more
screens

which are processed by the screen
processor of a work process


The
processing

logic

of a program gets
data from screens, processes it, and returns
data to screens



Screens


Unlike the VB form with which you are
familiar, the ABAP screen is much more
structured


Two types


Screens

have a definition and flow logic
created using a screen painter


Selection

screens

and
lists

provide a
simplified way to select data for a list or report



ABAP Program Structure


ABAP programs execute within individual
dialog steps


A program is divided into processing blocks



ABAP Program


Declare global data here


Create selection screen definitions


Dialog modules, event blocks, and
subroutines are all processing blocks



We will delve into the structure more later



Types of ABAP Programs (1)


A program’s technical attributes and
capabilities are determined by its type


Type

1

programs are executable programs


They do not need to be controlled by screens


Type 1 programs are often called
reports



Type M
programs are controlled through
screen flow logic and must be started from a
transaction code




Types of ABAP Programs
(2)


Type

F

programs are function modules
containing reusable function


Type

I

programs are includes


Includes just break up programs into smaller
chunks.







Implementer (Introduction)


In my opinion a formal definition gets a bit
fuzzy here


We use the IMG to configure (customize) the
system


We use the SAP system itself to create all sorts
of “master data”


Production schedules


You did some of this in IS 365




(IMG) Introduction


IMG is short for Implementation Guide


It contains all of the actions to implement,
control and document the SAP system


General Settings


Enterprise Structure


Financial Accounting


And all of the functional sub systems



(IMG) General Settings


Country settings (countries in which we do
business)


Currencies in which we do business


Public calendars containing holidays, workday
configuration



Once configured these are either hard to
change or cannot be changed



IMG (Enterprise Structure)


Here, we describe our organizational
structure to the SAP system (Organizational
Units)


It’s not easy to change the organizational
structure once it has been created



IMG

(Enterprise Structure


Parts)


Financial accounting


Controlling accounting


Logistics


Sales


Materials Management


Plant Maintenance


Production


HR




SAP Development (Interface)


The
Object

Navigator

is the entry point into
the ABAP objects (programs) (Transaction
code SE80)


The
ABAP Editor

is used to create, edit,
test, and debug ABAP applications


The
Data Browser

lets you look at the SAP
tables from the SAP / ABAP API


… And Much More



Object Navigator


It’s used to organize programing in the SAP
integrated development environment


Repository Browser is the primary code storage
area


The Repository Information System is used to
search for programming objects


The Transport Organizer manages changes
made during configuration and development
and propagates (transports) changes to test and
production systems




Repository Browser

(Object Lists)


The
application hierarchy

contains all
development objects


A
package

contains logically related
development objects


In this class, we will create
local objects
,
which are not transported to QA / production
systems




Packages (Contents)


Packages contain many things


Programs containing fields, events, subroutines,
screens, and so on


Function groups are containers for functions
(external procedure calls)


Dictionary objects contain (roughly speaking)
references to SAP data


Remember, all data is processed through the SAP
API


SHOW PACKAGE FARC



Classes / Interfaces


SAP supports an OOP approach to
development using classes and interfaces