Entering content frameProcess documentation How the Package Check Works Locate the document in its SAP Library structure

Prerequisites

Note

The package check performed on SAP objects in a customer system does not usually return an error.

How the package check is performed depends on whether or not structure packages are to be included. See also Example of a Check Scenario.

In general, the package check takes place at two different levels:

At the structure package level

 

This check takes place whenever the user package and the provider package are stored in different structure packages and ascertains whether or not the use relationship between the structure packages is allowed.

At the level of the package check as a server or as a client

 

The package attribute Package Check As Server causes a "strong" check to be performed. This means that all users must comply with the pure package check.

If the Package Check As Client is assigned to a package, the package concept need only be complied with locally, not in every use case. This type of check is known as a "weak" check.

Process flow (simplified)

Note

If the system is to perform a restricted package check, it omits steps 1-5. See also: System Settings.

In step (1) of the package check, the system queries whether or not the provider and user are in the same structure package. If they are, the subsequent check process is restricted to a package check as a server and a package check as a client. The check continues from step (6). If conversely the provider package and user package are in different structure packages, the system performs the complete check at the structure package level.

Firstly, it queries whether or not the user package has a use access for any of the interfaces to the package (2). If not, it displays an error message.

If the use access does exist, it ascertains the kind of package interface (3). If the interface is a virtual default package interface, the system then ascertains whether or not a filter has been defined between the two structure packages (a filter package interface (4)). If so, the system checks the filter. If not, it displays an error message.

Conversely, if the interface is a generated default package interface (with a set of exceptions), the system only checks whether or not the development used can be found in this interface (5).

Only if the check is successful at the structure package level does the system continue with the second level check (as a server or as a client). If the provider package (that is, the server package) has the Package Check as a Server flag checked (6), the system performs a "strong" check. Every user then needs a use access to at least one package interface containing the required development element.
If the system reaches the use access check, it takes the
Error Severity into account. If there are several suitable use access, the system takes the best one for the user package.

If the provider packager does not have the Package Check as a Server flag checked, the system checks whether or not it has the Package Check as Client attribute (7). If it has, the system only returns an error message if there is no use access available for the user package, even though the provider package has made the object to be used visible in a package interface. If, however, the Package Check as Server flag is not set for the provider package, and if there are no package interfaces defined, the system displays only an information message.
If neither the Package Check as Server nor the Package Check as Client flag is set, the check is completed successfully.

This graphic is explained in the accompanying text

See also:

Structure Packages

 

 

Leaving content frame