项目编码与 WBS 编码规则的设置需通过事务码 OPSK(为项目定义特殊性)与 OPSJ(定义项目编码屏蔽)联动完成,核心是先定义编码分隔符、校验规则,再配置层级掩码与编号格式,最后在项目参数文件启用自动编码,确保前台创建时严格遵循规则。
一、核心配置节点与事务码
| 配置任务 | 事务码 | SPRO 路径 | 核心作用 |
|---|---|---|---|
| 为项目定义特殊性 | OPSK | 项目系统→结构→实施结构→WBS→项目代码屏蔽→为项目定义特殊性 | 定义编码分隔符、校验规则、编辑控制等基础参数 |
| 定义项目编码屏蔽 | OPSJ | 项目系统→结构→实施结构→WBS→项目代码屏蔽→定义项目编码屏蔽 | 配置编码层级掩码、PrjID、锁定规则 |
| 项目参数文件 | OPSA | 项目系统→结构→实施结构→WBS→项目参数文件 | 关联编码屏蔽,启用自动编号 |
二、OPSK(为项目定义特殊性)配置步骤与规则
这是编码规则的 “基础开关”,控制分隔符、校验强度与编辑模式,需先配置再去 OPSJ 定义掩码。
- 执行 OPSK,进入 “特殊字符在项目编号中” 维护界面。
- 关键字段配置(一行记录控制全局,不可多行吗):
字段 取值范围 规则与作用 示例 PL(项目长度) 1-5 限定项目编码前导固定位长度(与 OPSJ 的 PrjID 长度一致),超出报错 PL=2 → PrjID 必须 2 位,如 “P1” SL(结构长度) 勾选 / 不勾选 勾选 = 强制项目 / WBS 编码必须匹配 OPSJ 掩码,否则报错;不勾选 = 允许自定义 严格管控时勾选 SP(特殊字符) 单个字符(如 -、/、_) 限定 OPSJ 掩码中可用的层级分隔符,只能用这里定义的字符 SP=- → 掩码可用 “-” 分隔 ET(输入工具) 单个字符(如 *) 快速创建 WBS 时的层级占位符,输入 “*” 可自动生成层级编码 ET=* → 输入 “P1-*01” 生成 “P1-0010” 编辑 勾选 / 不勾选 勾选 = 仅允许 OPSJ 已定义的掩码用于前台创建;不勾选 = 允许自由编码 标准化编码时勾选 ANO(自动编号) 单个字符(如 #) 系统无法分配编码时的临时占位符,一般留空 留空即可 - 保存配置(需传输请求)。
三、OPSJ(定义项目编码屏蔽)配置步骤与规则
定义具体的编码格式(掩码),与 OPSK 的 SP 分隔符、PL 长度强关联,支持多套掩码适配不同项目类型。
- 执行 OPSJ,点击 “新条目” 创建掩码。
- 关键字段配置(一行对应一套掩码):
字段 配置规则 说明 示例 PrjID 1-5 位,与 OPSK 的 PL 长度一致 项目编码前导标识,与掩码绑定,用于区分不同项目类型 PL=2 → PrjID=“P1” 编码掩码 组合:X(字母数字)、0(仅数字)、SP 分隔符 X = 任意字符,0 = 仅数字,分隔符必须是 OPSK 的 SP 字符;层级按 “分隔符 + 位数” 递进 掩码 = P1-XXXX-0000 → 格式为 P1-ABCD-1234 描述 文本 说明掩码用途,如 “研发项目编码规则” - LCK(锁定运营) 勾选 / 不勾选 勾选 = 该掩码不能用于 CJ01/CJ20N 创建运营项目 弃用的掩码勾选 LKS(锁定模板) 勾选 / 不勾选 勾选 = 该掩码不能用于 CJ91 创建模板项目 仅运营项目可用时勾选 - 保存配置(需传输请求)。
- 掩码设计原则:
- 层级清晰:按 “项目 + 阶段 + 任务 + 子任务” 分层,如 “P1-2025-001-0010”
- 类型区分:用 PrjID 区分项目类型(如 P = 研发、I = 基建)
- 兼容扩展:预留层级位数,如子任务用 4 位 0000,支持 10000 个子任务
四、项目参数文件(OPSA)关联与自动编码启用
确保前台创建项目 / WBS 时自动应用规则,需在项目参数文件中绑定掩码并启用自动编号。
- 执行 OPSA,找到目标项目参数文件(如 Z_RD_PROJ)。
- 切换到 “编码” 页签,配置:
- 项目编码屏蔽:选择 OPSJ 中定义的 PrjID(如 P1)
- WBS 编码规则:选择 “自动” 或 “手动”;自动 = 按掩码生成,手动 = 允许输入(需符合掩码)
- 编号范围:分配项目 / WBS 的自动编号区间(事务码 SNRO 维护对象:PROJECT_DEFINITION、WBS_ELEMENT)
- 保存后,前台用 CJ01/CJ20N 创建项目时,系统会按掩码自动生成编码。
五、前台验证与常见问题处理
- 验证步骤:
- 用 CJ01 创建项目,输入 PrjID 后系统自动带出掩码格式,输入内容需符合 X/0 规则。
- 创建 WBS 时,输入 ET 字符(如 *)可快速生成层级编码,如 “P1-*01”→“P1-0010”。
- 常见问题:
问题 原因 解决 输入编码报错 “不符合结构长度” 未勾选 SL,或掩码长度与输入不一致 核对 OPSK 的 SL 勾选状态,检查输入是否匹配 OPSJ 掩码 分隔符不允许 用了 OPSK 的 SP 未定义的字符 改为 SP 中定义的分隔符(如 -) PrjID 长度报错 PL 与 PrjID 长度不匹配 OPSK 的 PL 设为与 PrjID 一致(如 PL=2→PrjID=2 位)
六、底层逻辑与增强(可选)
- 数据存储:OPSK 配置存于表 TCJ01,OPSJ 存于表 TCJ02,项目参数文件存于表 TCJ03。
- 增强需求:如需复杂规则(如含年份、公司代码),可通过 CMOD 激活用户出口 CNEX0007(WBS 编号生成前处理),用 ABAP 开发自定义逻辑。
七、完整配置流程总结
- OPSK:设置 PL 长度、SP 分隔符、勾选 SL 与编辑→保存。
- OPSJ:创建 PrjID(匹配 PL)、定义掩码(用 SP 分隔符,X/0 组合)→保存。
- OPSA:项目参数文件绑定 PrjID,启用自动编码,分配编号范围→保存。
- 前台 CJ01/CJ20N 验证编码生成与校验。