前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IBASE read buffer

IBASE read buffer

作者头像
Jerry Wang
发布2019-07-15 10:49:42
6040
发布2019-07-15 10:49:42
举报

Created by Jerry Wang, last modified on Apr 22, 2014

Function group IB_CRM_API里定义了一个类型为int的全局变量handle, 其作用是作为一个指向internal read / write buffer的pointer。

clipboard1
clipboard1

write / read buffer定义在下列的function group里:

clipboard2
clipboard2
clipboard3
clipboard3
clipboard4
clipboard4

使用下列report 测试:

PARAMETERS: id TYPE ibib-ibase OBLIGATORY DEFAULT '13835'. DATA: ls_header      TYPE ibap_head1,       lt_struc_tab   TYPE ibap_struc1_tab,       ls_line        LIKE LINE OF lt_struc_tab,       ls_comp        TYPE ibap_dat1,       ls_comp_detail TYPE ibap_comp2. ls_header-ibase = id. CALL FUNCTION 'CRM_IBASE_GET_DETAIL'   EXPORTING     i_ibase_head      = ls_header   IMPORTING     e_struc_ibase_tab = lt_struc_tab   EXCEPTIONS     not_specified     = 1     doesnt_exist      = 2     no_authority      = 3. CHECK sy-subrc = 0. LOOP AT lt_struc_tab INTO ls_line.   WRITE: / 'Component ID: ' , ls_line-instance COLOR COL_NEGATIVE.   ls_comp-ibase = id.   ls_comp-instance = ls_line-instance.   CALL FUNCTION 'CRM_IBASE_COMP_GET_DETAIL'     EXPORTING       i_comp        = ls_comp     IMPORTING       e_comp_det    = ls_comp_detail     EXCEPTIONS       not_specified = 1       doesnt_exist  = 2       no_authority  = 3.   WRITE: / 'Component Description:' , ls_comp_detail-descr COLOR COL_POSITIVE. ENDLOOP.

UI上有一个root IBASE 13835,里面包含13836和13837两个IBASE component。

clipboard5
clipboard5

在使用CRM_IBASE_GET_DETAIL获取IBASE detail时,首先要获得一个handler,其value 为1:

clipboard6
clipboard6

首先去IBIBHANDLE_TAB buffer table里的write buffer IBIB_PROC_TAB 尝试读取指定的IBASE信息,

clipboard7
clipboard7

读取失败,再尝试read buffer,仍然失败:

clipboard8
clipboard8

最后从DB table IBIB取值,然后将读取出的信息写入read buffer:

clipboard9
clipboard9

对于读取IBASE hierarchy的逻辑同理:

clipboard10
clipboard10

采用buffer class读取instance信息:

clipboard11
clipboard11

双击c_wa-r_engine->struc->G_R_STRUC_BUF查看read buffer和write buffer:

clipboard12
clipboard12

可以发现在read scenario里read buffer被填充,而write buffer为空:

clipboard13
clipboard13
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Created by Jerry Wang, last modified on Apr 22, 2014
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档