浅谈说明性弹性域之上下文引用

作者:郑德鼎 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, SD, 开发, 数据工程, 销售分销
浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

“弹性域”相信大家都不陌生,弹性域的应用几乎贯穿整个EBS系统,“弹性域”有两种类型:键弹性域和说明性弹性域。键弹性域是在实施过程中必不可少的一部分,其重要性毋庸置疑,说明性弹性域在实施过程中是可选择性的设置,因此我们可能会下意识地觉得其没有键弹性域重要。

然而事实上说明性弹性域的存在为EBS提供了一种无需开发且灵活的方式,使我们可以在form中添加定制的“扩展空间”,还可以通过上下文的引用使一些字段只在需要的时候出现。

说明性弹性域有两种类型的段:Global Segment和 Context-sensitive segments,Global

Segment总是出现在说明性弹性域的窗口处,Context-sensitive segments则由上下文值(context

value)决定是否显示以及显示哪种段结构。

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

上下文引用功能的实现需要通过填写Context fields区域字段,在此我将介绍一种通过参考字段(Reference field)实现上下文应用的方法。

**参考字段**

说明性弹性域依赖form字段的值显示上下文信息,该form

field即为参考字段。在定义说明性弹性域前,应用程序开发人员在将说明性弹性域构建到表单中时,会在表单上指定一个或多个字段作为潜在的参考字段,我们可以选择是否使用。此外,定义说明性弹性域最重要的是提前设计好定义说明性弹性域所需的值,值集,段结构等,后期定义说明性弹性域时依据文档设置。

1) 字段获取

a) Profile->Field

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

b) Form->Block->Field

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

2) 参考字段设置方法

a) 直接填写

路径:INV->设置->弹性域->说明性->段

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

b) 添加到参考字段列表

可以一次性注册多个参考字段,后续按需取用,只要段结构都有设置,直接编译就可以灵活显示不同的段结构。

路径:应用开发员->弹性域->说明性->注册

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

首先我们来看一个业务场景:

**业务场景:**

假设一个集团有三个不同国家的子公司A,B,C,在EBS系统中为每个子公司创建一个OU,A的ORG ID为122,B的ORG ID为681,C的ORG

ID为701。总公司要求每个子公司SO的附加头信息需要包含货物到达的港口等信息,由于各个国家销售流程、销售相关的政策以及子公司业务需求不同,因此每个子公司还需要在SO上显示不同的附加头信息。比如A公司需要在SO上显示附加税信息,B公司需要标记每个SO的交易方区域,销售类型等信息,C公司需要在SO上显示印花税信息,如果不应用说明性弹性域上下文引用功能,我们只能把这些所需的信息全部构建到Global

Segment上,其说明性弹性域段结构如下图所示,这样占据过多表空间,可能会使之后想添加新段的时候空间不够,且在实际应用的过程中,C公司想输入自己公司需要的信息必须跳过A,B公司,非常麻烦且不必要。

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

此时我们可以通过说明性弹性域上下文引用功能,定义附加头信息的说明性弹性域,则其在识别到不同ORG_ID时弹性域结构如下图所示。

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

**功能设置:**

1\. 确定参考字段

路径:工具栏->帮助->诊断->检查

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

2\. 参考字段

路径:INV->设置->弹性域->说明性->段

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

3\. 定义Global Segment

Global Segment的Code和Name在每一个说明性弹性域下默认存在,我们可以决定是否启用。定义Global Segment,维护值集。

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

4\. 定义Context-sensitive segments

参考字段为ORG_ID,系统内三个公司的ORG_ID的值如下表所示:

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

Code输入具有唯一标识的参考字段的值,如122(A公司的ORG_ID),Name自动出现,输入Description,维护段结构。当进入一个OU,识别到其ORG_ID为122时,弹性域会弹出Global

Segment和Code为122的Context-sensitive segments。依次设置三个OU的Context-sensitive

segments。

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

5\. 系统应用结果

进入ORG_ID为122的A子公司SO界面附加头信息弹性域:

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

进入ORG_ID为681的B子公司SO界面附加头信息弹性域:

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

进入ORG_ID为701的C子公司SO界面附加头信息弹性域:

浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图
浅谈说明性弹性域之上下文引用 - 封面图

作者:王浩远

审核:陆 觉

编辑:王 锐

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「浅谈说明性弹性域之上下文引用.md」整理生成,仅用于内部技术分享与学习交流。