SlideShare uma empresa Scribd logo
1 de 40
ABAP Dictionary
Module Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is a Data Dictionary? ,[object Object],[object Object],[object Object]
Why a Data Dictionary? ,[object Object],[object Object],ABAP Dictionary ABAP Dictionary ABAP  Program X ABAP Program X Unix Windows NT SAP Database (Oracle) SAP Database (MS SQL Server)
ABAP Dictionary Functionality • Records • Storage • ABAP Dict  Objects • Where-used lists • Relationships Modification analysis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],• ABAP Dictionary • Repository Info System • Documentation ANALYSIS ACTIVATION INTEGRATION ADMINISTRATION
ABAP Dictionary Transactions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Basic Data Dictionary Objects Field Data Element Domain Table uses uses
Levels of Abstraction Domain Data Element  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Field Table ,[object Object],[object Object],[object Object]
Two-Level Domain Concept Departure City Destination City Domain Data element City S_CITY S_TO_CITY S_FROM_CIT
Domain
Specifying Value Ranges for a Domain Fixed Values Example: Value Table Example: Domain:   S_CLASS  (Classes for a Flight Booking) Values:   C  (business class) F (first class) Y (economy class)   Domain:   S_CARR_ID  (Carrier ID) Value Table:   SCARR  Table:  SCARR Carrier ID  Name AA  American DL Delta LH Lufthansa SA Singapore UA United
Data Element Attributes inherited from the domain
Interdependency of ABAP Dictionary Objects Tables Domains "technical field description" From City To City S_FROM_CIT S_TO_CITY City S_CITY Data elements "semantic field description" Tab. Tab. Tab.
Table Primary key (Field) values TABLE Airline Carriers Rows (tuples) Table SCARR  Carrier ID AA DL LH UA ... Carrier Name American Airlines Delta Lufthansa United Airlines ...
Relationships Between Tables:  Foreign Keys PLANETYPE SEATSMAX 747-200  200  20000 A310-200  211  24000 757-300 301  17000 Check Table FLDATE CARRID PRICE CONNID AA  1234   03/22/1999  500  747-200  125  UA  5678   01/06/1999  600  A310-200  90 Foreign Key Table Table 1:  Airplane Details Table SAPLANE Table 2:  Flight Table SFLIGHT PLANETYPE SEATSOCC CARGOMAX Primary Key Foreign Key Primary Key
Check Table - System Default - DOMAIN S_PLANE Value table System default - Table SFLIGHT - Field PLANETYPE Check table SAPLANE SAPLANE
Cardinality ,[object Object],[object Object],1:1 1:C 1:N 1:CN Cardinality Types
SAP Data Configuration Data Master Data Transaction Data System Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SAP Table Types Transparent Cluster Pool Internal ABAP Dictionary ABAP Program
Table Definition TRANSP table  Structure table  Create transp. table Activate Note: DB table  will be created automatically! Create int. table Activate
Creating / Changing Tables
Technical Settings ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Data class Table category Buffering Log data changes
Indexes DB T1_K T1 S1 S2 ... F1 F2 ... T1 T1_K Identific. Unique Desc ABAP Dictionary Index S1 S2 ... F1 F2 ... F2 S1 S2
Data Class TS1 TSn TS2 .... TS1 TSn TS2 .... TS1 TSn TS2 .... APPL0 (Master) APPL2 (Organization &  Customizing) APPL1 (Transaction) DB TS1 ... TSn TSYS1 ... TSYSn TB1 ... TBn
Size Categories DB TS1 TS1 TS1 0 1 2 3 Number of data records in a storage area 4 = 0 to 640K = 610K to 2400K = 2400K to 9800K = 9800K to 39000K = 39000K plus TS1 Dict Table Selection T1 0 T2 1 T3 2 T4 3 T5  4
Exercises Exercise 1  - Create Basic ABAP Dictionary Objects, 60 minutes Exercise 2  - Create Table Indexes, 20 minutes
Buffering 1st access DB T2 T3 T1 ABAP Dictionary S1 S2 F1 ... T1 T3 T2 T1 Buffer: 100% and generic Buffer: partial Yes Import record No Yes No Yes Generic key complete SELECT SINGLE record exists No 1st access Yes No G1 G2 S3 F1 ... T2 S1 S2 F1 ... T3 100% generic partial G1 G2 S3 F1 ... G1 G2 S3 ... S1 S2 F1 ... G1 G2 S3 ... G1 G2 S3 F1 ... S1 S2 F1 ... TABL TABLP Change number of key fields 2
Logging DB Log T1 DD S1 S2 F1 F2 F3 ... Table  T1 Manual Field-related log records System profile Logging Change S1 S2 F2 F3 ...
INCLUDE Substructure US Table Field Data element T1 S1 ... TRANSP S2 ... .INCLUDE US F1 ... ... ... T2 F1 ... TRANSP .INCLUDE US F2 ... ... ... USF1 USF2 USF3 .....
APPEND Substructure Table   Field  Data Element ZTBL1  FLD1  ... TRANSP  FLD2  ... .APPEND  ZAZTBL1  Database Field Sequence  ABAP Dictionary Sequence FLD1  FLDX  FLD2  FLD1  FLD2  FLDX Append contains  definition of field  FLDX .APPEND CI_ZTBL1 OR Customizing Include
Views FIELD A FIELD B FIELD C FIELD A FIELD D FIELD E FIELD F TABLE 1 TABLE 2 FIELD A FIELD C FIELD D FIELD F VIEW 1
Search Help User selects row Values are returned User chooses F4 on field The search path used the last time is displayed User chooses a different search path The chosen search path is displayed Hit list is displayed A  B  C A  B  C
Search Help Fields
Exercise Exercise 3  – Create an Elementary Search Help, 30 minutes
Data Browser ABAP Workbench Tools Overview Data Browser  (SE16)
User Parameters
Using the Browser
Settings Sort Sequence for output list ... -   List table fields  - Maximum 9 sort fields  - Flag fields with 1 to 9 Fields to be  selected ... -  List table fields  - Flag the fields to be included in the the output list Affects the output list   Fields to be used for data selection ... -  List table fields - Flag the fields to be used for data selection - Maximum 40 Affects the selection screen Personal Settings - Width of output list - Maximum number of entries to be selected - Take into account conversion exit - Column headings can be either: .  Field name,  or .  Field text (from data element)  Data Browser: Table SPFLI ....  ....  ....  Settings  ....  ....  System  Help List format   Sort  User parameters   Choose Fields Fields For Selection
Exercises Exercise 4  - ABAP Dictionary Search, 30 minutes Exercise 5  - View a Table with the Data Browser, 20 minutes
Questions & Answers Any questions?

Mais conteúdo relacionado

Mais procurados

1000 solved questions
1000 solved questions1000 solved questions
1000 solved questions
Kranthi Kumar
 
Abap slides user defined data types and data
Abap slides user defined data types and dataAbap slides user defined data types and data
Abap slides user defined data types and data
Milind Patil
 
Chapter 03 foreign key relationships1
Chapter 03 foreign key relationships1Chapter 03 foreign key relationships1
Chapter 03 foreign key relationships1
Kranthi Kumar
 

Mais procurados (20)

Sap abap
Sap abapSap abap
Sap abap
 
1000 solved questions
1000 solved questions1000 solved questions
1000 solved questions
 
SAP ABAP - Needed Notes
SAP   ABAP - Needed NotesSAP   ABAP - Needed Notes
SAP ABAP - Needed Notes
 
05 internal tables
05 internal tables05 internal tables
05 internal tables
 
Abap reports
Abap reportsAbap reports
Abap reports
 
Bapi step-by-step
Bapi step-by-stepBapi step-by-step
Bapi step-by-step
 
Alv theory
Alv theoryAlv theory
Alv theory
 
Abap slides user defined data types and data
Abap slides user defined data types and dataAbap slides user defined data types and data
Abap slides user defined data types and data
 
Sap abap real time questions
Sap abap real time questionsSap abap real time questions
Sap abap real time questions
 
Module pool programming
Module pool programmingModule pool programming
Module pool programming
 
Sap abap tutorials
Sap abap tutorialsSap abap tutorials
Sap abap tutorials
 
Sap Abap Reports
Sap Abap ReportsSap Abap Reports
Sap Abap Reports
 
ABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.infoABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.info
 
CDS Views.pptx
CDS Views.pptxCDS Views.pptx
CDS Views.pptx
 
Index in SAP ABAP
Index in SAP ABAPIndex in SAP ABAP
Index in SAP ABAP
 
Introduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataIntroduction to SAP Gateway and OData
Introduction to SAP Gateway and OData
 
Technical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part ITechnical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part I
 
ABAP Open SQL & Internal Table
ABAP Open SQL & Internal TableABAP Open SQL & Internal Table
ABAP Open SQL & Internal Table
 
Table maintenance generator and its modifications
Table maintenance generator and its modificationsTable maintenance generator and its modifications
Table maintenance generator and its modifications
 
Chapter 03 foreign key relationships1
Chapter 03 foreign key relationships1Chapter 03 foreign key relationships1
Chapter 03 foreign key relationships1
 

Destaque

Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1
Kranthi Kumar
 
Chapter 02 abap dictionary objects1
Chapter 02 abap dictionary objects1Chapter 02 abap dictionary objects1
Chapter 02 abap dictionary objects1
Kranthi Kumar
 
Chapter 04 abap dictionary tables in relational databases1
Chapter 04 abap dictionary tables in relational databases1Chapter 04 abap dictionary tables in relational databases1
Chapter 04 abap dictionary tables in relational databases1
Kranthi Kumar
 
Chapter 05 adding structures1
Chapter 05 adding structures1Chapter 05 adding structures1
Chapter 05 adding structures1
Kranthi Kumar
 
Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1
Kranthi Kumar
 
Lecture02 abap on line
Lecture02 abap on lineLecture02 abap on line
Lecture02 abap on line
Milind Patil
 
Chapter 06 abap repository information system1
Chapter 06 abap  repository information system1Chapter 06 abap  repository information system1
Chapter 06 abap repository information system1
Kranthi Kumar
 
Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1
Kranthi Kumar
 
Chapter 10 online help & documentation1
Chapter 10 online help & documentation1Chapter 10 online help & documentation1
Chapter 10 online help & documentation1
Kranthi Kumar
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
vkyecc1
 
Ts 2 plan 1 090316 blog
Ts 2 plan 1 090316 blogTs 2 plan 1 090316 blog
Ts 2 plan 1 090316 blog
ev_e2016
 
Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applications
Kranthi Kumar
 

Destaque (20)

data modelling1
 data modelling1 data modelling1
data modelling1
 
Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1
 
DMTool-ASERL-Webinar
DMTool-ASERL-WebinarDMTool-ASERL-Webinar
DMTool-ASERL-Webinar
 
Best practices data management
Best practices data managementBest practices data management
Best practices data management
 
cardinality1
cardinality1cardinality1
cardinality1
 
Chapter 02 abap dictionary objects1
Chapter 02 abap dictionary objects1Chapter 02 abap dictionary objects1
Chapter 02 abap dictionary objects1
 
Chapter 04 abap dictionary tables in relational databases1
Chapter 04 abap dictionary tables in relational databases1Chapter 04 abap dictionary tables in relational databases1
Chapter 04 abap dictionary tables in relational databases1
 
Chapter 05 adding structures1
Chapter 05 adding structures1Chapter 05 adding structures1
Chapter 05 adding structures1
 
Ale Idoc
Ale IdocAle Idoc
Ale Idoc
 
Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1
 
Lecture02 abap on line
Lecture02 abap on lineLecture02 abap on line
Lecture02 abap on line
 
Chapter 06 abap repository information system1
Chapter 06 abap  repository information system1Chapter 06 abap  repository information system1
Chapter 06 abap repository information system1
 
Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1
 
Chapter 10 online help & documentation1
Chapter 10 online help & documentation1Chapter 10 online help & documentation1
Chapter 10 online help & documentation1
 
Documentation and Metdata - VA DM Bootcamp
Documentation and Metdata - VA DM BootcampDocumentation and Metdata - VA DM Bootcamp
Documentation and Metdata - VA DM Bootcamp
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
 
Ts 2 plan 1 090316 blog
Ts 2 plan 1 090316 blogTs 2 plan 1 090316 blog
Ts 2 plan 1 090316 blog
 
Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applications
 
Bapi jco[1]
Bapi jco[1]Bapi jco[1]
Bapi jco[1]
 
VIEWS
VIEWSVIEWS
VIEWS
 

Semelhante a 0104 abap dictionary

169318090 0104abapdictionary-100831073625-phpapp02
169318090 0104abapdictionary-100831073625-phpapp02169318090 0104abapdictionary-100831073625-phpapp02
169318090 0104abapdictionary-100831073625-phpapp02
Phani Patibandla
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02
wingsrai
 
Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01
tabish
 
chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01
tabish
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02
tabish
 
MDI Training DB2 Course
MDI Training DB2 CourseMDI Training DB2 Course
MDI Training DB2 Course
Marcus Davage
 
Abap programming overview
Abap programming overview Abap programming overview
Abap programming overview
k kartheek
 
ABAP Material 05
ABAP Material 05ABAP Material 05
ABAP Material 05
warcraft_c
 
Sap abap interview questions
Sap abap interview questionsSap abap interview questions
Sap abap interview questions
kssr99
 

Semelhante a 0104 abap dictionary (20)

169318090 0104abapdictionary-100831073625-phpapp02
169318090 0104abapdictionary-100831073625-phpapp02169318090 0104abapdictionary-100831073625-phpapp02
169318090 0104abapdictionary-100831073625-phpapp02
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02
 
Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01
 
chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01
 
Chapter 1 Abap Programming Overview
Chapter 1 Abap Programming OverviewChapter 1 Abap Programming Overview
Chapter 1 Abap Programming Overview
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02
 
Module 02 teradata basics
Module 02 teradata basicsModule 02 teradata basics
Module 02 teradata basics
 
MDI Training DB2 Course
MDI Training DB2 CourseMDI Training DB2 Course
MDI Training DB2 Course
 
Sap transaction-codes-list
Sap transaction-codes-listSap transaction-codes-list
Sap transaction-codes-list
 
Abap Questions
Abap QuestionsAbap Questions
Abap Questions
 
Abap
AbapAbap
Abap
 
Abap programming overview
Abap programming overview Abap programming overview
Abap programming overview
 
Abap 7.40
Abap 7.40Abap 7.40
Abap 7.40
 
ABAP Material 05
ABAP Material 05ABAP Material 05
ABAP Material 05
 
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
 
MariaDB Server 10.3 - Temporale Daten und neues zur DB-Kompatibilität
MariaDB Server 10.3 - Temporale Daten und neues zur DB-KompatibilitätMariaDB Server 10.3 - Temporale Daten und neues zur DB-Kompatibilität
MariaDB Server 10.3 - Temporale Daten und neues zur DB-Kompatibilität
 
15 wordprocessing ml subject - fields and hyperlinks
15   wordprocessing ml subject - fields and hyperlinks15   wordprocessing ml subject - fields and hyperlinks
15 wordprocessing ml subject - fields and hyperlinks
 
Less08 Schema
Less08 SchemaLess08 Schema
Less08 Schema
 
Sap abap interview questions
Sap abap interview questionsSap abap interview questions
Sap abap interview questions
 
NOTES ON "FOXPRO"
NOTES ON "FOXPRO" NOTES ON "FOXPRO"
NOTES ON "FOXPRO"
 

Último

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Último (20)

PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 

0104 abap dictionary

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Basic Data Dictionary Objects Field Data Element Domain Table uses uses
  • 8.
  • 9. Two-Level Domain Concept Departure City Destination City Domain Data element City S_CITY S_TO_CITY S_FROM_CIT
  • 11. Specifying Value Ranges for a Domain Fixed Values Example: Value Table Example: Domain: S_CLASS (Classes for a Flight Booking) Values: C (business class) F (first class) Y (economy class) Domain: S_CARR_ID (Carrier ID) Value Table: SCARR Table: SCARR Carrier ID Name AA American DL Delta LH Lufthansa SA Singapore UA United
  • 12. Data Element Attributes inherited from the domain
  • 13. Interdependency of ABAP Dictionary Objects Tables Domains "technical field description" From City To City S_FROM_CIT S_TO_CITY City S_CITY Data elements "semantic field description" Tab. Tab. Tab.
  • 14. Table Primary key (Field) values TABLE Airline Carriers Rows (tuples) Table SCARR Carrier ID AA DL LH UA ... Carrier Name American Airlines Delta Lufthansa United Airlines ...
  • 15. Relationships Between Tables: Foreign Keys PLANETYPE SEATSMAX 747-200 200 20000 A310-200 211 24000 757-300 301 17000 Check Table FLDATE CARRID PRICE CONNID AA 1234 03/22/1999 500 747-200 125 UA 5678 01/06/1999 600 A310-200 90 Foreign Key Table Table 1: Airplane Details Table SAPLANE Table 2: Flight Table SFLIGHT PLANETYPE SEATSOCC CARGOMAX Primary Key Foreign Key Primary Key
  • 16. Check Table - System Default - DOMAIN S_PLANE Value table System default - Table SFLIGHT - Field PLANETYPE Check table SAPLANE SAPLANE
  • 17.
  • 18.
  • 19. SAP Table Types Transparent Cluster Pool Internal ABAP Dictionary ABAP Program
  • 20. Table Definition TRANSP table Structure table Create transp. table Activate Note: DB table will be created automatically! Create int. table Activate
  • 22.
  • 23. Indexes DB T1_K T1 S1 S2 ... F1 F2 ... T1 T1_K Identific. Unique Desc ABAP Dictionary Index S1 S2 ... F1 F2 ... F2 S1 S2
  • 24. Data Class TS1 TSn TS2 .... TS1 TSn TS2 .... TS1 TSn TS2 .... APPL0 (Master) APPL2 (Organization & Customizing) APPL1 (Transaction) DB TS1 ... TSn TSYS1 ... TSYSn TB1 ... TBn
  • 25. Size Categories DB TS1 TS1 TS1 0 1 2 3 Number of data records in a storage area 4 = 0 to 640K = 610K to 2400K = 2400K to 9800K = 9800K to 39000K = 39000K plus TS1 Dict Table Selection T1 0 T2 1 T3 2 T4 3 T5 4
  • 26. Exercises Exercise 1 - Create Basic ABAP Dictionary Objects, 60 minutes Exercise 2 - Create Table Indexes, 20 minutes
  • 27. Buffering 1st access DB T2 T3 T1 ABAP Dictionary S1 S2 F1 ... T1 T3 T2 T1 Buffer: 100% and generic Buffer: partial Yes Import record No Yes No Yes Generic key complete SELECT SINGLE record exists No 1st access Yes No G1 G2 S3 F1 ... T2 S1 S2 F1 ... T3 100% generic partial G1 G2 S3 F1 ... G1 G2 S3 ... S1 S2 F1 ... G1 G2 S3 ... G1 G2 S3 F1 ... S1 S2 F1 ... TABL TABLP Change number of key fields 2
  • 28. Logging DB Log T1 DD S1 S2 F1 F2 F3 ... Table T1 Manual Field-related log records System profile Logging Change S1 S2 F2 F3 ...
  • 29. INCLUDE Substructure US Table Field Data element T1 S1 ... TRANSP S2 ... .INCLUDE US F1 ... ... ... T2 F1 ... TRANSP .INCLUDE US F2 ... ... ... USF1 USF2 USF3 .....
  • 30. APPEND Substructure Table Field Data Element ZTBL1 FLD1 ... TRANSP FLD2 ... .APPEND ZAZTBL1 Database Field Sequence ABAP Dictionary Sequence FLD1 FLDX FLD2 FLD1 FLD2 FLDX Append contains definition of field FLDX .APPEND CI_ZTBL1 OR Customizing Include
  • 31. Views FIELD A FIELD B FIELD C FIELD A FIELD D FIELD E FIELD F TABLE 1 TABLE 2 FIELD A FIELD C FIELD D FIELD F VIEW 1
  • 32. Search Help User selects row Values are returned User chooses F4 on field The search path used the last time is displayed User chooses a different search path The chosen search path is displayed Hit list is displayed A B C A B C
  • 34. Exercise Exercise 3 – Create an Elementary Search Help, 30 minutes
  • 35. Data Browser ABAP Workbench Tools Overview Data Browser (SE16)
  • 38. Settings Sort Sequence for output list ... - List table fields - Maximum 9 sort fields - Flag fields with 1 to 9 Fields to be selected ... - List table fields - Flag the fields to be included in the the output list Affects the output list Fields to be used for data selection ... - List table fields - Flag the fields to be used for data selection - Maximum 40 Affects the selection screen Personal Settings - Width of output list - Maximum number of entries to be selected - Take into account conversion exit - Column headings can be either: . Field name, or . Field text (from data element) Data Browser: Table SPFLI .... .... .... Settings .... .... System Help List format Sort User parameters Choose Fields Fields For Selection
  • 39. Exercises Exercise 4 - ABAP Dictionary Search, 30 minutes Exercise 5 - View a Table with the Data Browser, 20 minutes
  • 40. Questions & Answers Any questions?

Notas do Editor

  1. ATS App. Prog. – ABAP Programming Module Presentations
  2. A data dictionary is the centralized and structured source of information for business applications. The elements that make up a data dictionary are known as metadata. Metadata is data that describes other data. For example, a customer order number would be considered operational data and the length of the customer order number field would be considered metadata. The data dictionary allows the user to create, modify or delete data definitions.
  3. Advantages of a data dictionary: Facilitates the development of platform-independent programs. Avoids inconsistencies when defining data types that will later be used in different parts of the application. This helps avoid redundancy and considerably decrease the cost of maintenance. When a type of data is defined in the dictionary, it is available to any program or function module in the application. A change in the definition of a type of data automatically affects all other data or programs that use that data type. The data dictionary is a great source of information for the developer/user. It is a fast and efficient way to answer questions such as which entries exist in a particular table, what the structure of a particular table is, etc.
  4. The ABAP Dictionary is the core of the R/3 development system. It contains an extensive amount of information on the SAP system data, and it has a series of tools for the entry and evaluation of this information. The ABAP Dictionary allows data management without redundancy, that is, information need only be entered once to be available throughout the entire system. All changes take immediate effect in all relevant modules. The ABAP Dictionary is actively integrated into all operative components of the R/3 system.
  5. The basic objects for modeling in the ABAP Dictionary are: Tables Fields Data elements Domains The structure of a table is comprised of logically related entities, referred to as fields. A field is not an independent object and can only be maintained within the contents of its’ particular table. Each field is related to a data element, which in turn is related to a domain.
  6. When adding a field to a table, a data element must be specified for that field. When defining a data element, a domain must be specified for that data element. Domains, data elements and fields all have attributes. A data element inherits attributes from the specified domain, and a field inherits attributes from the specified data element. Defining these attributes at multiple levels of abstraction make it easier to make system changes. For example, if the output length of a domain is changed, then the output length will also automatically be changed in all data elements that reference that domain. In turn, the field lengths for all table fields that reference those data elements will also be changed. These attributes will be discussed in more detail throughout this module.
  7. The ABAP Dictionary employs a two-level domain concept involving technical domains (referred to as “domains” in SAP) and semantic domains (referred to as “data elements” in SAP). A domain describes a value set for a field. The value set is specified through the creation of formal attributes, such as length, format, etc. Domains roughly correspond to type declarations in the various programming languages (typedef in C/C++). A data element provides a precise description of the function of a domain within a specific context for the benefit of the fields dependent on it.
  8. The domain describes the set of values for a field, which is determined by specifying external format, length, etc. of values or by specifying a value table. For example, the field CITYFROM in the flight table SPFLI has the external format CHAR 20 - it is 20 characters in length and can only assume values that lie in this range. The range is determined by the domain S_CITY to which the field CITYFROM refers. A number of fields that are similar with regard to technical characteristics are grouped together by means of a domain. Fields that are linked by means of reference to the same name can no longer be changed independently of one another. The decimal places attribute only displays when the data type entered is DEC, FLTP, QUAN or CURR.
  9. The value range of a domain is initially defined by specifying a data type and a length for that domain. For example, if a domain is defined as a character field of length 1, the value range of that domain would be restricted to the values zero through Z. Sometimes it is necessary to further restrict the value range of a domain. This can be done in two ways by either: specifying a set of “fixed values” for the domain specifying a “value table” for the domain Fixed values are typically specified for a domain when the list of possible values for a domain is short and the values are going to be static (i.e., not changing). If fixed values are defined for a domain, they will be used as an input check on screen fields. (If no other help is defined for a field, such as a search help or a foreign key, the fixed values are also provided in F4 help). A value table is typically specified for a domain when the list of possible values for a domain are contained within another table in the system. This is very common, especially when the list of possible values is longer and more dynamic in nature. Defining a value table for a domain does not automatically initiate a check against that value table whenever data is entered in a field that references this domain. NOTE: A check is not automatically enabled simply by specifying a value table. In order to enable this check, a foreign key must be defined that specifies this value table as the check table for that foreign key. Foreign keys and check tables for foreign keys will be discussed later in this module. A table can only be the value table for a single domain. Therefore, all fields that need to use this table to define a value range must all reference the same domain.
  10. A data element describes the function of a domain in a particular context. A domain can have different characteristics that, although they have the same formal attributes (format, set of values), differ with regard to their technical meaning. For example, the domain “city” (S_CITY) could have various functions depending on it’s use, for example, from city, to city, employee’s home city, etc. The data element is a carrier of the field information that is valid for every field referring to this data element, independently of the table in which the field is used. A data element is to be created for each domain function. The function of a data element is of importance at the external or semantic level of a dialog: for example, a data element can be a key word in a screen a column header in a table screen or online documentation help. At the level of the data element, three lengths of the key word and a header are maintained. In Screen Painter, select the length that is required. Maintenance is mandatory. Standard value Max. Length Recommendation: Short field label: 10 10 Medium field label: 15 20 Long field label: 20 40 Header: Field length Table field documentation is stored at the data element level and is accessed via GOTO->DOCUMENTATION menu option on the data element definition screen.
  11. A field refers to a data element; a data element refers to a domain. Several data elements can refer to the same domain. Individual data elements can be used in many different fields.
  12. A table is a two-dimensional matrix that describes a relationship in the database system. A table structure is defined by a number of logically related entities, referred to as fields. Each row in a table contains precisely one data value for each of the fields defined in the table structure. Rows within a table are uniquely identified by a primary key. The primary key is made up of one or more table fields that uniquely identify each table row. A key, and thus a row, may occur only once within a table.
  13. Foreign keys define the relationships between tables. A foreign key is a key field of one table that appears as a non-key field in another table. This foreign key serves as a logical link between the two tables. One of the most important functions of foreign keys is to ensure data integrity in the relational data model. Data integrity is ensured by checking entries on a screen against the entries in the check table. The table containing the allowed values is called the check table. The table in which only these values may be used is called the foreign key table.
  14. When defining a table field as a foreign key, the system will default the check table to the value table specified in the domain for that field. (NOTE: It is possible to override this default and specify another table as the check table).
  15. Cardinality is expressed in the form N:M, where possible values are: 1:1 relationship - One element of table A corresponds to one and only one element of table B. 1:C relationship - One element of table A corresponds to at most one element of table B (i.e., 0 or 1 elements of table B). 1:N relationship - One element of table A corresponds to at least one element of table B (i.e., 1 or more elements of table B). 1:CN relationship - One element of table A corresponds to 0, 1 or more elements of table B.
  16. SAP data can be logically divided into four categories. Master Data: Business data that does not change often, such as vendor master record, general ledger account definition Transaction Data: Business data that is volatile, such as customer orders or accounting transactions System Data: Control data for the SAP system Configuration: Data that does not change often and that customizes the behavior of SAP R/3 applications
  17. SAP supports four table types: Transparent tables are structures that correspond 1:1 to the underlying database table. Cluster tables are made of several SAP tables related using foreign keys. Pooled tables are made of a set of tables stored in a single SAP table. Internal tables are defined within an ABAP program. They can be based upon a structure defined within the data dictionary or a structure coded within the program itself. Internal tables are program specific and cannot be accessed using the ABAP dictionary. From an application point of view, transparent, pool and cluster tables behave the same and are used for the same purpose. Pooled and clustered tables exist both for performance and to group logically related tables. These table types are slowly being phased out with each release of SAP. The only limitation of pooled and clustered tables is that they cannot be queried directly (i.e., outside of SAP) in the underlying database, since their structures are only logically known at the SAP level.
  18. To describe a table in full, that is both from the application view and from the database view, a number of different steps are necessary, which vary according to the table type. Tables of type TRANSP are mapped 1:1 to the database. They are defined and activated only once in the ABAP Dictionary (as SAP tables) and are then automatically created as database tables.
  19. Table are created and changed via transaction SE11. Tables are defined in two stages: Each table is assigned certain attributes, for example, a short explanatory description, a table type, and a delivery class. The table structure contains the fields and the field description. The fields forming the primary key are indicated as such. Field maintenance can be carried out at table or at field level. Each field must refer to a data element. If the data element referred to does not yet exist, it can be created at this point from within the table maintenance function. A data element must, in turn, refer to a domain. If the specified domain does not yet exist, it must be created from within data element maintenance. A primary key must be identified for each table. The primary key is used as a unique identifier for each row of data in the table.
  20. The technical attributes of a table are normally defined when the table is created and cannot be changed afterwards. Data class: Assigns the table to a physical area in the database Possible values: APPL0 (master data), APPL1 (transaction data), APPL2 (organization and customizing data), USER (customer data), USER1 (customer data) Size category: Determines the space required for a table in the database Possible values: 0, 1, 2, 3, 4 (equates to an expected number of table records) Buffering type: Determines whether and how a table is to be buffered Logging: Automatic logging of database changes by users for table (where row size < 455)
  21. To improve performance, database indexes can be created in the Data Dictionary via transparent tables (type: TRANSP). Database indexes are defined in two stages: description of the database index in the Data Dictionary creation of the database index in the database Menu Path: TOOLS --> ABAP WORKBENCH --> ABAP DICTIONARY --> enter change mode for a specific table --> GOTO --> INDEXES To specify the table type, if other than Transparent is desired, use the EXTRAS ---> CHANGE TABLE TYPE menu option.
  22. Tables defined in the Data Dictionary can be assigned logically to a specific table class - master, transaction, organization and customizing (system) data. This assignment has the effect of storing the table in a defined area of the database when the table is created.
  23. The storage area provided for a ABAP Dictionary table in the database is defined in accordance with the selected size category.
  24. ATS App. Prog. – ABAP Programming Module Presentations
  25. Buffering a table enhances the performance when accessing the data records contained in it. The table buffers reside locally on each application server in the system. Access to the data of buffered tables can thus take place directly from the buffer of the application server. The time-consuming process of accessing the database is thus avoided. Buffering is recommended only for tables that are almost never changed (updating). Buffering type determines how a table is buffered (i.e., partially, generically, or completely). The data type of the key fields must be CHAR. UPDATE always accesses the database. Displacement: TABL, no entry in system log TABLP, table last recently used is entered in system log The R/3 System manages and synchronizes the buffers on the individual application servers. If an application program accesses data of a table, the database interfaces determines whether this data lies in the buffer of the application server. If this is the case, the data is read directly from the buffer. If the data is not in the buffer of the application server, it is read from the database and loaded into the buffer. The buffer can therefore satisfy the next access to this data.
  26. If logging is switched on by the Basis Administrator, each change to an existing data record (UPDATE, DELETE) by the user or application program is recorded in a log table (DBTABRT). Before logging can take place, an appropriate entry must have been made in the system profile, which is checked by the database. Logging is carried out independently of updating. Logging slows down accesses that change the table. First, a record must be written in the log table for each change. Secondly, a number of users access this table in parallel. This can cause lock situations although the users are working with different application tables.
  27. Tables can be included in other tables as substructures to avoid redundant structure definitions. A table can be included only as a complete table and must be of table type structure or TRANSP. A table of type TRANSP may be contained only once in an INCLUDE chain. Substructures can in turn contain substructures. Customizing INCLUDEs: Supplied by SAP Maintained by a special transaction developed for the specific customizing INCLUDE
  28. Append structure: Facilitates the addition of fields to an SAP table without having to open a Correction Currently cannot be deleted, possible in a future release One per table Customizing Include: An SAP-provided append structure Maintained with a special transaction (outside of the ABAP Dictionary) Sequence of fields on the database may differ from the sequence in the ABAP Dictionary. Append will always be shown last in the ABAP Dictionary. When a table within an APPEND structure is displayed, fields referenced in the APPEND structure are not delineated in any fashion when table is displayed. It is not possible to append structures to tables with fields of type VARC, LCHR, or LRAW because such fields must always be defined at the end of the table. Before attempting to append a structure to a table, check to see if a customizing INCLUDE is already in use. If so, maintain the customizing INCLUDE with the appropriate transaction.
  29. A view is like a table with no contents, i.e., it is a virtual table. A view does not physically contain any data. The information is generated when the view is used at run-time. A view is a definition based on the relationship between one or more tables. In the above example, Table 1 and Table 2 are joined together based on field A. The resultant view will contain, for all A in Table 1 and Table 2, the values for fields C, D and E. Benefits of views: Allows for restricting or limiting the access to information by areas, plants, etc. Reduces the need to create new tables with specific data for each application Can be used to improve performance. Using a view is more efficient than programming nested selects or joins.
  30. Search helps offer the advantage of being able to return multiple field values to the underlying screen. The search key is invoked automatically from a search help when the user presses the F4 key to display allowable values for the field. For example, a screen displays the fields for an airline type, flight number, flight date, and number of seats available to be entered in the selection screen. The user presses F4 to display the airline type. The user then selects a row displayed in the search help that causes all of the other fields in the screen to be populated. The following steps are usually carried out when a user calls an input field (F4): The user starts the input help to display the possible input values for a field in a screen mask. The system offers the user a number of possible search paths. The user selects one of these search paths. Each search path offers a number of restrictions to limit the number of possible input values. These values are offered in a dialog box when the search path is selected. The user enters restrictions, if required, and then starts the search. The system determines the values that satisfy the entered restrictions (hits) and displays them as a list. The user selects the most suitable line from the hit list. The input value is copied to the screen mask (possible with other values).
  31. Each field of the selection method (or transparent table) is declared as a component of the search help. The relationship is established as the data element level of the selection method. The components can be import parameters that are used to refine the values returned by the screen help and/or export parameters that return values to the calling screen. The field assignment is repeated for each field that is to be part of the search help. The value supplied in the LPOS field indicates the left-to-right order when the search help is displayed. The value for SPOS indicates the top-to-bottom order when a selection screen is presented for the search help. When the search help is activated, it must be attached to the fields of a transparent table declared as the Selection Method. The assignment is done one at a time. When all of the assignments have been made, the transparent table must be activated. From then on, the search help is invoked automatically when the user presses the F4 key to display allowable values. Selecting a row displayed in the search help will cause all of the fields declared to the search help to be returned to the underlying screen.
  32. ATS App. Prog. – ABAP Programming Module Presentations
  33. The Data Browser is a tool that provides the ability to display, create, and change table contents. The path to get there is Tools -> ABAP Workbench -> Overview -> Data Browser. The Data Browser is fully integrated into the ABAP Development Workbench. It can also be accessed within workbench tools from the Utilities menu or via the menu path Tools -> Workbench, Overview -> Data Browser, or transaction code SE16. If the name of the table is unknown, place the cursor on the table name input field and click on the Possible Entries pushbutton on the Standard toolbar or press F4. This presents the user with a selection screen that allows the user to specify certain search criteria such as Table Short Description, Development Class, etc. Wildcards can be used. The Data Browser will also allow the user to display (but not change) data from clients other than the one they are logged on to. This tool is very useful when testing a report program because tables can be examined to determine what data actually exists in the system.
  34. From the Data Browser initial screen, or via the menu path Settings -> User Parameters from the initial or subsequent screens, it is possible to specify: Width of the resulting list Maximum number of hits - the number of entries to be retrieved from the specific table Check conversion exits - use or not use conversion exits/routines (where they are defined for a field) for outputting the data Field name - checked to show the ABAP Dictionary field names (=Fld name) in the column headings Field ID - checked to show the ABAP Dictionary short text from the Data Element (=Fld name) The values set on this screen are specified to the logged on user and are retained even after the user logs off.
  35. On the Data Browser’s initial screen, click on the Create pushbutton or press Enter (defaults to Display mode). This brings up the selection screen for the table. The system actually generates a report program to interrogate the table specified. This is that program’s selection screen. The selection screen allows values to be entered in order to restrict the entries retrieved from the table. Once data has been entered in the selection criteria, click on the Execute pushbutton and the resulting list is displayed.
  36. The settings remain until they are changed again (even after logging off). The settings can be changed while displaying table entries without having to repeat data selection. The report is merely reformatted (data is held in internal tables to achieve this). The sort sequence and the fields that are to be displayed after the data has been initially selected and displayed can be changed.
  37. ATS App. Prog. – ABAP Programming Module Presentations