ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren...
-
Upload
phungkhanh -
Category
Documents
-
view
258 -
download
0
Transcript of ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren...
![Page 1: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/1.jpg)
ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen Webinar, 29.1.2016
![Page 2: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/2.jpg)
Johann Fößleitner Senior Consultant
Ich bin ABAP
SAP Entwickler seit 25 Jahren
Danke, dass ihr dabei seid! Wir starten in ein paar Minuten
Domik Bigl Senior Consultant
Geht nicht gibt’s nicht
Unterwegs in SAP seit 2001
![Page 3: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/3.jpg)
ABAP New Open SQL Neue Syntax, SQL Expressions
ABAP Core Data Services CDS Views
ABAP Messaging Channels
ABAP Push Channels
Ausdrücke und Funktionen
Sonstiges
Agenda
![Page 4: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/4.jpg)
SQL 92 Standard
Advanced Open SQL
SQL Einschränkungen in ABAP vor 7.40 ◦ Jahrelanger Stillstand
◦ Kein UNION bzw. UNION ALL
◦ Einschränkungen betr. JOIN Typen
◦ Keine Expressions
◦ …
Open SQL vor 7.40
Open SQL
![Page 5: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/5.jpg)
Code Pushdown to the Database ◦ ABAP Open SQL Expressions
◦ ABAP Core Data Services (CDS Views)
◦ ABAP Managed Database Procedures (AMDP)
Code Pushdown
![Page 6: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/6.jpg)
Neue Open SQL Syntax ◦ Escaping von Hostvariablen mit @
◦ Separierung von Elemente mit Kommas
SQL Syntax
DATA: L_HUGO TYPE C LENGTH 10.
SELECT mc_name1,
@l_hugo AS hugo,
@sy-uname AS userid,
'X' AS true
FROM TABLE BUT000
INTO @ls_result.
ABAP Code
![Page 7: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/7.jpg)
Open SQL Expressions
![Page 8: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/8.jpg)
SQL Expressions
* Case Expression
select mc_name1,
case when type = '1' then 'Person‘
when type = '2' then 'Unternehmen‘
else ‘Unbekannt‘
end as type_desc
from but000
…
SQL Expressions – Beispiel CASE
ABAP Code
![Page 9: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/9.jpg)
SQL Expressions ◦ Fallunterscheidung mit CASE
◦ Arithmetic Expressions
+, -, *, /, ABS, CEIL, FLOOR, DIV, MOD, …
◦ Verketten von Spalten mit &&
◦ Typanpassung mit CAST für FLTP Dictionary Typen
◦ COALESCE-Funktion
◦ Festwerte
SQL Expressions
![Page 10: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/10.jpg)
SQL Expressions können kombiniert werden ◦ Priorisierung mit Klammern
SQL Expressions
* Case Expression
select type,
case when type = '1' then ( 'Person' && '/' && type )
when type = '2' then ( 'Unternehmen' && '/' && type )
end as type_desc,
mc_name1
from but000
… ABAP Code
![Page 11: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/11.jpg)
CDS Views
![Page 12: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/12.jpg)
CDS Core Data Services ◦ Next Generation Data/View Definition
◦ CDS beinhaltet Data Definition Language (DDL)
(ab 7.50 Data Control Language (DCL) )
◦ 100% in ABAP integriert ABAP Dictionary
Transportmanagement
Modifikationsfrei erweiterbar
◦ Pflege über ABAP in Eclipse
◦ Zugriff via Open SQL
CDS Views
![Page 13: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/13.jpg)
CDS Views
SE11 – traditioneller Datenbankview Einschränkungen ◦ Keine Outer Joins
◦ Keine komplexen Joins
◦ Keine Kommentare
◦ Kein UNION
◦ Kein View -> View
◦ …
![Page 14: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/14.jpg)
CDS Views
◦ Definition in DDL
Syntax ist sehr ähnlich zu Open SQL
◦ CDS View Entity: ZCDSVIEW_ENT
◦ CDS View DB: ZCDSVIEW_DB
@AbapCatalog.sqlViewName: 'ZCDSVIEW_DB'
/* Demo */
define view ZCDSVIEW_ENT
as select from but000
{
partner,
mc_name1,
mc_name2,
}
CDS View
![Page 15: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/15.jpg)
CDS Views ◦ Code Pushdown durch erweiterte View Funktionalitäten
Mehr Möglichkeiten als bei Open SQL Expressions
◦ Volle Integration in die ABAP Welt (z.B. Transportmanagment)
◦ Pflege (derzeit?) ausschließlich über ABAP in Eclipse
◦ Open SQL Zugriff auf die Views natürlich möglich
◦ CDS Views sind erweiterbar
◦ View on View möglich
CDS Views
![Page 16: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/16.jpg)
CDS Build-in Expressions
CDS Views - Associations & Annotations
Konvertierungs-
funktionen
CURRENCY_CONV UNIT_CONV DECIMAL_SHIFT
Zeichenketten-funktionen
CONCAT LPAD REPLACE SUBSTRING
Numerische Funktionen
ABS CEIL DIV DIVISION FLOOR MOD ROUND
Zeit/Datum
Funktionen
DATS_IS_VALID TIMS_IS_VALID DATS_ADD_DAYS …
Coalesce-Funktion
COALESCE
Neu ab 7.50
Viele neue Funktionen ab 7.50
![Page 17: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/17.jpg)
CDS Views - Annotations ◦ Ermöglicht das Anreichern von
Metadaten direkt im View
◦ Beispiele
SAP Pufferung aktiv
Mandantenhandling
Label bzw. Quickinfo
…
CDS Views - Annotations
CDS
BI Tools
OData
Analytics Planning
…
![Page 18: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/18.jpg)
CDS Views - Annotations
@AbapCatalog.sqlViewName: 'zcdsview_foe2_db'
@AbapCatalog.compiler.CompareFilter: true
@AccessControl.authorizationCheck: #CHECK
define view Zcdsview_Foe2
with parameters exc_date: abap.dats,
to_curr: abap.cuky(5)
as select from zdatentypen {
zdatentypen.curr as original,
@EndUserText.label: Currency‘
zdatentypen.cuky as currency,
…
Core Annotations
Element Annotations
![Page 19: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/19.jpg)
CDS Views Ausblick ◦ CDS Zugriffskontrolle ab 7.40 SP10
Der Zugriff auf CDS Views kann mit der neuen Datenkontrollsprache (DCL)
geschützt werden
Verknüpfung mit PFCG Rollen möglich
◦ Neue SQL Funktionen ab 7.50 CONCAT, LEFT, LENGTH, LTRIM, …
Eingebaute Datumsfunktionen (DATS_DAYS_BETWEEN, DATS_IS_VALID … )
◦ Vertreterobjekte ab 7.50
Mit einigen Einschränkungen (und großer Vorsicht) können CDS Views als
Vertreterobjekte für Datenbanktabellen definiert werden
◦ …
CDS Views
![Page 20: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/20.jpg)
Open SQL Ausblick ab 7.50 ◦ UNION/UNION ALL
◦ SQL Expression können auch in WHERE, HAVING, …
◦ Neue SQL Expressions
CONCAT, LPAD, LENGTH, …
◦ Subqueries als Source für INSERTS
◦ GTT Global Temporary Tables
◦ …
CDS Views
![Page 21: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/21.jpg)
CDS Views vs. Open SQL Expressions
• Re-Use Scenarien • Views können verschachtelt
werden!!
• CDS Features • ASSOCIATION, UNION, UNION
ALL, Mengen bzw. Währungs Umrechnungen
CDS Views Open SQL
• Einmalverwendungen
• FOR ALL ENTRIES
![Page 22: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/22.jpg)
ABAP Channels
![Page 23: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/23.jpg)
Bildschrimdaten aktualisieren bisher ◦ Useraktion (PAI oder Control-Events)
◦ „Polling“ CL_GUI_TIMER
◦ ( JavaScript )
ABAP Channels
![Page 24: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/24.jpg)
Datenaustausch Sessions/Benutzer bisher ◦ SAP-Memory (SET/GET Parameter)
◦ ABAP-Memory ( EXPORT/IMPORT)
◦ Shared Objects
◦ Datenbank
ABAP Channels
![Page 25: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/25.jpg)
ABAP Push Channels - APC ◦ Kommunikation zwischen Client und Server
◦ Bi-direktional: Server und Client
◦ WebSocket Protocol
ABAP Message Channels - AMC ◦ Kommunikation zwischen Benutzersessions
◦ Publish–Subscribe Model
◦ AppServer übergreifend
ABAP Channels
![Page 26: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/26.jpg)
SAP System
App Server 2
User 2 Session 1
App Server 1
User 1 Session 1
User 2 Session 2
ABAP Messaging Channel
Framework
ABAP Channels - Überblick
APC Send/Receive AMC Receive AMC Send
AMC Subscribe
![Page 27: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/27.jpg)
LIVE DEMO - Szenario
◦ Benutzer erstellt Fehlerticket
◦ Supportmitarbeiter erhält Ticket
◦ Monitor im SAP GUI
ABAP Channels
![Page 28: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/28.jpg)
LIVE DEMO
◦ Benutzer erstellt Fehlerticket
◦ Supportmitarbeiter erhält Ticket
◦ Monitor im SAP GUI
ABAP Channels – Live Demo
![Page 29: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/29.jpg)
Ausdrücke, Funktionen und
interne Tabellen SP02
SP05
SP08
![Page 30: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/30.jpg)
Konstruktorausdrücken / Inline-Deklarationen
◦ VALUE
◦ NEW
◦ CONV
◦ COND/SWITCH
◦ DATA()
◦ FIELD-SYMBOL()
Konstruktorausdrücken / Inline-Deklarationen
![Page 31: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/31.jpg)
DATA(lt_but000) = VALUE bup_but000_t( ). " TYPE STANDARD TABLE OF BUT000
DATA(ltr_but000) = NEW bup_but000_t( ).
"bisher
DATA lt_but000 TYPE bup_but000_t.
DATA ltr_but000 TYPE REF TO bup_but000_t.
Konstruktorausdrücken / Inline-Deklarationen
![Page 32: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/32.jpg)
LOOP AT lt_but000 ASSIGNING FIELD-SYMBOL(<lwa_but000>).
...
ENDLOOP.
LOOP AT lt_but000 INTO DATA(lwa_but000).
...
ENDLOOP.
"bisher
DATA lwa_but000 LIKE LINE OF lt_but000.
LOOP AT lt_but000 INTO lwa_but000.
...
ENDLOOP.
Konstruktorausdrücken / Inline-Deklarationen
![Page 33: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/33.jpg)
Aufbau Rangetable
"wfdst_partner_ranges_tab = TYPE RANGE TABLE FOR BU_PARTNER
DATA(lrt_partner) = VALUE wfdst_partner_ranges_tab( sign = 'I'
option = 'EQ'
( low = 1 )
( low = 2 )
( low = 3 ) ).
* "bisher
DATA lrt_partner TYPE wfdst_partner_ranges_tab.
DATA: lrwa_partner LIKE LINE OF lrt_partner.
lrwa_partner-sign = 'I'.
lrwa_partner-option = 'EQ'.
lrwa_partner-low = 1.
APPEND lrwa_partner TO lrt_partner.
lrwa_partner-low = 2.
APPEND lrwa_partner TO lrt_partner.
Konstruktorausdrücken / Inline-Deklarationen
![Page 34: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/34.jpg)
Tabellenausdrücke – „READ TABLE“
◦ ITab[ 2 ]
READ TABLE ITab INDEX 2 …
◦ ITab[ feld_a = `3` ]
READ TABLE Itab WITH KEY feld_a = `3` …
Tabellenausdrücke / Schreibbare Ausdrücke
![Page 35: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/35.jpg)
Lesender Zugriff DATA(lt_but000) = VALUE bup_but000_t( ( partner = 1
mc_name1 = 'DOMI'
mc_name2 = 'BIGL' )
( partner = 2
mc_name1 = 'JOHANN'
mc_name2 = 'FOESSLEITNER' ) ).
DATA(l_fullname) = |{ lt_but000[ 2 ]-mc_name1 } { lt_but000[ 2 ]-mc_name2 }|.
" l_fullname = 'JOHANN FOESSLEITNER'
"bisher
FIELD-SYMBOLS: <lwa_but000> TYPE but000.
READ TABLE lt_but000 ASSIGNING <lwa_but000> INDEX 2.
CONCATENATE <lwa_but000>-mc_name1
<lwa_but000>-mc_name2 INTO l_fullname
SEPARATED BY space.
Tabellenausdrücke / Schreibbare Ausdrücke
![Page 36: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/36.jpg)
Schreibender Zugriff
lt_but000[ 2 ]-mc_name2 = 'Föß'.
Tabellenausdrücke / Schreibbare Ausdrücke
![Page 37: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/37.jpg)
Parameterübergabe
Tabellenausdrücke
DATA(lr_msg_srv) = cl_bsp_wd_message_service=>get_instance( ).
IF lt_but000 IS NOT INITIAL.
lr_msg_srv->add_message(
EXPORTING
iv_msg_type = 'E'
iv_msg_id = '00'
iv_msg_number = '000'
iv_msg_v1 = lt_but000[ 1 ]-partner ).
ENDIF.
![Page 38: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/38.jpg)
MOVE-CORRESPONDING ITabs
MOVE-CORRESPONDING für interne Tabellen
DATA(lt_but000) = VALUE bup_but000_t( ( partner = 1
mc_name1 = 'DOMI'
mc_name2 = 'BIGL' )
( partner = 2
mc_name1 = 'JOHANN'
mc_name2 = 'FOESSLEITNER' ) ).
DATA lt_but020 TYPE TABLE OF but020.
MOVE-CORRESPONDING lt_but000 TO lt_but020.
"bisher
DATA: lwa_but020 TYPE but020.
FIELD-SYMBOLS: <lwa_but000> LIKE LINE OF lt_but000.
LOOP AT lt_but000 ASSIGNING <lwa_but000>.
MOVE-CORRESPONDING <lwa_but000> TO lwa_but020.
APPEND lwa_but020 TO lt_but020.
ENDLOOP.
![Page 39: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/39.jpg)
Konstruktorausdruck: CORRESPONDING
DATA(lrt_partner) = VALUE wfdst_partner_ranges_tab( sign = 'I'
option = 'EQ'
( low = 1 )
( low = 2 )
( low = 3 ) ).
TYPES: ltt_but000 TYPE TABLE OF but000.
DATA lt_but000 TYPE ltt_but000.
lt_but000 = CORRESPONDING #( lrt_partner MAPPING partner = low ).
"bisher
DATA: lwa_but000 TYPE but000.
FIELD-SYMBOLS: <lrwa_partner> LIKE LINE OF lrt_partner.
LOOP AT lrt_partner ASSIGNING <lrwa_partner>.
MOVE-CORRESPONDING <lrwa_partner> TO lwa_but000.
lwa_but000-partner = <lrwa_partner>-low.
APPEND lwa_but020 TO lt_but020.
ENDLOOP.
CORRESPONDING
![Page 40: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/40.jpg)
Pro
◦ Weniger Hilfsvariablen
◦ Weniger LOOPs und READ TABLE
◦ Als Methodenparameter verwendbar
◦ Übersichtlicher
◦ Modernerer Programmierstil
![Page 41: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/41.jpg)
Contra
◦ Zunächst weniger übersichtlich/verständlich
◦ Komplexer Aufbau
Datenobjekte
Methodenaufrufen
Debugger
![Page 42: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/42.jpg)
Weitere Begriffe
WHILE/UNTIL LET – Ausdrücke boolesche Funktion Tabellenfilterungen – Constructor FILTER Gruppierung interner Tabellen - FOR Constructor REDUCE Prädikative Methodenaufrufe OPTIONAL und DEFAULT bei Tableexpressions
![Page 43: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/43.jpg)
Ausblick 750
Klasse cl_abap_corresponding
IS INSTANCE OF und CASE TYPE OF
it_ref[ 3 ]->the_method( )
![Page 44: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/44.jpg)
Sonstiges
![Page 45: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/45.jpg)
Sonstige interessante ABAP Neuerungen in SP5/SP8 ◦ MOVE-CORRESPONDING für interne Tabellen (SP5)
◦ WAIT UP TO – Angabe ab nun in Millisekunden möglich (SP8)
◦ Outer Joins – On-Condition nun auch <, <=, >, >=, <>, between
und Literale verwendbar.
◦ Meshes
Spezielle Strukturen die als Komponenten interne Tabellen haben
welche über Assoziationen verknüpft sind.
Der Zugriff erfolgt über Mesh-Pfade
◦ …
Sonstiges
![Page 46: ABAP 7.40 SP5/SP8 Releaseabhängige Änderungen · Ich bin ABAP SAP Entwickler seit 25 Jahren Danke, dass ihr dabei seid! Wir starten in ein paar Minuten Domik Bigl Senior Consultant](https://reader030.fdocument.pub/reader030/viewer/2022020109/5b90949d09d3f2c1498c75dd/html5/thumbnails/46.jpg)
https://twitter.com/domibiglsap
https://www.linkedin.com/in/dominik-bigl-9b98b68b
https://www.xing.com/profile/dominik_bigl
https://twitter.com/foessleitnerj
https://www.linkedin.com/in/johann-fößleitner-a9851b2a
https://www.xing.com/profile/johann_foessleitner
Danke!