SlideShare a Scribd company logo
1 of 22
ABAP Package Concept
Use Cases & Best Practices
 Tobias Trapp, AOK Systems GmbH
 Enterprise Architect, SAP Mentor
ABAP Developers and Reuse

 „In SAP Business Suite there‘s so much useful stuff.“

 „I can save 40 seconds of my life time by using data elements
   from SAP standard: CHAR04, CHAR130, BEZEI30…“

 „And for something more complicated I‘m looking for an
   function module.“
Is this how we should do reuse?

 Do you use a certain data element (BEZEI30) because it is
  part of SAP data model you want use?

 If not: don‘t you want to be able to define your own short
  and help texts?

 How do you know that this certain function module is
  appropriate? How do you know that it belongs to a
  public API?
An Architect‘s Answer

 Think in terms of applications and APIs - not in terms of data
  elements and function modules.
 If you work with a certain SAP data model use the
  corresponding data elements and domains. In your own
  applications don‘t be afraid to create your own DDIC elements
  and local data types.
 Use DDIC elements, classes… that are exposed in package
  interfaces. Within SAP Business Suite this is a development
  guideline. So you can be sure that you use appropriate
  functions that are stable according to release changes. The
  local integration engine infrastructure (package SAI) is a good
  example.
Development Classes vs. Packages

  Legacy R/3 consists of 800.000 development
   objects in 3000 development classes:
      Dependecies are not explicit visible
      Which set of packages build an application?
        Naming conventions will fail in the long run
      What is the API of a package? What is public and what
       is private?
      There are no „borders“ of applications. The system
       becomes a monolith - that makes evolution of the
       system and its applications difficult.
How can the Package Concept help?

 Packages can be ordered hierarchically. An application consists
  of a package hierarchy with a main or structure package on
  top.

 With package interfaces you can define (and document)
  dependencies between applications in an explicit way.

 Using package checks you can check violations of
  dependencies.
How can the Package Concept help
you in Custom Development Projects?
  Reduce dependencies: control impact of Ehps /
   switched Business Functions
  Use stable APIs
  Guarantee installability of software components at
   development time
  Structure your applications
  Maintain and evolve applications independently
  Define stable APIs using interfaces
  Need for privacy - don‘t expose everything to everyone!
Do you want to use elements of IS-U?

 
Explain Functionality

Software Components &
            Structure Packages
Software Components are artefacts from software logistics and no
development objects.


                    FS-CD                 FS-CM



Structure packages are development object having dependencies to
other structure packages: BASIS, ABA, BS_REUSE, APPL, APPL_TOOLS,
FI-CA, …

Dependencies between software components are expressed by
dependencies of the structure packages inside.
Properties of Structure Packages
There are special types of interfaces:
     Default-Interfaces
     Virtual Default Interfaces – a kind of carte blanche
     Filter Interfaces that restrict Virtual Default Interfaces
      to namespaces.

The use access to Filter Interfaces has to be declared only on the
level of structure packages.
How to implement
           ABAP Package Concept
 Fight for your rights: BASIS admins have to grant new
  authorizations:
      Developers/Architects have to change package properties
       to assign use accesses, packages interfaces
      To avoid activation errors you need a special authorization
       S_DEVELOP 94 („Overwrite“) for packages

 You have to find software architects who define /
  control dependencies

 Last but not least: explain the package concept to developers
Package Types & Properties
 Define Package Properties:
     structure, main and development packages
     package checks: client & server




Package Check neither as Server nor as Client will be sufficient at the
beginning. Get Experience with Package Check as Server with your own
packages.
Declare Use Accesses
Define Package Hierarchies

RESTRICTED vs. R3ENTERPRISE

 Modify an entry in table PAKPARAM (OSS 648898 / 792058) as
  system-wide switch

 Use RESTRICTED if you want to check against package interfaces

 Use R3ENTERPRISE if you want to control dependencies on the
  level of structure packages and on package interfaces
Define Interfaces

 Package interfaces can contain package interfaces from
 packages deeper in the hierarchy.
Fill Package Interfaces
Execution of Package Checks

Packages can be executed
 as part of SLIN
 using Code Inspector (SCI)
 using SE80 for all elements in a package (hierarchy)
 are part of SCI variant for transport

A violation will not prevent you from CTS transportation. This
may change but today you have to include the checks as CTS
BAdI implementation.
API for package checks as part of
       ABAP Classification Toolset
DATA lr_obj_badi       TYPE REF TO   pak_object_properties.
DATA ls_pak_object_key TYPE          pak_object_key.

GET BADI lr_obj_badi
      FILTERS object_type = ls_tpobject-object.

CALL BADI lr_obj_badi->get_object_from_e071_entry
  EXPORTING
    im_e071    = ls_tpobject
  IMPORTING
    ex_object = ls_pak_object_key.

CALL BADI lr_obj_badi->package_check
  EXPORTING
    im_object         = ls_pak_object_key
  IMPORTING
    ex_package_errors = lt_errors
    ex_severity       = lv_severity.
SAP NetWeaver 7.30

 ABAP package concept gets more complex: access control list…

 Some interface types will vanish

 Migration reports (have a look at OSS):
    RS_MIGRATE_PACKAGES
    RS_MIGRATE_PACKAGEINTERFACES
    SPAK_CREATE_HYBRID_PACK_DATA

 Packages checks not (yet) part of ABAP runtime
Questions? Criticism? Comments?


  I would like to get into discussion!

  I‘ll blog on SCN about this topic.

More Related Content

What's hot

Ooabap notes with_programs
Ooabap notes with_programsOoabap notes with_programs
Ooabap notes with_programs
Kranthi Kumar
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
Kranthi Kumar
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
vkyecc1
 
Sap abap modularization interview questions
Sap abap modularization interview questionsSap abap modularization interview questions
Sap abap modularization interview questions
Pradipta Mohanty
 
User exit training
User exit trainingUser exit training
User exit training
Jen Ringel
 
Sap abap interview questions
Sap abap interview questionsSap abap interview questions
Sap abap interview questions
kssr99
 
Introducing enhancement framework.doc
Introducing enhancement framework.docIntroducing enhancement framework.doc
Introducing enhancement framework.doc
Kranthi Kumar
 

What's hot (20)

Module pool programming
Module pool programmingModule pool programming
Module pool programming
 
Abap reports
Abap reportsAbap reports
Abap reports
 
Badi document
Badi documentBadi document
Badi document
 
Ooabap notes with_programs
Ooabap notes with_programsOoabap notes with_programs
Ooabap notes with_programs
 
Field symbols
Field symbolsField symbols
Field symbols
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
 
ABAP Message, Debugging, File Transfer and Type Group
ABAP Message, Debugging, File Transfer and Type GroupABAP Message, Debugging, File Transfer and Type Group
ABAP Message, Debugging, File Transfer and Type Group
 
List Processing in ABAP
List Processing in ABAPList Processing in ABAP
List Processing in ABAP
 
Sap abap
Sap abapSap abap
Sap abap
 
Object oriented approach to ALV Lists in ABAP
Object oriented approach to ALV Lists in ABAPObject oriented approach to ALV Lists in ABAP
Object oriented approach to ALV Lists in ABAP
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
 
Sap abap modularization interview questions
Sap abap modularization interview questionsSap abap modularization interview questions
Sap abap modularization interview questions
 
SAP Smart forms
SAP Smart formsSAP Smart forms
SAP Smart forms
 
User exit training
User exit trainingUser exit training
User exit training
 
Sap abap interview questions
Sap abap interview questionsSap abap interview questions
Sap abap interview questions
 
Maximizing SAP ABAP Performance
Maximizing SAP ABAP PerformanceMaximizing SAP ABAP Performance
Maximizing SAP ABAP Performance
 
Introducing enhancement framework.doc
Introducing enhancement framework.docIntroducing enhancement framework.doc
Introducing enhancement framework.doc
 
Alv theory
Alv theoryAlv theory
Alv theory
 
Smartforms interview questions with answers
Smartforms interview questions with answersSmartforms interview questions with answers
Smartforms interview questions with answers
 
Reports
ReportsReports
Reports
 

Viewers also liked

Viewers also liked (11)

SAP ABAP - Needed Notes
SAP   ABAP - Needed NotesSAP   ABAP - Needed Notes
SAP ABAP - Needed Notes
 
SAP Transport System; Step-by-step guide from concept to practical
SAP Transport System; Step-by-step guide from concept to practicalSAP Transport System; Step-by-step guide from concept to practical
SAP Transport System; Step-by-step guide from concept to practical
 
Introduction to ABAP
Introduction to ABAPIntroduction to ABAP
Introduction to ABAP
 
Clients in sap
Clients in sapClients in sap
Clients in sap
 
Workbench and customising request
Workbench and customising requestWorkbench and customising request
Workbench and customising request
 
SAP ABAP data dictionary
SAP ABAP data dictionarySAP ABAP data dictionary
SAP ABAP data dictionary
 
SAP WEBDYNPRO ABAP TRAINING
SAP WEBDYNPRO ABAP TRAININGSAP WEBDYNPRO ABAP TRAINING
SAP WEBDYNPRO ABAP TRAINING
 
SAP Landscape 2014
SAP Landscape 2014SAP Landscape 2014
SAP Landscape 2014
 
Sapscript
SapscriptSapscript
Sapscript
 
Sap workflow training
Sap workflow trainingSap workflow training
Sap workflow training
 
Sap system landscape best practice
Sap system landscape best practiceSap system landscape best practice
Sap system landscape best practice
 

Similar to Abap package concept

Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
JAX London
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
piyushchawala
 
Android application structure
Android application structureAndroid application structure
Android application structure
Alexey Ustenko
 

Similar to Abap package concept (20)

IBM API Connect - overview
IBM API Connect - overviewIBM API Connect - overview
IBM API Connect - overview
 
Functional module
Functional moduleFunctional module
Functional module
 
Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profit
 
Microservices&ap imanagement
Microservices&ap imanagementMicroservices&ap imanagement
Microservices&ap imanagement
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
 
Evolutionary Design Solid
Evolutionary Design SolidEvolutionary Design Solid
Evolutionary Design Solid
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
 
Plugin style EA
Plugin style EAPlugin style EA
Plugin style EA
 
Abap interview questions and answers
Abap interview questions and answersAbap interview questions and answers
Abap interview questions and answers
 
SAP Reuse Tools
SAP Reuse Tools SAP Reuse Tools
SAP Reuse Tools
 
Android application structure
Android application structureAndroid application structure
Android application structure
 
C question
C questionC question
C question
 
Badi
BadiBadi
Badi
 
SAP ABAP Interview questions
SAP ABAP Interview questionsSAP ABAP Interview questions
SAP ABAP Interview questions
 
Z abap coding_standards_v2_0_t
Z abap coding_standards_v2_0_tZ abap coding_standards_v2_0_t
Z abap coding_standards_v2_0_t
 
ABAP Coding Standards Reference Guide
ABAP Coding Standards Reference GuideABAP Coding Standards Reference Guide
ABAP Coding Standards Reference Guide
 
Ecc ad ldap
Ecc ad ldapEcc ad ldap
Ecc ad ldap
 
Readme
ReadmeReadme
Readme
 
Enterprise Library 2.0
Enterprise Library 2.0Enterprise Library 2.0
Enterprise Library 2.0
 
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
 

More from Tobias Trapp

Coolcats don't Use Customzing
Coolcats don't Use CustomzingCoolcats don't Use Customzing
Coolcats don't Use Customzing
Tobias Trapp
 
Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014
Tobias Trapp
 

More from Tobias Trapp (11)

Is your ABAP Code Ready for the Cloud?
Is your ABAP Code Ready for the Cloud?Is your ABAP Code Ready for the Cloud?
Is your ABAP Code Ready for the Cloud?
 
ABAP State of the Art
ABAP State of the ArtABAP State of the Art
ABAP State of the Art
 
Bitter sweet lessons - out way to Fiori
Bitter sweet lessons - out way to FioriBitter sweet lessons - out way to Fiori
Bitter sweet lessons - out way to Fiori
 
Analytics & Fiori with the Analysis Path Framework
Analytics & Fiori with the Analysis Path FrameworkAnalytics & Fiori with the Analysis Path Framework
Analytics & Fiori with the Analysis Path Framework
 
Logical Abduction and an Application on Business Rules Management
Logical Abduction and an Application on Business Rules ManagementLogical Abduction and an Application on Business Rules Management
Logical Abduction and an Application on Business Rules Management
 
Coolcats don't Use Customzing
Coolcats don't Use CustomzingCoolcats don't Use Customzing
Coolcats don't Use Customzing
 
Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014
 
BRFplus in der Prozessautomatisierung
BRFplus in der ProzessautomatisierungBRFplus in der Prozessautomatisierung
BRFplus in der Prozessautomatisierung
 
Lecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleLecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of Halle
 
Custom Development of Enterprise Services
Custom Development of Enterprise ServicesCustom Development of Enterprise Services
Custom Development of Enterprise Services
 
SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Abap package concept

  • 1. ABAP Package Concept Use Cases & Best Practices Tobias Trapp, AOK Systems GmbH Enterprise Architect, SAP Mentor
  • 2. ABAP Developers and Reuse  „In SAP Business Suite there‘s so much useful stuff.“  „I can save 40 seconds of my life time by using data elements from SAP standard: CHAR04, CHAR130, BEZEI30…“  „And for something more complicated I‘m looking for an function module.“
  • 3. Is this how we should do reuse?  Do you use a certain data element (BEZEI30) because it is part of SAP data model you want use?  If not: don‘t you want to be able to define your own short and help texts?  How do you know that this certain function module is appropriate? How do you know that it belongs to a public API?
  • 4. An Architect‘s Answer  Think in terms of applications and APIs - not in terms of data elements and function modules.  If you work with a certain SAP data model use the corresponding data elements and domains. In your own applications don‘t be afraid to create your own DDIC elements and local data types.  Use DDIC elements, classes… that are exposed in package interfaces. Within SAP Business Suite this is a development guideline. So you can be sure that you use appropriate functions that are stable according to release changes. The local integration engine infrastructure (package SAI) is a good example.
  • 5. Development Classes vs. Packages  Legacy R/3 consists of 800.000 development objects in 3000 development classes:  Dependecies are not explicit visible  Which set of packages build an application? Naming conventions will fail in the long run  What is the API of a package? What is public and what is private?  There are no „borders“ of applications. The system becomes a monolith - that makes evolution of the system and its applications difficult.
  • 6. How can the Package Concept help?  Packages can be ordered hierarchically. An application consists of a package hierarchy with a main or structure package on top.  With package interfaces you can define (and document) dependencies between applications in an explicit way.  Using package checks you can check violations of dependencies.
  • 7. How can the Package Concept help you in Custom Development Projects?  Reduce dependencies: control impact of Ehps / switched Business Functions  Use stable APIs  Guarantee installability of software components at development time  Structure your applications  Maintain and evolve applications independently  Define stable APIs using interfaces  Need for privacy - don‘t expose everything to everyone!
  • 8. Do you want to use elements of IS-U? 
  • 10. Software Components & Structure Packages Software Components are artefacts from software logistics and no development objects. FS-CD FS-CM Structure packages are development object having dependencies to other structure packages: BASIS, ABA, BS_REUSE, APPL, APPL_TOOLS, FI-CA, … Dependencies between software components are expressed by dependencies of the structure packages inside.
  • 11. Properties of Structure Packages There are special types of interfaces:  Default-Interfaces  Virtual Default Interfaces – a kind of carte blanche  Filter Interfaces that restrict Virtual Default Interfaces to namespaces. The use access to Filter Interfaces has to be declared only on the level of structure packages.
  • 12. How to implement ABAP Package Concept  Fight for your rights: BASIS admins have to grant new authorizations:  Developers/Architects have to change package properties to assign use accesses, packages interfaces  To avoid activation errors you need a special authorization S_DEVELOP 94 („Overwrite“) for packages  You have to find software architects who define / control dependencies  Last but not least: explain the package concept to developers
  • 13. Package Types & Properties  Define Package Properties:  structure, main and development packages  package checks: client & server Package Check neither as Server nor as Client will be sufficient at the beginning. Get Experience with Package Check as Server with your own packages.
  • 16. RESTRICTED vs. R3ENTERPRISE  Modify an entry in table PAKPARAM (OSS 648898 / 792058) as system-wide switch  Use RESTRICTED if you want to check against package interfaces  Use R3ENTERPRISE if you want to control dependencies on the level of structure packages and on package interfaces
  • 17. Define Interfaces  Package interfaces can contain package interfaces from packages deeper in the hierarchy.
  • 19. Execution of Package Checks Packages can be executed  as part of SLIN  using Code Inspector (SCI)  using SE80 for all elements in a package (hierarchy)  are part of SCI variant for transport A violation will not prevent you from CTS transportation. This may change but today you have to include the checks as CTS BAdI implementation.
  • 20. API for package checks as part of ABAP Classification Toolset DATA lr_obj_badi TYPE REF TO pak_object_properties. DATA ls_pak_object_key TYPE pak_object_key. GET BADI lr_obj_badi FILTERS object_type = ls_tpobject-object. CALL BADI lr_obj_badi->get_object_from_e071_entry EXPORTING im_e071 = ls_tpobject IMPORTING ex_object = ls_pak_object_key. CALL BADI lr_obj_badi->package_check EXPORTING im_object = ls_pak_object_key IMPORTING ex_package_errors = lt_errors ex_severity = lv_severity.
  • 21. SAP NetWeaver 7.30  ABAP package concept gets more complex: access control list…  Some interface types will vanish  Migration reports (have a look at OSS):  RS_MIGRATE_PACKAGES  RS_MIGRATE_PACKAGEINTERFACES  SPAK_CREATE_HYBRID_PACK_DATA  Packages checks not (yet) part of ABAP runtime
  • 22. Questions? Criticism? Comments? I would like to get into discussion! I‘ll blog on SCN about this topic.