SAP Reuse Tools
-
Upload
tobias-trapp -
Category
Technology
-
view
1.984 -
download
5
description
Transcript of SAP Reuse Tools
![Page 1: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/1.jpg)
ABAP Reuse Tools at a Glance:
Examples, Best Practices for Usage &
Documentation IssuesDocumentation Issues
Tobias Trapp, AOK Systems GmbH
Enterprise Architect, SAP Mentor
![Page 2: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/2.jpg)
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� SAP Business Workflow
� BRFplus
� tools for financial mathematics
� parallelization tools
� framework for personalization
� generic object services
� tools for document archiving
![Page 3: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/3.jpg)
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� 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
![Page 4: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/4.jpg)
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
![Page 5: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/5.jpg)
Deep Copy Tool
� SAP_BS_FND contains a class CL_ABAP_TOOLthat performs a
MOVE-CORRESPONDINGbetween deep structures
� We‘ll discuss the following example:
� The report copies the content of deep structures if the name and data
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:
![Page 6: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/6.jpg)
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� He devised a number of techniques for breaking German
ciphers and found settings of Enigma machine
� He also worked on mathematical biology and chemistry
![Page 7: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/7.jpg)
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 existsfeasable region – if it exists
� we are not resticted to the two
dimensional case – here‘s the
general problem:
![Page 8: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/8.jpg)
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� in ABAP exists a simplex solver in SAP_BS_FND
![Page 9: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/9.jpg)
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:� The solution:
![Page 10: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/10.jpg)
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:
![Page 11: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/11.jpg)
Enumeration Value Help
� Report REP_EVH_DEMOcontains 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 inputABABP 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.
![Page 12: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/12.jpg)
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� 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*'
![Page 13: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/13.jpg)
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.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.
![Page 14: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/14.jpg)
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. 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.
![Page 15: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/15.jpg)
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 beuse 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?
![Page 16: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/16.jpg)
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 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?
![Page 17: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/17.jpg)
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…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
![Page 18: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/18.jpg)
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.customizing.
![Page 19: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/19.jpg)
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:
![Page 20: SAP Reuse Tools](https://reader035.fdocuments.us/reader035/viewer/2022080209/5498394ab47959a7498b49c3/html5/thumbnails/20.jpg)
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: