本文主要对SAP ABAP中的包的概要进行一个讲解,主要包括了包概述,传输层和软件组件
包的概要
包的简介
在ABAP中,每一个开发对象(如程序和类等)都要隶属于一个包(Package), 包一般隶属于某一个模块, 作用是对开发对象进行归类,便于管理。除此之外,每个包还拥有个CTS (Changed Transport System)号,CTS 号用于在系统间传输程序。系统间传输程序时是以CTS号作为基本单位进行传递的。其中包中最重要的两个属性是传输层和软件组件
包的作用
- 对象(程序等)的结构化
- 对象功能模块化
- 对象按照功能区分
包的两个重要属性
ABAP中包中最重要的两个属性是传输层和软件组件,执行T-CODE:SE21进入包构建器,打开包CBUI进行观察:
可以看到包CBUI的传输层为SAP,软件组件为S4CODE,它是一个系统包,并且它勾选了选项"在传输请求中记录对象更改",会生成CTS号,用它可以根据版本管理代码
传输层
传输管理系统(Transport Management System)提供了可以在不同系统分别管理开发和测试系统的环境。开发系统的包可以构成一个传输层(Transport Layer)组。也就是说,传输层能把对象传送到其他系统,并且具有记录对象变更管理功能。通过T-CODE:STMS定义传输层和传输路径
执行上图所示按钮,进入显示传输路线
从图中可以看出此服务器S4H,V4H,V01三个系统组成。S4H系统存在两个传输路径——SAP和ZS4H
软件组件
软件组件概述
软件组件是把包集中在一起成套进行管理。用户开发的所有包都使用HOME(客户传输层)软件组件。本地组件由于不使用自动传输功能,因此不会创建CTS号。
用$TMP包保存本地对象,即用于开发测试的包。每追加一个用户ID的时候会自动分配包给该用户ID,软件组件为本地组件(LOCAL),不生成CTS号。
软件组件分类
软件组件 |
解释 |
SAP_BASIS |
SAP基本组件 |
SAP_ABA |
应用或模块共用的功能以及配置组件 |
SAP_HR |
人力资源组件 |
SAP_APPL |
物流以及会计组件 |
HOME |
不是LOCAL对象,但是可以直接把客户开发的程序传送到其他服务器中 |
LOCAL |
只包含LOCAL对象 |