第1次读取不到的原因是with key 后面字段没有按排序字段顺序,matnr 字段放在werks 字段前面,修改字段顺序后成功读取。 另外,如果gt_matn内表字段过多时,需要binary search字段应放在前面,否则也可能读取不到,如果sy-subrc = 8 ,则是因为内表没有排序,如果sy-subrc = 4,则是因为根据条件没有找到值。
第1次读取不到的原因是with key 后面字段没有按排序字段顺序,matnr 字段放在werks 字段前面,修改字段顺序后成功读取。 另外,如果gt_matn内表字段过多时,需要binary search字段应放在前面,否则也可能读取不到,如果sy-subrc = 8 ,则是因为内表没有排序,如果sy-subrc = 4,则是因为根据条件没有找到值。