1.问题
查询前面有,图2的数据没有包在含图1的数据;
图1
图2
2. 解决方法
由于delete的数据放在循环内,放在循环外就可以.
"期初数量
IF itad-sobkz = 'K'.
READ TABLE itqc INTO itqc WITH KEY matnr = itad-matnr lgort = itad-lgort lifnr = itad-lifnr sobkz = itad-sobkz.
itad-qcsl = itqc-menge.
ELSE.
READ TABLE itqd INTO itqd WITH KEY matnr = itad-matnr lgort = itad-lgort .
itad-qcsl = itqd-menge.
ENDIF.
IF itad-sobkz = 'K'.
READ TABLE itqe INTO itqe WITH KEY matnr = itad-matnr lgort = itad-lgort lifnr = itad-lifnr sobkz = itad-sobkz.
itad-qmsl = itqe-menge.
ELSE.
READ TABLE itqf INTO itqf WITH KEY matnr = itad-matnr lgort = itad-lgort .
itad-qmsl = itqf-menge.
ENDIF.
SELECT SINGLE butxt INTO itad-butxt FROM t001 WHERE bukrs = itad-bukrs.
SELECT SINGLE maktx INTO itad-maktx FROM makt WHERE matnr = itad-matnr.
SELECT SINGLE lgobe INTO itad-lgobe FROM t001l WHERE lgort = itad-lgort.
SELECT SINGLE lgpbe INTO itad-lgpbe FROM mard WHERE matnr = itad-matnr and lgort = itad-lgort.
SELECT SINGLE name1 INTO itad-name1 FROM lfa1 WHERE lifnr = itad-lifnr.
MODIFY itad.
ENDLOOP .
DELETE itad WHERE qcsl = '' AND zycgsl = '' and jscgsl = '' AND zydbsl = ''AND jsdbsl = '' and zyctsl = '' AND jsctsl = ''AND " modify it by jingguilin20210330
zypssl = '' and jspssl = '' AND bmllsl = ''AND zydbcsl = '' and jsdbcsl = '' AND shllsl = ''and shllsl1 = '' AND yfllsl = ''AND yfllsl1 = ''
and jsshsl = '' AND zycjsl = ''and jscjsl = '' AND qmsl = ''.
3.总结
A: 以下改程序一定要写注释;
B: 然后以后调试程序,应该从结果往前面来一步一步调试;如果这个程序在正常使用;