前言
通常情况在做开发的过程中,经常需要使用到一些选择条件,有时候会通过代码写死一些条件,比如某个公司代码固定为XXXX的时候会处理某个逻辑,工厂为XXXX的时候会禁止做一些操作等等类似的条件限制,如果这种选择条件全部使用硬编码,那么后续如果条件变化会比较麻烦,要改代码进行传输,所以通常情况我们都会建对应的自建表来进行维护,但其实也可以不创建自建表,SAP本身提供了一个标准事务用来维护选择条件,那就是TCODE:STVARV。
维护方式
关于TVARVC的维护,SAP有相应的note进行说明:
1994216 - 如何在表 TVARVC 中维护变式变量 - SAP for Me
这里使用一个简单的例子来说明STVARV的维护方式。
TCODE:STVARV
点击左上角创建按钮,即可创建自定义的选择条件,可以看到有“参数”和“选择选项”两个页签,对应着我们平时使用的单值PARAMETERS和多值SELECT-OPTIONS,上面的勾选项则是可以将变更的内容保存到请求中去(属于特定于client的定制请求,前提是SCC4的配置是记录请求变更)。
这里为了测试,我维护了两种类型的条件内容:
对应底表为:TVARVC
使用用途1
为选择屏幕所使用
当“选择变量”这一列为T时,后面变量名称就可以自动根据“类型”来获取维护的变量信息,保存后选中该变式,就可以看到屏幕的选择条件自动被我们维护的值替换。
这样的好处是,比如当我们以后台job运行时,我们需要改变一些选择条件时,不需要改代码,也不需要重新保存变式,使用事务代码STVARV变更一下维护的条件内容即可生效。
使用用途2
使用的比较多的场景,还是在一些代码处理逻辑中会用到,或者限制一些增强仅对某某公司代码生效,诸如此类的条件限制,也不用单独建自建表去维护,直接前台维护好,使用sql语句从底表中根据变量名称获取到对应的条件即可。
比如这里判定只有公司代码等于维护的值时,才输出公司代码,否则输出不匹配。
以上。