Escolar Documentos
Profissional Documentos
Cultura Documentos
Products
Products Industries
Industries Support
Support Training
Training Community
Community Developer
Developer Partner
Partner
About
About
Ask a Question Write a Blog Post Login
Tobias Trapp
more by this author
ABAP Development
abap | abap package concept | sapmentor | software architecture
share
0 share tweet share
Follow
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 1/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
In the first parts of this weblog series I discussed basics of the ABAP package
concept: package interfaces and package hierarchies and explained the
benefits:
I can give the following résumé: If you want to create maintainable and
evolvable software you need the ABAP package concept. I consider the
package concept as the most important “new” feature of ABAP besides the
web enabling (ICM and ICF) and object orientation! Unfortunately some
aspects of the package concept are more complex than they should be – but
don’t be afraid: There are very powerful tools that will help you too overcome
problems. Now I explain how to switch on package checks and how to perform
package checks as well as some pesky details.
Package checks can be performed in extended syntax check and within code
inspector. There is also the possibility to check all elements of a package (and
the elements of contained packages if you want) in transaction SE80. As a
result you get list of package errors that you can resolve step by step guided
by an explain tool and a wizard. When you resolve an error the former
erroneous element changes its status so that you don’t have to refresh the
whole list which might take a little bit. But before you can use the package
concept you have to switch it on which is described in the following paragraph.
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 2/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
“Enterprise” or “Restricted”
Use the check mode „R3ENTERPRISE“ only if you want to control the
dependencies on the level of structure packages:
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 3/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
A personal opinion
In my opinion the ABAP package concept is more complicated than it should
be:
Luckily SAP created an explain tool that analyzes package errors and even
contains a wizard that can solve package check errors.
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 4/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
I won’t describe details of this package concept but I will give you my personal
opinion:
In my opinion with AS ABAP 7.31 SAP has a pragmatic package concept that
is still a little bit too complicated but the explain tool makes it easy to use.
Summary
In this blog I explained how to switch on the package checks, differences
between AS ABAP releases and the explain tool will guide you in case of
trouble. I explained to different check modes: “restricted” and “r3enterprise”. In
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 5/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
this next instalment of this web log series I will explain best practices, f.e. how
to start with the ABAP package concept.
Alert Moderator
9 Comments
You must be Logged on to comment or reply to a post.
Former Member
Hello Tobias,
thank you for your very detailed blog-series about the package concept. Especially for
the parameter settings to turn them off/on;-)
I also think, that SAP has bring us a good tool for handling the complexity and bring us
more stability into our development process – but: The price is very high and it is much
easier, to turn it off instead of using the tool the right way.
In my projects I oftern alternate between using the package concept or ignore it. One
thing, I am afraid, is the fact, that the way of using SAP standard
modules/classes/interfaces will be very small if you use the package checks right. And
this kind of limitation is one of the biggest arguments against using it.
But if you develop your own software component/solution, it will bring a lot more
clarification about a well designed application model and it helps to avoid violations
against this.
Kind regards,
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 6/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
Hendrik
Hi Hendrik,
But there is something I would be very interesting to know: Can you image an
ABAP package concept or features of it so that every ABAP programmer would
love to use it?
Best Regards,
Tobias
Former Member
Hi Tobias,
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 7/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
Kind regards,
Hendrik
Former Member
Hi Tobias,
Thank you for this blog, it really clarifies many complex concepts of package design.
We are currently starting to understand the real benefits of package design and are
willing to make our first attempt but, we are still stuck in package check activation and
possible impacts in existing developments.
From OSS note 648898 – “Switching on the package check” we acknowledge the
necessity of switching parameter GLOBAL_SWITCH to “RESTRICTED” in order to
enable package checks but we are concerned with the possible impacts of this change.
Wont this reveal all erroneous dependencies and possibly block current developments
activation?
If you could dwell on section “Transparent table PAKPARAM and check as client vs
check as server” a little more we would be most appreciated.
Regards.
There are no other problems especially not with the transport system.
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 8/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
So tell your developers that they will get some more error messages (but
this exactly what you want) but they can nevertheless activate their objects
and transport them.
Best Regards,
Tobias
Former Member
Regards.
Nuno Godinho
Hi Tobias,
I have a message class ZCX in an encapsulated package ZB. Another package ZC has
an exception class which is referencing this message class in one of its texts.
ZA
\— ZB
\- ZMSG
\— ZC
\- ZCX
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 9/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
I was expecting this to yield a package violation since the package ZB doesn’t have any
package interface nor package ZC has any use access for it.
Afterwards, I tried to create a simple method TEST() in class ZCX with the statement
MESSAGE S001(ZMSG). And now I get a package violation.
So it seems like the checks are not taking into account the message classes used in
exception classes. Do you think this is a bug in the package check? Or am I doing
something wrong? I am using RESTRICTED mode.
Thanks in advance,
Nuno Godinho
http://abapinho.com/en
Best Regards,
Tobias
Nuno Godinho
Hello Tobias,
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 10/11
10/3/2018 ABAP Package Concept Part 4 – How to perform package checks | SAP Blogs
Regards,
Nuno
Trademark Sitemap
Newsletter
https://blogs.sap.com/2012/07/22/abap-package-concept-part-4-how-to-perform-package-checks/ 11/11