Field-symbols访问内表

本文详细介绍了在ABAP编程中如何使用fieldsymbol作为指针来引用和修改结构体中的数据,通过实例展示了如何读取和更新物料主数据内表中的信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23353800/viewspace-731652/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值