自建表和从系统外导入数据需要注意的问题
1、自建表中建立文本类型的字段(自己创建domain)时,需要注意是否允许字段可以保留文本的大小写状态,
否则默认会全部转换为大写字母。
2、 对于各种凭证编码字段,如:物料凭证mblnr,kunnr,lifnr,belnr,在导入数据到自建表中时,
一定要注意前导0的补充问题,否则导入的 数据可能没有前导0,
补充前导0的函数为CONVERSION_EXIT_ALPHA_INPUT,另外,在建立自建表时,
否则默认会全部转换为大写字母。
2、 对于各种凭证编码字段,如:物料凭证mblnr,kunnr,lifnr,belnr,在导入数据到自建表中时,
一定要注意前导0的补充问题,否则导入的 数据可能没有前导0,
补充前导0的函数为CONVERSION_EXIT_ALPHA_INPUT,另外,在建立自建表时,
将该字段对应的domain的 Convers. routine:设置为ALPHA。
1 SELECT OBJECTID AS KUNNR
2 FROM CDHDR
3 INTO TABLE TAB_KUNNR
4 WHERE UDATE IN S_DATE
5 AND OBJECTCLAS = CNS_DEBI.
6
7 IF SY-SUBRC <> 0.
8 RETURN.
9 ENDIF.
10
11 SORT TAB_KUNNR BY KUNNR ASCENDING.
12 DELETE ADJACENT DUPLICATES FROM TAB_KUNNR."(有必要的有效率)
13
14 SELECT KUNNR
15 VKBUR
16 KVGR3
17 KVGR4
18 FROM KNVV
19 INTO TABLE TAB_KNVV
20 FOR ALL ENTRIES IN TAB_KUNNR
21 WHERE KUNNR = TAB_KUNNR-KUNNR
22 AND VKORG IN S_VKORG
23 AND VTWEG IN S_VTWEG
24 AND SPART IN S_SPART. "製品部門
25
26 LOOP AT TAB_KUNNR INTO L_REC_KUNNR.
27 READ TABLE TAB_KNVV INTO L_REC_KNVV
28 WITH KEY KUNNR = L_REC_KUNNR-KUNNR
29 BINARY SEARCH.
30 IF SY-SUBRC <> 0."(有不成功的时候就是有header而没有ITEMS.)
31 G_FLG_ERR = CNS_FLG_ON.
32 EXIT.
33 ENDIF.
2 FROM CDHDR
3 INTO TABLE TAB_KUNNR
4 WHERE UDATE IN S_DATE
5 AND OBJECTCLAS = CNS_DEBI.
6
7 IF SY-SUBRC <> 0.
8 RETURN.
9 ENDIF.
10
11 SORT TAB_KUNNR BY KUNNR ASCENDING.
12 DELETE ADJACENT DUPLICATES FROM TAB_KUNNR."(有必要的有效率)
13
14 SELECT KUNNR
15 VKBUR
16 KVGR3
17 KVGR4
18 FROM KNVV
19 INTO TABLE TAB_KNVV
20 FOR ALL ENTRIES IN TAB_KUNNR
21 WHERE KUNNR = TAB_KUNNR-KUNNR
22 AND VKORG IN S_VKORG
23 AND VTWEG IN S_VTWEG
24 AND SPART IN S_SPART. "製品部門
25
26 LOOP AT TAB_KUNNR INTO L_REC_KUNNR.
27 READ TABLE TAB_KNVV INTO L_REC_KNVV
28 WITH KEY KUNNR = L_REC_KUNNR-KUNNR
29 BINARY SEARCH.
30 IF SY-SUBRC <> 0."(有不成功的时候就是有header而没有ITEMS.)
31 G_FLG_ERR = CNS_FLG_ON.
32 EXIT.
33 ENDIF.
34 endloop