ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Field-symbols访问内表

Field-symbols访问内表

原创 Linux操作系统 作者:100113 时间:2012-06-01 14:07:24 0 删除 编辑

在ABAP里面,field symbol就相当于c语言的指针。如果你定义并且分配了相应的结构或者变量给它,其实它就指向这个结构或者变量的地址,如果修改了field symbol的值,则相应结构或者变量的值也随之更改。

分配结构中某个字段给指计,即可以是字段的ID也可以是字段的名字

ASSIGN COMPONENT idx  OF STRUCTURE struc TO .

ASSIGN COMPONENT name OF STRUCTURE struc TO .

 FIELD-SYMBOLS type STANDARD TABLE.  "物料主数据内表
  FIELD-SYMBOLS .                   "物料主数据工作区
  FIELD-SYMBOLS .                      "物料主数据字段名称
  data :tableName(20) type c,
       mtartName(20)  type c value 'MTART' ,
       vprsvName(20)  type c value 'VPRSV',
       fieldValue(20) type c ,
       rowIndex       type i.
  CONCATENATE gt_mata '[]' into tableName.

  ASSIGN (tableName) to .
 
  "循环读取所指向的内表,并把读取的结果分配给.
  loop at ASSIGNING .
     rowIndex = sy-tabix.
    
     "取出物料主数据中的物料分类
     ASSIGN COMPONENT mtartName of STRUCTURE to .
     "取同价格控制
     read table gt_t134 with key mtart = .
     if sy-subrc = 0.
        fieldValue = gt_t134-vprsv  .
        "取出物料主数据工作区中的价格控制。
       ASSIGN COMPONENT vprsvName OF STRUCTURE to .
       "
       = fieldValue.
     endif.
     "将修改后的结果保存到内表中。
     modify from index rowIndex.
  endloop.

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

上一篇: SAP ListBox的使用
请登录后发表评论 登录
全部评论

注册时间:2011-11-24

  • 博文量
    19
  • 访问量
    53349