SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
ABAP Reuse Tools at a Glance:
Examples, Best Practices for Usage &
      Documentation Issues
    Tobias Trapp, AOK Systems GmbH
    Enterprise Architect, SAP Mentor
AS ABAP contains a Treasure Chest
         of Reuse Tools
Reuse tools allow rapid development of business solutions, e.g.:
     Business Application Log
     Change Protocols
     Archiving Engine
     Post Processing Office
     SAP Business Workflow
     BRFplus
     tools for financial mathematics
     parallelization tools
     framework for personalization
     generic object services
     tools for document archiving
How are Reuse Tools shipped?
SAP NetWeaver platform contains a technical foundation in SAP_BASIS

AS ABAP contains a set of reuse tools in software component SAP_ABA –
(structure package FS_REUSE)

In Business Suite systems (ERP, CRM,…) there is an additional software
component SAP_BS_FND (structure package BS_REUSE). It is not part of
SAP NetWeaver and not shipped in NSP demosystem

Lots of tools in reuse packages are very mature and come from SAP
SAP Banking Solution and other Industry Solutions
Outline of this Talk
I will introduce some useful tools: Deep Copy Tool and EVH. It is Turing
year so I will start with a tool for mathematical optimization: GENIOS

I will discuss best practices for using a framework in custom
development and how to get information about them

Unfortunately there is no official documentation for most reuse tools.
I will discuss how SAP could provide more information with the help of
SAP Ecosystem
Deep Copy Tool
SAP_BS_FND contains a class CL_ABAP_TOOL that performs a
MOVE-CORRESPONDING between deep structures

We‘ll discuss the following example:
                                       Microsoft Office
                                       Word-Dokument

The report copies the content of deep structures if the name and data
type of a component is the same in source and target:
2012 is Turing Centenary!
Alan Turing was born in 1912 and commited suicide in 1954.
He developed the first mathematical model of a computer
and algorithm and worked on limitations of computability:
„ON COMPUTABLE NUMBERS WITH AN APPLICATION
TO THE ENTSCHEIDUNGSPROBLEM“
He devised a number of techniques for breaking German
ciphers and found settings of Enigma machine
He also worked on mathematical biology and chemistry
Linear Optimization
feasable region defined using a set
of linear expressions:
(a1j,a2j) * (x1,x2) = bj
a linear function c is maximized
the solution is a edge of the
feasable region – if it exists
we are not resticted to the two
dimensional case – here‘s the
general problem:
Applications in Operations Research

 many mathematical problems in can be solved in terms of linear
 programming:
       production programming, network flows
       resource allocation, game theory
 the simplex algorithm can solve linear programs
 in ABAP exists a simplex solver in SAP_BS_FND
GENIOS – an LP Solver in ABAP
objective function: 15 x1 + 10 x2 + 40 x3
feasable region defined using: x1 <= 100, x2 <= 50, x3 <= 40,
10 x1 + 50 x2 + 80 x3 <= 2000

The ABAP program for the computation:
The solution:
Hierarchical F4-value tool in SAP_ABA

  Selection of a hierarchical set of values with an UI control
  Look at report REP_EVH_DEMO in package FS_ENUM_VALUE_HELP
  Selection of a geographical object REGION-SETTLEMENT-TOWN as
  REG.STL.TWN:
Enumeration Value Help
Report REP_EVH_DEMO contains a link to SAP internal docu:
http://pwdf0626.wdf.sap.corp:1100/MiniReuse/index.php/Enumeration_Value_Help
There is a generic dialog class
CL_EVH_FACTORY
We define the possible value in an
ABABP interface given as input
parameter of method
cl_evh_factory=>get_ie_tree_provider
On the right side there is an example
of an interface that defines
REG.STL.TWN as constant.
How to use EVH
Lets look at the example report REP_EVH_DEMO

It shows interesting features
of class cl_evh_factory:

 We can restrict the constants to
 certain data elements like the
 values C, P, E of data element
  CNS_DTE_CP_STATUS
  We can restrict the input values
  to certain values with parameter
  i_filter = 'WAT*'
Where is EVH used in
            SAP Business Suite?
If you want to learn how to use a framework you should check
documentation of reports and data elements, test packages and unit tests.
Furthermore you should check how a framework is used by SAP Business
Suite and Industry Solutions: You can learn how to use a framework.
If a framework is used in many applications it is likely that it will be
 supported in the future.
EVH is used in PPO, Change Notification Service and HDS (as part of
ECH for configuration of residence times in Archive Engine). The scope
seems to be limited.
All those frameworks have been created by highly skilled developers and
I recommend to study them if you are interested in advanced ABAP
development.
HDS, PPO, ECH & CNS –
          Advanced Reuse Tools
The HDS (hierarchical derivation service) is a framework for simple
business rules that is useful for business rules defined in customizing.
Unfortunately you can‘t reuse it because of an SAP internal BAdI.
PPO (Post Processing Office) is a generic error management that is used in
SAP Banking Solution and Error and Conflict Handler tool in SAP toolsuite.
You can use it for own error processes.
ECH is an AddOn to local integration engine, PPO & Archive Engine which
can be used for custom SOA forward error handling.
Change Notification Service (CA-GTF-TS-CNS) is a framework for data
replication using change pointers that is used in SAP Banking Solution.
There are examples in ABAP Unit-test classes in
CL_CNS_CHANGE_POINTER_MANAGER &
CL_CNS_CHANGE_POINTER.
Should you use CNS in Custom
       Development Projects?
CNS was developed in SAP Banking Solution and is now part of SAP_ABA
and contains a sophisticated agent framework: provisioning and consuming
of changes are controlled by agents (derivations of CL_OAF_AGENT)

If you develop am AddOn to an application that uses CNS then you should
use it. In a general SOA context there are other frameworks that can be
used to expose changes of objects and processes: BAM, event proxies in
NW 7.30 and Process Observer. At the moment Process Observer seems to
be most promising

This leads to following question: What are strategic frameworks? What
should you check before reusing an SAP framework?
What are Strategic Frameworks?
 Has SAP declared a framework as strategic? But even in this case there can
 remain lots of questions – just think of WDA. When will it replace UIs of
 SAP Business Suite?
 Is there a documentation in help.sap.com? In this case we can open OSS
 messages because in case of errors
 Is it a core framework of an application you want to extend?
 Is it in maintenance mode or still under development?
 Are there Customer Engagement Initiatives for this framework?

Unfortunately many of the reuse tools are not strategic according to above
criteria but there used in many applications of SAP Business Suite.

Most documentation of Reuse Tools is only SAP internal. Can we change
that?
Documentation for SAP Ecosystem –
  a Community Driven Approach
 To build applications on top of AS ABAP or Add-Ons to SAP Business Suite,
 SAP Partners and Customers need to know how to use those tools.
 If there is no documentation or it comes too late, customers and partners
 won‘t understand SAP‘s products, and won‘t adopt them
 SAP should focus on the most important and strategic frameworks and
 deliver high quality documentations, trainings…
 For the remaining frameworks I suggest that SAP should take a
 Community Driven Approach:
       On SCN, many people give answers in forums, blogs, wikis…
       SAP gives internal developer documentation to SCN topic leaders &
        top contributors. With help of the community they create readable,
        non-normative documentation
Missing Documentation:
          Post Processing Office
PPO is a generic application for error processing. An error is characterized
by a general business objects in different roles: main object, additional
objects.
Error messages are stored as BAL protocols.
There are manual and automatic error processes that you can define using
customizing.
Missing Documentation:
   SOA Layer of SAP Business Suite
There is only official documentatation of NetWeaver tools for Enterprise
Services (sequences, ECH, service groups…) but not of SOA layer of SAP
Business Suite:
Missing Documentation:
           General Mapping Tool
Mappings are part of many processes: mappings in Enterprise Services,
MDG and so on. There is a general mapping tool in ABAP:

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

ABAP Development in time of S/4 - Do's and Don'ts and Golden Rules for Simpli...
ABAP Development in time of S/4 - Do's and Don'ts and Golden Rules for Simpli...ABAP Development in time of S/4 - Do's and Don'ts and Golden Rules for Simpli...
ABAP Development in time of S/4 - Do's and Don'ts and Golden Rules for Simpli...
 
HANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEWHANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEW
 
SAP Abap on Hana Training Course Content
SAP Abap on Hana Training Course ContentSAP Abap on Hana Training Course Content
SAP Abap on Hana Training Course Content
 
SAP Systems Integration by SAP PI (XI)
SAP Systems Integration by SAP PI (XI)SAP Systems Integration by SAP PI (XI)
SAP Systems Integration by SAP PI (XI)
 
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
 
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
 
Future of an abap developer
Future of an abap developerFuture of an abap developer
Future of an abap developer
 
SITIST 2015 Dev - Abap on Hana
SITIST 2015 Dev - Abap on HanaSITIST 2015 Dev - Abap on Hana
SITIST 2015 Dev - Abap on Hana
 
E4832528 5a7c-0010-82c7-eda71af511fa
E4832528 5a7c-0010-82c7-eda71af511faE4832528 5a7c-0010-82c7-eda71af511fa
E4832528 5a7c-0010-82c7-eda71af511fa
 
SAP HANA for SAP Overview
SAP HANA for SAP OverviewSAP HANA for SAP Overview
SAP HANA for SAP Overview
 
SAP HANA ABAP TRAINING | SAP HANA ABAP ONLINE COURSE TRAINING - GOT
SAP HANA ABAP TRAINING | SAP HANA ABAP ONLINE COURSE TRAINING - GOTSAP HANA ABAP TRAINING | SAP HANA ABAP ONLINE COURSE TRAINING - GOT
SAP HANA ABAP TRAINING | SAP HANA ABAP ONLINE COURSE TRAINING - GOT
 
Sap abap on hana
Sap abap on hanaSap abap on hana
Sap abap on hana
 
SAP HANA SPS09 - HANA Modeling
SAP HANA SPS09 - HANA ModelingSAP HANA SPS09 - HANA Modeling
SAP HANA SPS09 - HANA Modeling
 
SAP HANA Native Application Development
SAP HANA Native Application DevelopmentSAP HANA Native Application Development
SAP HANA Native Application Development
 
Sap bw 4 hana vs sap bw on hana
Sap bw 4 hana vs sap bw on hanaSap bw 4 hana vs sap bw on hana
Sap bw 4 hana vs sap bw on hana
 
SAP Inside Track Munich 2016 - SAP HANA Cloud Platform
SAP Inside Track Munich 2016 - SAP HANA Cloud Platform SAP Inside Track Munich 2016 - SAP HANA Cloud Platform
SAP Inside Track Munich 2016 - SAP HANA Cloud Platform
 
SAP HANA SPS10- SHINE
SAP HANA SPS10- SHINESAP HANA SPS10- SHINE
SAP HANA SPS10- SHINE
 
The S/4 HANA Programing Paradigm
The S/4 HANA Programing ParadigmThe S/4 HANA Programing Paradigm
The S/4 HANA Programing Paradigm
 
Developing and Deploying Applications on the SAP HANA Platform
Developing and Deploying Applications on the SAP HANA PlatformDeveloping and Deploying Applications on the SAP HANA Platform
Developing and Deploying Applications on the SAP HANA Platform
 
SAP ABAP - Needed Notes
SAP   ABAP - Needed NotesSAP   ABAP - Needed Notes
SAP ABAP - Needed Notes
 

Ähnlich wie SAP Reuse Tools

Lecture01 abap on line
Lecture01 abap on lineLecture01 abap on line
Lecture01 abap on line
Milind Patil
 

Ähnlich wie SAP Reuse Tools (20)

Abap sample code
Abap sample codeAbap sample code
Abap sample code
 
Abap sample programs 24 slides
Abap sample programs 24 slidesAbap sample programs 24 slides
Abap sample programs 24 slides
 
Abap sample
Abap sampleAbap sample
Abap sample
 
Abap start
Abap startAbap start
Abap start
 
Abap training material
Abap training material Abap training material
Abap training material
 
Sap abap tutorials
Sap abap tutorialsSap abap tutorials
Sap abap tutorials
 
Sap Interview Questions - Part 1
Sap Interview Questions - Part 1Sap Interview Questions - Part 1
Sap Interview Questions - Part 1
 
Lecture01 abap on line
Lecture01 abap on lineLecture01 abap on line
Lecture01 abap on line
 
Abap for sd consultatnt
Abap for sd consultatntAbap for sd consultatnt
Abap for sd consultatnt
 
Sap- An Overview
Sap- An OverviewSap- An Overview
Sap- An Overview
 
Project Report on SAP
Project Report on SAPProject Report on SAP
Project Report on SAP
 
Sap training svr technologies
Sap training   svr technologies Sap training   svr technologies
Sap training svr technologies
 
Atos Ibm Sap Event 22 06 2012v2 Shekhar
Atos Ibm Sap Event 22 06 2012v2 ShekharAtos Ibm Sap Event 22 06 2012v2 Shekhar
Atos Ibm Sap Event 22 06 2012v2 Shekhar
 
Sap
SapSap
Sap
 
SAP 4.6 Basic Skills
SAP 4.6 Basic SkillsSAP 4.6 Basic Skills
SAP 4.6 Basic Skills
 
Sap4 basic
Sap4 basicSap4 basic
Sap4 basic
 
Computerised Accounting Essay
Computerised Accounting EssayComputerised Accounting Essay
Computerised Accounting Essay
 
SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01
 
SAP
SAPSAP
SAP
 
Sap+abap
Sap+abapSap+abap
Sap+abap
 

Mehr von 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
 

Mehr von Tobias Trapp (10)

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
 
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
 
Abap package concept
Abap package conceptAbap package concept
Abap package concept
 
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...
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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)
 

SAP Reuse Tools

  • 1. ABAP Reuse Tools at a Glance: Examples, Best Practices for Usage & Documentation Issues Tobias Trapp, AOK Systems GmbH Enterprise Architect, SAP Mentor
  • 2. AS ABAP contains a Treasure Chest of Reuse Tools Reuse tools allow rapid development of business solutions, e.g.: Business Application Log Change Protocols Archiving Engine Post Processing Office SAP Business Workflow BRFplus tools for financial mathematics parallelization tools framework for personalization generic object services tools for document archiving
  • 3. How are Reuse Tools shipped? SAP NetWeaver platform contains a technical foundation in SAP_BASIS AS ABAP contains a set of reuse tools in software component SAP_ABA – (structure package FS_REUSE) In Business Suite systems (ERP, CRM,…) there is an additional software component SAP_BS_FND (structure package BS_REUSE). It is not part of SAP NetWeaver and not shipped in NSP demosystem Lots of tools in reuse packages are very mature and come from SAP SAP Banking Solution and other Industry Solutions
  • 4. Outline of this Talk I will introduce some useful tools: Deep Copy Tool and EVH. It is Turing year so I will start with a tool for mathematical optimization: GENIOS I will discuss best practices for using a framework in custom development and how to get information about them Unfortunately there is no official documentation for most reuse tools. I will discuss how SAP could provide more information with the help of SAP Ecosystem
  • 5. Deep Copy Tool SAP_BS_FND contains a class CL_ABAP_TOOL that performs a MOVE-CORRESPONDING between deep structures We‘ll discuss the following example: Microsoft Office Word-Dokument The report copies the content of deep structures if the name and data type of a component is the same in source and target:
  • 6. 2012 is Turing Centenary! Alan Turing was born in 1912 and commited suicide in 1954. He developed the first mathematical model of a computer and algorithm and worked on limitations of computability: „ON COMPUTABLE NUMBERS WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM“ He devised a number of techniques for breaking German ciphers and found settings of Enigma machine He also worked on mathematical biology and chemistry
  • 7. Linear Optimization feasable region defined using a set of linear expressions: (a1j,a2j) * (x1,x2) = bj a linear function c is maximized the solution is a edge of the feasable region – if it exists we are not resticted to the two dimensional case – here‘s the general problem:
  • 8. Applications in Operations Research many mathematical problems in can be solved in terms of linear programming: production programming, network flows resource allocation, game theory the simplex algorithm can solve linear programs in ABAP exists a simplex solver in SAP_BS_FND
  • 9. GENIOS – an LP Solver in ABAP objective function: 15 x1 + 10 x2 + 40 x3 feasable region defined using: x1 <= 100, x2 <= 50, x3 <= 40, 10 x1 + 50 x2 + 80 x3 <= 2000 The ABAP program for the computation: The solution:
  • 10. Hierarchical F4-value tool in SAP_ABA Selection of a hierarchical set of values with an UI control Look at report REP_EVH_DEMO in package FS_ENUM_VALUE_HELP Selection of a geographical object REGION-SETTLEMENT-TOWN as REG.STL.TWN:
  • 11. Enumeration Value Help Report REP_EVH_DEMO contains a link to SAP internal docu: http://pwdf0626.wdf.sap.corp:1100/MiniReuse/index.php/Enumeration_Value_Help There is a generic dialog class CL_EVH_FACTORY We define the possible value in an ABABP interface given as input parameter of method cl_evh_factory=>get_ie_tree_provider On the right side there is an example of an interface that defines REG.STL.TWN as constant.
  • 12. How to use EVH Lets look at the example report REP_EVH_DEMO It shows interesting features of class cl_evh_factory: We can restrict the constants to certain data elements like the values C, P, E of data element CNS_DTE_CP_STATUS We can restrict the input values to certain values with parameter i_filter = 'WAT*'
  • 13. Where is EVH used in SAP Business Suite? If you want to learn how to use a framework you should check documentation of reports and data elements, test packages and unit tests. Furthermore you should check how a framework is used by SAP Business Suite and Industry Solutions: You can learn how to use a framework. If a framework is used in many applications it is likely that it will be supported in the future. EVH is used in PPO, Change Notification Service and HDS (as part of ECH for configuration of residence times in Archive Engine). The scope seems to be limited. All those frameworks have been created by highly skilled developers and I recommend to study them if you are interested in advanced ABAP development.
  • 14. HDS, PPO, ECH & CNS – Advanced Reuse Tools The HDS (hierarchical derivation service) is a framework for simple business rules that is useful for business rules defined in customizing. Unfortunately you can‘t reuse it because of an SAP internal BAdI. PPO (Post Processing Office) is a generic error management that is used in SAP Banking Solution and Error and Conflict Handler tool in SAP toolsuite. You can use it for own error processes. ECH is an AddOn to local integration engine, PPO & Archive Engine which can be used for custom SOA forward error handling. Change Notification Service (CA-GTF-TS-CNS) is a framework for data replication using change pointers that is used in SAP Banking Solution. There are examples in ABAP Unit-test classes in CL_CNS_CHANGE_POINTER_MANAGER & CL_CNS_CHANGE_POINTER.
  • 15. Should you use CNS in Custom Development Projects? CNS was developed in SAP Banking Solution and is now part of SAP_ABA and contains a sophisticated agent framework: provisioning and consuming of changes are controlled by agents (derivations of CL_OAF_AGENT) If you develop am AddOn to an application that uses CNS then you should use it. In a general SOA context there are other frameworks that can be used to expose changes of objects and processes: BAM, event proxies in NW 7.30 and Process Observer. At the moment Process Observer seems to be most promising This leads to following question: What are strategic frameworks? What should you check before reusing an SAP framework?
  • 16. What are Strategic Frameworks? Has SAP declared a framework as strategic? But even in this case there can remain lots of questions – just think of WDA. When will it replace UIs of SAP Business Suite? Is there a documentation in help.sap.com? In this case we can open OSS messages because in case of errors Is it a core framework of an application you want to extend? Is it in maintenance mode or still under development? Are there Customer Engagement Initiatives for this framework? Unfortunately many of the reuse tools are not strategic according to above criteria but there used in many applications of SAP Business Suite. Most documentation of Reuse Tools is only SAP internal. Can we change that?
  • 17. Documentation for SAP Ecosystem – a Community Driven Approach To build applications on top of AS ABAP or Add-Ons to SAP Business Suite, SAP Partners and Customers need to know how to use those tools. If there is no documentation or it comes too late, customers and partners won‘t understand SAP‘s products, and won‘t adopt them SAP should focus on the most important and strategic frameworks and deliver high quality documentations, trainings… For the remaining frameworks I suggest that SAP should take a Community Driven Approach: On SCN, many people give answers in forums, blogs, wikis… SAP gives internal developer documentation to SCN topic leaders & top contributors. With help of the community they create readable, non-normative documentation
  • 18. Missing Documentation: Post Processing Office PPO is a generic application for error processing. An error is characterized by a general business objects in different roles: main object, additional objects. Error messages are stored as BAL protocols. There are manual and automatic error processes that you can define using customizing.
  • 19. Missing Documentation: SOA Layer of SAP Business Suite There is only official documentatation of NetWeaver tools for Enterprise Services (sequences, ECH, service groups…) but not of SOA layer of SAP Business Suite:
  • 20. Missing Documentation: General Mapping Tool Mappings are part of many processes: mappings in Enterprise Services, MDG and so on. There is a general mapping tool in ABAP: