Products and Software Components
The classes of the SAP schema, the software components and their versions, and the products and their versions are the basis for the component information.
This section describes the connection between these terms as shown in the following figure:

· Product
A collection of all versions of a product. A product is a unit that is delivered, visible to the customer, and is installable and renewable. In an SAP environment, a product corresponds to an SAP technical component.
· Product version
A particular version of a product.
· Software component
A collection of all versions of a software component. Software components represent the reusable modules of a product. You can upgrade them or install patches on them.
· Software component version
A particular version of a software component.
· Software unit
A particular aspect of the product functions. It is a logical link between the product version and the software component version.
As shown in the figure above, a product version consists of multiple software units. These units are implemented by various software components (or versions).

The product SAP R/3 Enterprise, which represents an SAP technical component, has, among other things, a product version SAP R/3 Enterprise Core 4.7. The software unit that represents the functions of this product version has the same description as the product version. Various software components (or versions) fill the functions of this software unit. These software components (or versions) are, among others, SAP Basis 6.20, SAP HR 4.70, and SAP Enterprise Retail 1.10.
The data about SAP software components and SAP products is maintained by SAP. You cannot change this data. You can add current data to your SLD by using the data import function. More information: Updating the Software Catalog
You can define dependencies between software component versions in the following contexts:
● InstallationTime
The context of an installation process (first installation or an upgrade to a newer version). The requirements of this context list the external resources that are needed for the installation.
For example, software component C1 requires software components C3 and C4 to be installed. The installation and basic usage of C1 does not work without C3 and C4 being installed first. On the other hand, the installation of C1 does not require any other software component to be installed first, except the ones that are required implicitly through C3 and C4.
● BuildTime
The context of a build process, such as the compilation of sources and the packing of archives. The requirements of this context list the external resources that are needed for the build.
For example, software component C1 requires software components C2 and C3 to be built. The build of C1 does not work without C2 or C3 being built first. On the other hand, the build of C1 does not require any other software component, except the ones that are required implicitly through C2 and C3.
● MetaDataRequest
The context of a process which requires external meta data in an installed system. An example is the content of the PI repository which contains the definitions of services and interfaces. The PI content is used by the software components that implement the services and interfaces (in ABAP or Java).
