在ABAP里面,field symbol就相当于c语言的指针。如果你定义并且分配了相应的结构或者变量给它,其实它就指向这个结构或者变量的地址,如果修改了field symbol的值,则相应结构或者变量的值也随之更改。
分配结构中某个字段给指计,即可以是字段的ID也可以是字段的名字
ASSIGN COMPONENT idx OF STRUCTURE struc TO .
ASSIGN COMPONENT name OF STRUCTURE struc TO .
FIELD-SYMBOLS
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
rowIndex = sy-tabix.
"取出物料主数据中的物料分类
ASSIGN COMPONENT mtartName of STRUCTURE
"取同价格控制
read table gt_t134 with key mtart =
if sy-subrc = 0.
fieldValue = gt_t134-vprsv .
"取出物料主数据工作区中的价格控制。
ASSIGN COMPONENT vprsvName OF STRUCTURE
"
endif.
"将修改后的结果保存到内表中。
modify
endloop.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23353800/viewspace-731652/ ,如需转载,请注明出处,否则将追究法律责任。