一.说明
条件表(Condition Table)是SAP条件技术体系中最基础的数据源,它们是一群特定的数据表,表名是以特定字母开头 + 三位数字构成(如A106 价格清单/物料组),可以用TCODE:SE11或SE16查看。
条件表的分类有两个维度,分别是用途(Usage)、应用(Application)。条件表名是以特定字符串前缀 + 三位数字构成,用途(Usage)不同,表名的特定字符串各不相同,常见类型如下表所示。
| 用途(Usage) | 表名结构 |
| A 定价 | Axxx |
| B 输出 | Bxxx |
| C 科目确定 | Cxxx |
| D 物料确定 | KOTDxxx |
| E 折扣 | KOTExxx |
| F 索引 | KOTFxxx |
| G 清单&排斥 | KOTGxxx |
| H 批量确定 | KOTHxxx |
| I 参数文件确认 | KOTIxxx |
| M 部长职务确定 | KOTMxxx |
| N 免费货物 | KOTNxxx |
| P 包装对象确认 | KOTPxxx |
| R 派生 | KOTRxxx |
| S 统计 | Sxxx |
表 1 部分用途(Usage)条件表名构成
条件表常见的的应用(Application)类别有V(采购)、V(销售及分销)、TX(税)等。用途(Usage)+应用(Application)的组合,形成后台不同的配置路径,在指定的配置中,只能维护不同范围的数据。诸多模块如MM、SD、FI等都有维护条件表的操作(新建、修改、显示),操作界面相同,只是可选的字段目录不同。
ERP初始安装时,系统里就有一些示例配置的条件表,可以直接拿来应用;但在现实业务环境中,有新的关键字段组合需要定义,那么就需要创建新的条件表。在正式系统中,系统示例表占据001至499的编号范围,新建的表一般需要从500开始,通常会首先使用900至999的号码区间。在IDES系统中,500之后也有使用,新表的编号就需要有意避开。
条件表的配置包含两部分:
- 允许字段目录,每个用途(Usage)+应用(Application)组合,会有不同的允许字段列表;
- 定义条件表,操作步骤是从允许字段列表选取多个关键字,创建条件表。
定价类条件表的用途(Usage)是A,常用到的应用(Application)有税(TX)、销售定价(V)、采购定价(M)、服务采购定价(MS)等,这些不同应用的定价类条件表使用同一编号,对应的数据表都是Axxx,所以在创建新定价条件表时,注意编号不要有冲突,如果不知可通过SE16对T681表进行查看。
当各个条件表维护完成后,就可以定义存取顺序,并将条件表分配到存取顺序中,具体配置参见《定义定价用途的存取顺序(Access Sequences)》。
条件表的操作是cross-client级,操作前先确认登录的Client具有相关权限(参见《定义客户端(Client)》)。
二.允许字段目录配置
定价类(用途为A)允许字段存放于KOMG、KOMK、KOMP三个结构中的字段列表中:
- KOMG:Allowed Fields for Condition Structures,所有定价条件中用到的字段都要放到该结构中;
- KOMK:Communication Header for Pricing,用于条件表头的字段要放到此结构中;
- KOMP:Communication Item for Pricing,用于条件项目的字段要放到此结构中。
对于采购、销售等等不同的应用,这三个结构中的字段也不是全部使用,这就涉及到允许字段目录配置。
销售定价允许的字段目录配置如图 1和图 2所示,路径“SAP 用户化实施指南→销售和分销→基本功能→定价→定价控制→定义条件表<条件: 允许字段>”(SM30维护视图变式VV_T681F_VA)。
图 1 后台路径
图 2 活动对话框
维护界面如图 3所示已有很多字段,在此列表的字段可供创建条件表时选择。可在此增加字段,如果需要字段未在上述结构的字段列表中,或有自定义字段,请先用SE11对其中某个结构增加字段,并需要修改相应的增强程序。
图 3 允许字段概览
订单中可用来组合的字段都在这张表中,其中包含这样几类:组织结构类,如销售组织、分销渠道、产品组等;销售数据类,如客户号、物料、物料税分类等;销售原因类,如促销、订单原因等;还有几项是定价特有的,见下表述。
客户价格清单类别
字段PLTYP,维护路径“SAP 用户化实施指南→销售和分销→基本功能→定价→维护价格相关主数据字段<定义客户价目表类别>”(SM30维护视图V_T189)。
客户定价组
字段KONDA,维护路径“SAP 用户化实施指南→销售和分销→基本功能→定价→维护价格相关主数据字段<定义客户定价组>”(SM30维护视图V_T188)。
以上两项在客户主数据销售视图的维护见图 4。
图 4 客户主数据销售视图
物料定价组
字段名KONDM,维护路径“SAP 用户化实施指南→销售和分销→基本功能→定价→维护价格相关主数据字段<定义物料组>”(SM30维护视图V_T178)。此字段在物料主数据销售视图的销售:销售组织数据2标签页下,如图 5所示。
图 5 物料主数据销售视图
国际贸易条件
包含国际贸易条件1(字段INCO1)、国际贸易条件2(字段INCO1-)两个字段,更多信息参见《定义国际贸易术语(Incoterms)》。
三.条件表配置
条件表配置相关的数据表有:
- 表T681存放条件表的结构数据,表T681T存放多语言文本信息;
- 表T681E存放条件表包含的字段数据,是表T681的子表;
- 表T681S存放允许选择的字段目录,此表由相关的字段目录维护配置完成。
创建3个条件表分别是801、802、803,此处显示801的创建过程,3张表的字段不同,分别是:
- 801表字段:销售组织、客户、物料、国际贸易条件、国际贸易条件2;
- 802表字段:销售组织、物料、国际贸易条件、国际贸易条件2;
- 803表字段:销售组织、物料。
| 项目 | R/O | 数据 |
| 表格 | R | 801 |
| 有效期 | O | X 选择 |
| 带有审批状态 | O | X 选择 |
(R/O列:R必输;O选输。)
表 2 条件表801抬头数据
| 顺序 | 字段 | 关键字 | 页脚字段 | 文本字段 |
| 1 | VKORG-销售组织 | X | ||
| 2 | KUNNR-客户 | X | ||
| 3 | MATNR-物料 | X | X | X |
| 4 | INCO1-国际贸易条件 | X | X | |
| 5 | INCO2-国际贸易条件2 | X | X |
表 3 条件表801字段数据
| IMG路径 | T-CODE |
|
SAP 用户化实施指南→销售和分销→基本功能→定价→定价控制→定义条件表<创建条件表> SAP Customizing Implementation Guide→Sales and Distribution→Basic Functions→Pricing→→Pricing Control→Define Condition Tables <Create condition tables> |
V/03 |
表 4 操作路径
进入维护界面的方法有两种,均按表 4所示:
- 按后台IMG路径进入,如图 1所示,弹出对话框如图 2所示,鼠标双击“创建条件表”条目进入;
- 在前台输入事物码V/03进入。
图 6是创建条件表的初始界面,在此输入按表 2数据输入条件表名称的编号,按回车键进入下一界面。
图 6 创建条件表初始
图 7、图 8都是初始的字段选择界面,其中右边是可选择的字段目录,由于本次操作是销售订价,列出的可选字段只是为销售订价服务的。点击“其它描述”按钮(),右侧的字段列表显示可以变换不同格式的描述信息,有详有简,因为有相同描述的不同字段,故建议多次点击按钮转换到能够显示字段名称的界面。
图 7 字段选择界面(长关键字列表)
图 8 字段选择界面(技术的和中等的)
用鼠标放至右侧字段目录,可通过键盘的PageUp、PageDown键,或工具栏的上一页、下一页按钮( 、
)进行翻页,查找所需要的字段。如图 9所示,第一个需要添加的字段是销售组织,右侧字段目录翻至出现销售组织字段的页面,用鼠标双击后添加至左侧所选字段列。
图 9 字段选择_添加销售组织字段
第二个字段是客户,右侧字段目录翻至出现客户字段的界面,描述为客户的有两个字段,注意选择字段名称正确的条目。
图 10 字段选择_添加客户字段
继续添加第3个字段物料。最后如图 11所示,添加国际贸易条件和国际贸易条件2两个字段。在此注意上面的“有效期”、“带有审批状态”的状态值设置正确。由于选择了五个字段,表名描述也就包含了五个字段名称,表名描述可点击右键的编辑按钮()进入修改状态自行修改,但一般使用默认名称即可。
图 11 字段选择完成
在界面中点击“技术总览”按钮()进入图 12技术视图界面,可以全面查看及维护所选字段。如果关键字栏选中,则生成的条件表的主键将有此字段。如果页脚字段选中,则在维护条件时此字段放在条目栏中(而不是在抬头部分),此例将销售组织、客户两个字段放在抬头,其它字段放在项目。在项目部分,还允许一个字段出现文本描述,在此选择物料字段,而其它项目字段则不会显示描述。
图 12 技术视图设置
维护无误后,就可以创建条件表了。点击生成按钮(),弹出对话框如图 13所示,点击“是”继续。
图 13 生成数据表
系统继续弹出创建对象目录对话框,此处需要在“包”栏目输入值,由于版本不同也可能翻译成“开发类”,总之需要指定一个Package,如果要传输则需新建或指定一个Package(参见《创建Package》),后续还会弹出工作台级请求(Workbench request)进行保存。如果不想传输只是培训使用,可在开发类中采用本地对象$TEMP,点击“本地对象”按钮既可。系统开始执行创建条件表,执行完成显示日志如图 15所示。条件表创建完成,可以退出。
图 14创建对象对话框
图 15 生成日志
在前台可以通过TCODE:SE11查看表A801的表结构,如图 16所示,可以看到选择的五个字段均在主键(Key)中。由于前述操作的“有效期”、“带有审批状态”两个均为选择状态,所以主键中也包含了两个相关字段(批准状态 KFRST、条件记录有效截止日期 DATBI)。
图 16 SE11查看数据表A801
在完成801表后,再创建802、803表。