ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 读取主数据信息函数

读取主数据信息函数

原创 Linux操作系统 作者:hzq2010 时间:2011-06-11 16:40:45 0 删除 编辑

程序中经常会要根据客户或者供应商编号得到他们的描述信息,或者公司代码,分销渠道等等,都是要根据代码得到描述信息,如果在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->文本表可以找到对应的主记录存在那张表里。如图:

 

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

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/05/03/4145450.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/05/03/4145450.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/05/03/4145450.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/donkey2004112103/archive/2009/05/03/4145450.aspx

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23495244/viewspace-697680/,如需转载,请注明出处,否则将追究法律责任。

下一篇: abap number range
请登录后发表评论 登录
全部评论

注册时间:2010-03-11

  • 博文量
    196
  • 访问量
    168745