Professional Documents
Culture Documents
ABAP201 Best of ABAP - The Ultimate ABAP 6.40 Feature Show
ABAP201 Best of ABAP - The Ultimate ABAP 6.40 Feature Show
Best of ABAP –
The Ultimate ABAP
6.40 Feature Show
Contributing Speakers
Andreas Blumenthal
SAP AG
Karsten Bohlmann
SAP AG
Boris Gebhardt
SAP AG
Christoph Stoeck
SAP AG
Generic Programming
ABAP Developer
Mr. Dummy
What is an Unit?
An unit can be considered as a non-trivial, accessible code portion
(method, function or form) where a given input or action causes a verifiable
effect. Ideally it is the smallest code part which can be tested in isolation.
Task:
Examples:
'ABC' -> 'CBA'
'12345' -> '54321'
'OTTO' -> 'OTTO'
Demo
normal termination
consistent state
program flow
unexpected
behavior
system state
normal termination
consistent state
program flow
unexpected
: assertion
behavior
system state
system state
runtime
error
normal termination
normal termination
consistent state consistent state
: assertion
system state
system state
undetected
error
runtime
normal termination
normal termination
error
ASSERT - Statement:
ASSERT ID group
SUBKEY subkey
FIELDS dobj1 dobj2 ...
CONDITION log_exp.
BREAK-POINT - Statement:
BREAK-POINT ID group.
Demo
Activation method
¾ dynamic, while system is running
Activation granularity
¾ Logical „checkpoint groups“
¾ Compose „variants“ from
¾ Checkpoint groups, variants,
¾ All checkpoints in programs, function groups, classes
¾ Extract checkpoint groups from programs, function groups,
classes, packages, development components
¾ User, server
Assertion mechanism
¾ Abort, debug or protocol
T1 T2 T3 T4 T1
Demo
In ABAP Debugger
TopN-Consumer-Lists
Aggregation of types (class/data)
Find References
Memory consumption overview
In Stand-Alone TA
Analyzing memory snapshots
Comparing memory snapshots
Growth of memory objects in different views
Common data
DB computed and/or
copied for
each user session
Common Common
Data Data
User X User Y
Session Session
User X User Y
Session Session
User X User Y
Session Session
Commit changes
Commit changes
Attach reader1
Commit changes
Attach reader1
Attach reader2
Commit changes
Attach reader1
Attach reader2
Detach reader1
Commit changes
Attach reader1
Attach reader2
Detach reader1
Detach reader2
Demo
Versioning
Transactionality
Client dependency
Displacement
SELECT
SPFLI~MANDT SPFLI~CARRID …
SCARR~CURRCODE SCARR~URL …
FROM
SPFLI join SCARR
ON
SPFLI~MANDT = SCARR~MANDT AND
SPFLI~CARRID = SCARR~CARRID
SELECT
SFLIGHT~MANDT SFLIGHT~CARRID …
SBOOK~BOOKID SBOOK~CUSTOMID …
FROM
SFLIGHT join SBOOK
ON
SFLIGHT~MANDT = SBOOK~MANDT AND
SFLIGHT~CARRID = SBOOK~CARRID AND
SFLIGHT-CONNID = SBOOK-CONNID.
Dr. ABAP
Use RTTS:
struct_type ?= cl_abap_typedescr=>describe_by_name( dbtable ).
components = struct_type->get_components( ).
CL_ABAP_TYPEDESCR
CL_ABAP_TYPEDESCR
CL_ABAP_DATADESCR
CL_ABAP_DATADESCR CL_ABAP_OBJECTDESCR
CL_ABAP_OBJECTDESCR
CL_ABAP_ELEMDESCR CL_ABAP_INTFDESCR
CL_ABAP_INTFDESCR
CL_ABAP_ELEMDESCR
CL_ABAP_CLASSDESCR
CL_ABAP_CLASSDESCR
CL_ABAP_REFDESCR
CL_ABAP_REFDESCR
CL_ABAP_COMPLEXDESCR
CL_ABAP_COMPLEXDESCR
CL_ABAP_STRUCTDESCR
CL_ABAP_STRUCTDESCR CL_ABAP_TABLEDESCR
CL_ABAP_TABLEDESCR
SELECT
(select_clause)
INTO TABLE ITAB
FROM Perfect, but now we are lost !
(from_clause).
For each DB table combination I need a
result table ITAB with totally different
components!
Dr. ABAP
CL_ABAP_TYPEDESCR
CL_ABAP_TYPEDESCR
CL_ABAP_DATADESCR
CL_ABAP_DATADESCR CL_ABAP_OBJECTDESCR
CL_ABAP_OBJECTDESCR
CL_ABAP_ELEMDESCR CL_ABAP_INTFDESCR
CL_ABAP_INTFDESCR
CL_ABAP_ELEMDESCR
CL_ABAP_CLASSDESCR
CL_ABAP_CLASSDESCR
CL_ABAP_REFDESCR
CL_ABAP_REFDESCR
CL_ABAP_STRUCTDESCR
CL_ABAP_STRUCTDESCR CL_ABAP_TABLEDESCR
CL_ABAP_TABLEDESCR
Demo
ABAP in
XML
Data new
6.40
Doc
XS
LT
LT
Simple
XS
Transformations … .. ….
…. … ..
.. …. …. ..
… …. .. .. Network
XSLT
DB
XS
LT
L
XS
T
… .. ….
…. … ..
.. …. …. ..
HTML / Text
Both
¾ symmetric: no generation of ABAP code / XML schemas
¾ integrated in workbench (maintenance / transport)
¾ integrated in ABAP: CALL TRANSFORMATION
Demo
Premium Developer
Please note that this document is subject to change and may be changed by SAP at
any time without notice. The document is not intended to be binding upon SAP to any
particular course of business, product strategy and/or development.
Î Public Web:
www.sap.com
SAP Developer Network: www.sdn.sap.com
Î Search for ABAP Knowledge Center
SAP Customer Services Network: www.sap.com/services/
Î Related SAP Education Training Opportunities
http://www.sap.com/education/
Coming in December.
http://www.sdn.sap.com/
Q&A
Thank You !