11.[SAP ABAP] Package

11.[SAP ABAP] Package

文章目录

  • [11.[SAP ABAP] Package](#11.[SAP ABAP] Package)
    • [一. 作用](#一. 作用)
    • [二. 创建Package](#二. 创建Package)
    • 二、输入描述(简短描述、可选应用组件、软件组件、包类型等)
    • 三、创建请求
      • [1. 什么是ABAP请求](#1. 什么是ABAP请求)
      • [2. 如何手动创建ABAP请求](#2. 如何手动创建ABAP请求)
        • [方法一:通过事务码SE01(Transport Organizer - 专家模式)](#方法一:通过事务码SE01(Transport Organizer - 专家模式))
        • [方法二:通过事务码SE09(Transport Organizer - 标准模式)](#方法二:通过事务码SE09(Transport Organizer - 标准模式))

在SAP ABAP开发环境中,创建Package(包)是组织和管理开发对象(如程序、类、函数模块等)的重要步骤。能够存储所有SAP系统开发过程中的相关对象,方便进行管理和查询。

一. 作用

  • 提供命名空间隔离(避免对象对冲突);
  • 控制访问权限(通过包权限检查);
  • 支持变更请求(Transport Request)的传输 ;
  • 实现软件组件(Software Component)和应用组件(Application Component)的归属管理;

所有ABAP开发对象(除本地临时对象外)都必须属于某个包。

二. 创建Package

T-Code: SE21

输入名称,点击【Create】按钮

包(Package)的名字由Y、Z开头并由30位以内的字符组成。

二、输入描述(简短描述、可选应用组件、软件组件、包类型等)

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/722b91849b564997b78a7d65fefef56f.png)

origin_url=D%3A%5CGoyeerDoc%5C010.SAP%5C04.ABAP%5Cimage%5C11%5Cabap-11-02.png&pos_id=img-SeUUCRYY-1765808814674)

  1. 包: 必须唯一,通常ZY开头(客户名称空间),如:ZHR_PAYROLL

  2. **应用组件:**用于业务分类。如FI-GLSD-SLSZZ-FINANCE

  3. **软件组件:**客户自定义组件。如SAP_APPLS4CORE

  4. 传输层: 决定是否可传输 1). $TMP:本地临时包(不可传输) 2). ZDEV/SAP:可传输到其他系统。

  5. 父包: 包可以嵌套,形成父子结构(如ZHRZHR_RAYROL的超级包)

  6. 包类型: 包含开发包 主包结构包

    6-1. 主包: 代表一个完整业务模块或系统领域的顶层包。

    • 通常是某个解决方案(Solution)的根节点。
    • 可能对应一个软件组件(Software Component)应用组件(Application Component)
    • 用于权限、传输、文档归集的边界。

    6-1. 开发包(Development Package): 实际进行编码、调试、测试的包。

    • 是主包的子包。
    • 按功能、接口、增强点等细分。
    • 必须分配到变更请求(Transport Request)。
    • 有明确的开发负责人或团队。
    • 包含对象:程序、类、函数组、BAdl实现、增强等。

    6-2. 结构包(Structure Package): 仅用于组织包层级,本身无业务含义,也不存放任何开发对象。

    • 类似"文件夹"或命名空间分隔符
    • 常用于大型项目中构建清晰的树形结构
    • 名称可能为通用词(如CODEINTERFACEUTIL)。
    • 结构包本身不创建任何程序或类,它仅让结构更清晰、便于导航和管理。
  7. 包已封装: 通常表示该ABAP Package 被设置为封装状态,禁止外部直接访问其内部对象,除非通过明确定义的公共接口(Public API)

    包已封装含义:

    • 该包启用了封装(Encapsulation / Sealing)功能
    • 只有声明为PUBLIC的对象(且在包的公开接口中暴露)才能被其他包访问。
    • 其他包无法直接使用该包内的LOCAL或未授权的PUBLIC对象。
    • 违反此规则会导致语法检查或运行时错误。

三、创建请求

创建请求通常指的是创建变更请求(Change Request),也称为传输请求(Transport Request)。请求是SAP系统用于管理开发对象(如程序、类、表等)从开发系统(DEV)→ 测试系统(QAS)→ 生产系统(PRD)的标准变更控制机制

1. 什么是ABAP请求

**正式名称:**变更请求(Change Request)或工作台请求(Workbench Request)。

作用:

  • 记录所有对 Repository 对象(ABAP 代码、DDIC 等)的修改;
  • 支持跨系统传输(通过 TMS:Transport Management System);
  • 实现变更审计、版本控制和团队协作。

所有在非$TMP包中创建或修改对象,必须分配到一个请求,否则无法保存。

2. 如何手动创建ABAP请求

方法一:通过事务码SE01(Transport Organizer - 专家模式)
  • 输入事务码 SE01。
  • 点击工具栏"请求任务" "创建"。
  • 选择请求类型:
    • Workbench Request(工作台请求):用于开发对象;
    • Customizing Request(定制请求):用于配置(SPRO设置);
方法二:通过事务码SE09(Transport Organizer - 标准模式)
  1. 输入 SE09
  2. 左侧选择 "工作台请求"
  3. 点击 "创建"(或按 F5);
  4. 选"任务(Task) "或"请求(Request) ":
    • 任务(Task):分配给个人的子任务(推荐);
    • 请求(Request):顶层容器,可包含多个任务;
  5. 填写描述、目标系统等;
  6. 保存后获得请求号。
相关推荐
阿达_优阅达13 小时前
集成方案 | 通过 Xtract Universal,将 SAP 数据无缝接入 Power BI 与微软 Fabric
运维·microsoft·sap·fabric·theobald
goyeer2 天前
10.[SAP ABAP] 字符串
sap·abap
山茶花开时。4 天前
[SAP MM] 创建物料主数据
sap·mm
山茶花开时。4 天前
[SAP MM] 创建采购信息记录
sap·mm
山茶花开时。4 天前
[SAP MM] 采购订单自动生成
sap·mm
SAP Hua4 天前
ABAP内表汇总数据的方法汇总
abap
山茶花开时。4 天前
[SAP MM] 创建供应商主数据
sap·mm
goyeer5 天前
08.[SAP ABAP] 循环结构
sap·abap
goyeer5 天前
09.[SAP ABAP] 终止循环
sap·abap