开发程序与事务 (★★★★)

开发程序与事务 (★★★★)

#abap #abap-workbench

概览表

Concept (概念) Key Point (要点)
包 (Package) 仓库对象的逻辑分组
程序类型 可执行程序(类型 1)、模块池等
事务 启动程序的入口点
激活 将非活动版本变为活动版本
传输 在系统之间移动对象

开发组织

1
2
3
4
5
6
包 (ZBC400_##)
├── 分配到应用组件(如 CA)
├── 分配到软件组件(如 HOME)
└── 对象分配到变更请求
└── 任务(每个开发者一个)
└── 开发者释放任务 → 项目经理释放请求

程序生命周期:活动与非活动

1
2
3
4
5
创建对象 → 保存(非活动版本存在)

激活 ──────────→ 语法检查 → 覆盖活动版本 → 生成运行时对象 (LOAD)

└── F8(直接执行)→ 从非活动版本生成临时运行时对象
⚠️激活与保存的区别
保存仅存储非活动版本。只有激活才能使更改在全系统范围内可见。传输请求中的所有对象在释放之前必须被激活。

创建事务

Transaction Type (事务类型) Start Object (启动对象) Use Case (使用场景)
报表事务 Program and Selection Screen 可执行程序
对话事务 Program and Screen 带屏幕的模块池

创建步骤:

  1. 程序的上下文菜单 → Create → Transaction
  2. 输入事务代码(客户命名空间:Y* 或 Z*)
  3. 选择事务类型和引用程序
  4. 设置 GUI 支持(SAP GUI for Windows)
  5. 保存并分配到包和变更请求

关键 ABAP 语法约定

Convention (约定) Example (示例)
链式语句 WRITE: 'Hello', name.
注释 * 在行首或 " 行内注释
关键字文档 在语句上按 F1 或 i 按钮

传输流程

1
2
3
4
开发者创建/更改对象 → 分配到任务 → 释放任务
→ 项目经理审核 → 释放变更请求
→ 对象导出到传输目录 → 导入到目标系统
→ 副本存储在版本数据库中

考试/测试模式

Scenario/Keyword (场景/关键词) Answer (答案)
“更改何时在全系统范围内可见?” 激活之后
“传输何时触发?” 请求被释放时
“客户对象可以放在 SAP 包中吗?” 不可以——必须放在客户包中
“F8 运行的是哪个版本?” 非活动版本(临时 LOAD)

相关笔记