Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Chapter 6 – Specialities for ERP software

Ähnliche Präsentationen


Präsentation zum Thema: "Chapter 6 – Specialities for ERP software"—  Präsentation transkript:

1 Chapter 6 – Specialities for ERP software
ABAP Course Chapter 6 – Specialities for ERP software Lecturer: André Bögelsack, UCC Technische Universität München Author: Valentin Nicolescu, André Bögelsack

2 Copyright 2008 UCC TU München All rights reserved
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch HCC TU München nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® und SQL Server® sind eingetragene Marken der Microsoft Corporation. IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®, S/390®, AS/400®, OS/390® und OS/400® sind eingetragene Marken der IBM Corporation. ORACLE® ist eine eingetragene Marke der ORACLE Corporation. INFORMIX®-OnLine for SAP und Informix® Dynamic ServerTM sind eingetragene Marken der Informix Software Incorporated.  UNIX®, X/Open®, OSF/1® und Motif® sind eingetragene Marken der Open Group. Citrix®, das Citrix-Logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® und andere hier erwähnte Namen von Citrix-Produkten sind Marken von Citrix Systems, Inc. HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.   JAVA® ist eine eingetragene Marke der Sun Microsystems, Inc. JAVASCRIPT® ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von Netscape entwickelten und implementierten Technologie.   SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP, mySAP.com und weitere im Text erwähnte SAP-Produkte und -Dienstleistungen sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und anderen Ländern weltweit. MarketSet und Enterprise Buyer sind gemeinsame Marken von SAP Markets und Commerce One. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen. Die Verwendung der Screenshots wurde mit dem jeweiligen Eigner abgesprochen.

3 Agenda Authorizations Lock objects Logical units of work Updater

4 Authorizations Before starting a program user authorizations should always be checked But: authorizations are not checked by the system Every ABAP program has to check authorizations by itself Different authorization levels: READ (01), CHANGE (02), DELETE (03) for every data set Transaction: SU03

5 Locking concept What happens when several users want to work on the same data set?  data inconsistency Lock objects prevent simultaneous changes on data set Beside the lock concept of the database, SAP implements its own lock concept SAP does not use the database’s lock concept Deadlock: May occur when two programs wait for each other to lock data set Rare

6 Locking concept Modes: Read lock = shared lock
Locks data set for reading Several shared locks may exist on one data set at the same time Prevents the SAP system from creating an exclusive lock on a data set Write lock = exclusive lock Locks data set for writing/changing No shared locks, only one is allowed at the same time First come, first serve

7 Locking concept Creation of a lock object:
Creation can be done in data dictionary (SE11) One lock object per database table Lock objects are generated automatically by using the primary key There is only one lock object dealing with all lock modes

8 Usage of lock objects Two function modules are generated automatically when creating a lock object: Enqueue_<lock object>  lock data set Dequeue_<lock object>  unlock data set Before writing/reading data set  lock data set After writing/reading data set  unlock data set In case of an error  unlock data set Use button ‘PATTERN’ to avoid misspellings Locks can be viewed and deleted in transaction SM12

9 Generation of lock objects
EZ_SPFLI Activate Function Function ENQUEUE_ESFLIGHT DEQUEUE_ESFLIGHT  Lock data set  Unlock data set

10 ENQUEUE parameter‘s Parameter Value Meaning mode_<tabname> ‘S‘
‘X‘ Read lock (shared) Exclusive lock (not shared) <lock parameter> <value> Field values used to lock the data set _wait SPACE If foreign lock, no new attempt If foreign lock, new attempt _collect ‘X’ Lock without local lock container Lock with local lock container

11 Logical unit of work (LUW)
Logical unit of work (transaction) breakdown Process before output (PBO) 100 Dynpro 100 Process after input (PAI) 100 Commit User input Process before output (PBO) 200 Dynpro 200 Process after input (PAI) 200 Scenario: What happens if a breakdown of the SAP system occurs in the middle of the transaction? What happens to the data? User input

12 Logical unit of work (LUW)
Problem: New data sets are transferred into the database by each screen Only if last screen of the program is reached and all data sets are written to the database the data are correct Solution Updates to database are written to the updater process Only when last screen of the program is reached, the updater receives a trigger to write data to database (commit) or to dismiss (rollback)  ensures data integrity

13 Logical unit of work (LUW)
Schema: Protocoll table Data Data Data Data Data deletes 1 3 Work process Work process 5 2 Program Updater 4  Lock data set Database


Herunterladen ppt "Chapter 6 – Specialities for ERP software"

Ähnliche Präsentationen


Google-Anzeigen