ABAP 使用函数获取替代(Substitution)值

函数:G_VSR_SUBSTITUTION_CALL

SAP FI里面有个叫替代(Substitution)的配置,事务码GGB1。主要的作用就是设置一些先决条件,如果先决条件满足,则在生成凭证的时候使用某个值去替换掉对应字段的值。

那么在ABAP写代码的时候如何根据先决条件去获取对应的值呢。

可以使用函数G_VSR_SUBSTITUTION_CALL。

函数下有很多的导入和导出参数。

这里需要的是:

Import:

CALLUP_POINT

SUBSTITUTION

TAB_DATA1

VALUSER

Export:

RESULT

SUB_DATA1

Tables:

TABNAMES

下面解释一下各个参数需要传的值。

Import里面的传值
CALLUP_POINT
SUBSTITUTION
VALUSER

打开GGB1,找到对应application下面的subsititution。然后你就能看到红色框框里面对应字段的信息。

Callup Point的值传给CALLUP_POINT

Subsititution的值传给SUBSTITUTION

Application Area的值传给VALUSER

这三个值传的是常量就行

TAB_DATA1

这个传的是一条数据,具体传那些值要看你在Prerequisite里面配置的条件需要哪些字段。

但是TAB_DATA1在函数里面没参考任何结构,但是我们传输数据是需要参考一个结构的,这个结构可以在Prerequisite里面找到,或者在创建step的时候你也可以看到。

最后一个需要传的参数是

Tables:
TABNAMES

这个就是传入前面说的PCASUB就可以。

以上就是所有的传入参数的传值。

所以调用函数的时候代码就像下面这样。

cpp 复制代码
      CALL FUNCTION 'G_VSR_SUBSTITUTION_CALL'
        EXPORTING
          callup_point = Callup Point
          substitution = Subsititution
          tab_data1    = PCASUB input
          valuser      = Application Area
        IMPORTING
          result       = result
          sub_data1    = PCASUB output
        TABLES
          tabnames     = internal table include table name
        EXCEPTIONS
          not_found    = 1
          OTHERS       = 2.

sub_data1 = PCASUB output 里面包含了返回的数据,也就是包含的Subsititution的值。

提前祝大家新年快乐!

相关推荐
2601_967987374 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
snpgroupcn3 天前
能源行业SAP系统升级的技术约束分析:资产数据连续性与切换窗口的工程处理(上篇)
架构·sap
Harrison Ben6 天前
(原创)SAP FI自动入账奥义:FBKP FBKA FBKF
运维·sap·sap fico·sap运维·sap 实施
xiao贱贱7 天前
SAP ABAP OPEN SQL(应用实战大全)
sap·abap·opensql
爱喝水的鱼丶10 天前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
snpgroupcn12 天前
SAP ECC → S/4HANA 迁移的工程化路径:范围建模、规则复用与短停机窗口切换
sap·sap实施商
yang9822614 天前
S4 CLOUD
sap
爱喝水的鱼丶17 天前
SAP-ABAP:S/4 HANA ABAP 新特性入门:与 ECC ABAP 的核心差异、架构优势与学习路径规划
运维·数据库·性能优化·sap·abap·hana·开发交流
wewowilling20 天前
AI大模型开发--01Python基础(无废话)
开发语言·python·函数
棉猴20 天前
玩游戏学Python5-函数
开发语言·python·函数·玩游戏·游戏编程