在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/