Abap course   chapter 4 database accesses
Upcoming SlideShare
Loading in...5
×
 

Abap course chapter 4 database accesses

on

  • 2,626 views

 

Statistics

Views

Total Views
2,626
Views on SlideShare
2,626
Embed Views
0

Actions

Likes
0
Downloads
258
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Abap course   chapter 4 database accesses Abap course chapter 4 database accesses Presentation Transcript

    • ABAP Course Chapter 4 – Database accessesLecturer: André Bögelsack, UCC Technische Universität MünchenAuthor: Valentin Nicolescu, André Bögelsack ABAP Course André Bögelsack, Valentin Nicolescu 1
    • 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. ABAP Course André Bögelsack, Valentin Nicolescu 2
    • Agenda1. Data dictionary2. SAP flight example3. Database operations in SAP4. SAP OpenSQL5. Types of database changes6. Types of entry help ABAP Course André Bögelsack, Valentin Nicolescu 3
    • Data dictionary• Data dictionary = global directory for data types• Assignment of help texts and explanations for data types in different languages• ERM can be shown as a figure automatically• Most important objects: structure, table, data element and domain ABAP Course André Bögelsack, Valentin Nicolescu 4
    • Data dictionaryDomain ZY_ID INT4 Data typeData element ZY_ID ZZ_IDField ZY_ID ZZ_IDStructure FieldTable Field Field ABAP Course André Bögelsack, Valentin Nicolescu 5
    • Data dictionary• Menu path: Tools • ABAP Workbench • Development • Dictionary• TA SE11• View, edit, delete, create tables, data types, domains definitions etc.• Tables and views from the ABAP dictionary represent tables and views from the database• User interface are generated automatically when changing views, tables etc.• Table may be changed after they are created without losing data• SAP tables may be extended by APPEND structures ABAP Course André Bögelsack, Valentin Nicolescu 6
    • Data browser• Menu path: Tools • ABAP Workbench • Overview • Data Browser• TA SE16• View table content• Add new entries to tables when adding is permitted for the table• Browse the entry help table content• Copy table content to transport request• Download table content ABAP Course André Bögelsack, Valentin Nicolescu 7
    • Overview about all objects• Database table• View• Data type – Data element – Structure – Database table – Table types – Views – Class / interface• Type group• Domain• Search help• Lock object ABAP Course André Bögelsack, Valentin Nicolescu 8
    • Visualization• Foreign key relationships can be visualized in data dictionary• Table SFLIGHT ABAP Course André Bögelsack, Valentin Nicolescu 9
    • SAP flight example• Created and maintained by SAP to demonstrate database operations• Contains exercise data for airline, flight connection number, flight date, airfare etc.• Report for data generation: S_FLIGHT_MODEL_DATA_GENERATION• SAP trainings, examples from books build refer to the flight example ABAP Course André Bögelsack, Valentin Nicolescu 10
    • SAP flight example – table structureConnection Flight Reservation Plane SPFLI SFLIGHT SBOOK SAPLANE MANDT MANDT MANDT MANDT CARRID CARRID CARRID PLANETYPE CONNID CONNID CONNID SEATSMAXAIRPFROM FLDATE FLDATE TANKCAP AIRPTO SEATSMAX BOOKID CAP_UNITCITYFROM SEATSOCC CUSTOMID WEIGHT CITYTO PRICE LUGGWEIGH WIE_UNITCOUNTRYFR CURRENCY WUNIT OP_SPEEDCOUNTRYTO PLANETYPE CANCELLED SPEED_UNIT … … … … ABAP Course André Bögelsack, Valentin Nicolescu 11
    • SAP OpenSQL• Independent from databaseApplication Server Database Server ABAP-Interpreter DB-Interface SQL-Database Select * from OpenSQL Native SQL DB data DB data Exec SQL. Native SQL Select * from Data End Exec. DB data ABAP Course André Bögelsack, Valentin Nicolescu 12
    • OpenSQL instructions• Select: – SELECT / SELECT SINGLE – * / field 1 ..field n / – FROM table / view – INTO structure / internal table – WHERE condition• Aggregation: – MAX, MIN, AVG – SUM, COUNT• Joins: – Left outer join – Inner join – View ABAP Course André Bögelsack, Valentin Nicolescu 13
    • Procedure for database accessGeneral:• Be specific to decrease the load on the database• Access to database takes 10,000 time longer than access to buffers• Avoid table scans, use indexesProcedure:1. Read database data into internal tables • Internal tables are tables for holding data during runtime2. Change data per row • Use workareas to hold one row of the table and change data in the workarea3. Write changes back to database ABAP Course André Bögelsack, Valentin Nicolescu 14
    • Procedure for database accessInternal tables and workareas: wa_spfli Workarea • Use the workarea to modify LH 0400 (one row) one data set it_spfli Internal table • Use the internal table to store AA 0017 (selected content) the selected database content temporarily LH 0400 • Internal tables are deleted after program is finished Database Database table • Use the database to read/write (whole content) data ABAP Course André Bögelsack, Valentin Nicolescu 15
    • Types of database changesModify instruction: MODIFY <dbtable> [CLIENT SPECIFIED] FROM <workarea>. MODIFY <dbtable> [CLIENT SPECIFIED] FROM TABLE <internaltable>• Modify = Update – the command updates the database table if the database table already contains dataset• Modify = Insert – the command inserts new datasets into the database tableDelete instruction:DELETE FROM <dbtable> WHERE [SQL statement]. ABAP Course André Bögelsack, Valentin Nicolescu 16
    • Entry help• Entry help uses a table in the background• Predefined entry help for a table ABAP Course André Bögelsack, Valentin Nicolescu 17