Topic: Help Me!!关于内表modify之后进行求和的问题

ERP俱乐部

第 1 页 总共 1 页 [共有 9 条记录]


Posted by 浪客 on 2008-06-24 03:32 下午
代码如下:
   MODIFY W_IT_LEVEL_EDIT FROM W_STR_LEVEL_EDIT
 TRANSPORTING RACCT TXT20 WHERE RACCT IS NOT INITIAL .
 

内表W_IT_LEVEL_EDIT 的数据如下:
   a1 b1 c1 d1 space space 1 2 3 4
   a1 b1 c1 d1 space space 2 3 4 5
   a1 b1 c1 d1 space space 1 2 3 4

要求:不用loop。。。endloop的方法进行求和。得到的结果是:
   a1 b1 c1 d1 space space 4 7 10 13

那位高手有批处理的方法!!!!!!!教教偶吧!!!!!

在线等待。。。。。。。。。。。。。。。。。。

Posted by qhjn on 2008-06-24 04:08 下午
用COLLECT命令应该可以实现。

Posted by 浪客 on 2008-06-24 04:12 下午
恩。用COLLECT命令可以实现。但是用它的时候是不是还要在LOOP。。。。ENDLOOP下进行?
如果不在LOOP。。。。ENDLOOP下进行话还有其他办法吗?
不想再LOOP。。。。ENDLOOP下处理的目的是为了提高处理速度。

Posted by qhjn on 2008-06-24 04:43 下午
TYPES:BEGIN OF TYP_DATA,
FIELD1(2) TYPE C,
FIELD2(2) TYPE C,
FIELD3(2) TYPE C,
FIELD4(2) TYPE C,
FIELD5(2) TYPE C,
FIELD6(2) TYPE C,
FIELD7 TYPE I,
FIELD8 TYPE I,
FIELD9 TYPE I,
FIELD10 TYPE I,
END OF TYP_DATA.
DATA:IT_DATA TYPE TABLE OF TYP_DATA,
IT_SUM TYPE TABLE OF TYP_DATA.
DATA:WA_DATA LIKE LINE OF IT_DATA.

CLEAR:WA_DATA.
WA_DATA-FIELD1 = 'a1'.
WA_DATA-FIELD2 = 'b1'.
WA_DATA-FIELD3 = 'c1'.
WA_DATA-FIELD4 = 'd1'.
WA_DATA-FIELD5 = ''.
WA_DATA-FIELD6 = ''.
WA_DATA-FIELD7 = '1'.
WA_DATA-FIELD8 = '2'.
WA_DATA-FIELD9 = '3'.
WA_DATA-FIELD10 = '4'.
APPEND WA_DATA TO IT_DATA.

CLEAR:WA_DATA.
WA_DATA-FIELD1 = 'a1'.
WA_DATA-FIELD2 = 'b1'.
WA_DATA-FIELD3 = 'c1'.
WA_DATA-FIELD4 = 'd1'.
WA_DATA-FIELD5 = ''.
WA_DATA-FIELD6 = ''.
WA_DATA-FIELD7 = '2'.
WA_DATA-FIELD8 = '3'.
WA_DATA-FIELD9 = '4'.
WA_DATA-FIELD10 = '5'.
APPEND WA_DATA TO IT_DATA.

CLEAR:WA_DATA.
WA_DATA-FIELD1 = 'a1'.
WA_DATA-FIELD2 = 'b1'.
WA_DATA-FIELD3 = 'c1'.
WA_DATA-FIELD4 = 'd1'.
WA_DATA-FIELD5 = ''.
WA_DATA-FIELD6 = ''.
WA_DATA-FIELD7 = '1'.
WA_DATA-FIELD8 = '2'.
WA_DATA-FIELD9 = '3'.
WA_DATA-FIELD10 = '4'.
APPEND WA_DATA TO IT_DATA.

CLEAR:WA_DATA.
READ TABLE IT_DATA INTO WA_DATA INDEX 1.
COLLECT WA_DATA INTO IT_SUM.

CLEAR:WA_DATA.
READ TABLE IT_DATA INTO WA_DATA INDEX 2.
COLLECT WA_DATA INTO IT_SUM.

CLEAR:WA_DATA.
READ TABLE IT_DATA INTO WA_DATA INDEX 3.
COLLECT WA_DATA INTO IT_SUM.

CLEAR:WA_DATA.
READ TABLE IT_SUM INTO WA_DATA INDEX 1.
WRITE: WA_DATA-FIELD7,WA_DATA-FIELD8,WA_DATA-FIELD9,WA_DATA-FIELD10.

Posted by 浪客 on 2008-06-24 05:04 下午
谢谢楼上的解答。
假如说那个内表的数据有很多的时候是不是只能用LOOP。。。。ENDLOOP?
有点钻牛角尖的感觉。希望能给与指点。

Posted by qhjn on 2008-06-24 05:09 下午
明白你的意思,正在思考中.............

Posted by 浪客 on 2008-06-25 04:53 下午
楼上的高手!!!找到解决办法了吗?我也想了很多。结果还是用collect处理了。虽然有点不甘心。

Posted by 浪客 on 2008-07-03 05:01 下午
Crying  没有人回答我吗?

Posted by xiebinren on 2008-07-04 02:52 下午
COLLECT