读取主数据信息函数

如有转载请注明出处:http://blog.csdn.net/donkey2004112103/archive/2009/05/03/4145450.aspx

程序中经常会要根据客户或者供应商编号得到他们的描述信息,或者公司代码,分销渠道等等,都是要根据代码得到描述信息,如果在select语句中做内连接是可以做到,只是比较麻烦,不是很灵活。SAP中提供了很多读取这些信息的函数。总结下。

1.function group APAR_MASTER

这个函数组下面有四个函数,功能名称分别如下。

KNA1_READ_SINGLE :根据客户编码得到客户的信息

KNB1_READ_SINGLE:得到客户主数据 (公司代码)信息

LFA1_READ_SINGLE:根据供应商编码得到供应商信息

LFB1_READ_SINGLE:得到供应商主数据(公司代码)信息

函数赏析:

这个function group下的函数写的思路都一样,比较巧妙的地方是用了statics变量用来存储之前读过的5次记录,而且是队列的形式插入,保证最近查询记录会保存下来,从而提高命中率。这部分写的非常不错,摘录下来:

INSERT ES_KNA1 INTO ST_KNA1 INDEX 1.
      DESCRIBE TABLE ST_KNA1 LINES LD_BUFFER_LINES.
      IF LD_BUFFER_LINES GT GC_KNA1_MAX_LINES.
           DELETE ST_KNA1 INDEX LD_BUFFER_LINES.
      ENDIF.

以上这部分代码保证查询的结果先入先出,后入后出,提高查询命中率。

2.function group MG05

此函数组里包含很多function module,不过目前我用到的就是T001_SINGLE_READ。和上面的命名规则有点不同,不知道是sap故意还是不小心犯的错误,READ和SIGNLE单词顺序发生了变化。

T001_SINGLE_READ:根据公司代码得到公司信息

函数赏析:

同样用到了STATICS变量来保存查询结果,但是值保存了一条记录。不知道为什么SAP这个时候只保存一条记录,从哪方面考虑的。用了FEHLER(1)这样一个变量去记录是否有查询的结果存在。

3.function group MG46

此函数组下的几乎所有function都已SINGLE_READ结束,目前用过的函数如下。

TVKOT_SINGLE_READ:根据销售组织和语言代码得到销售组织的文本信息。

TVTWT_SINGLE_READ: 根据分销渠道代码和语言得到分销渠道的文本信息。

4. 总结

为了得到文本描述信息,可以在SE37中通过关键字搜索这些函数。还有一个更通用的方法以VKORG为例,在表VBRK中点击entry help/check,再双击进入VKORG的check table:TVKO。进入后选择Goto->文本表可以找到对应的主记录存在那张表里。如图:

image

再根据文本表去SE37中搜索就能很快找到你要的函数了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值