ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 物料接口表测试

物料接口表测试

原创 Linux操作系统 作者:smilefish 时间:2019-02-23 20:06:05 0 删除 编辑

测试目的

通过接口表将主组织中的所有外购总成分配至库存组织BJ中,并对物料的打中小分类进行更新,从而验证通过接口表分配物料的快捷性和准确性。

 

数据准备

               1  通过以下sql语句查看主组织9WH中所有的外购总成,并且是库存组织BJ中没有的

                SELECT SEGMENT1,DESCRIPTION FROM MTL_SYSTEM_ITEMS_B
WHERE ITEM_TYPE=
'外购总成'
AND SEGMENT1 LIKE
'S%' 
AND ORGANIZATION_ID=
83

          AND SEGMENT1 NOT IN

          (

           SELECT SEGMENT1
FROM MTL_SYSTEM_ITEMS_B
WHERE
SEGMENT1 LIKE
'S%' 
AND ORGANIZATION_ID=
103 

          )

      161条记录

          2 新建物料模板BJF自制总成模板(路径:库存管理系统 设置->物料->模板),并选择组织为BJ,详细定义此模板的属性。

 

测试过程

     

1 将物料分配到BJ

 

(1)将物料插入到接口表中mtl_system_items_interface


insert into mtl_system_items_interface
(process_flag, set_process_id, transaction_type,organization_id,segment1,description,TEMPLATE_NAME)
SELECT
1,
1,
'CREATE',
103,
MSIB.SEGMENT1,
MSIB.DESCRIPTION,
’BJF自制总成模板_BJ’
FROM
MTL_SYSTEM_ITEMS_B MSIB
WHERE
MSIB.ORGANIZATION_ID=
84
AND MSIB.SEGMENT1 IN (

SELECT SEGMENT1,DESCRIPTION FROM MTL_SYSTEM_ITEMS_B
WHERE ITEM_TYPE=
'外购总成'
AND SEGMENT1 LIKE
'S%' 
AND ORGANIZATION_ID=
83
AND SEGMENT1 NOT IN
 (
SELECT SEGMENT1
FROM MTL_SYSTEM_ITEMS_B
WHERE
SEGMENT1 LIKE
'S%' 
AND ORGANIZATION_ID=
103
)

) 

(2)

COMMIT

 (3)转到ERP应用系统,运行请求,导入物料,路径:库存管理系统 物料->导入->导入物料  

  参数 所有组织:  其他默认 

(4)用以下sql语句查看是否分配成功,

 

   SELECT SEGMENT1
FROM MTL_SYSTEM_ITEMS_B
WHERE
SEGMENT1 LIKE
'S%' 
AND ORGANIZATION_ID=
103

     也可以用以下sql语句查看是否有记录在导入过程中卡住了,并查看错误消息,

   SELECT * FROM MTL_INTERFACE_ERRORS

 

结果:正常,161条记录被分配至BJ库存组织,并将BJF自制总成模板的属性应用到所有被分配的物料。

 

 

2         对分配到BJ库存中的物料的大中小分类进行更新,此时被分配的物料的默认的大中小分类是原材料.配套件.标准件

 

  (1)先删除大中小分类,通过以下sql语句插入接口表MTL_ITEM_CATEGORIES_INTERFACE

insert into MTL_ITEM_CATEGORIES_INTERFACE
(item_number,category_set_id, category_id,process_flag,  organization_id ,set_process_id, transaction_type)
SELECT
MSIB.SEGMENT1,
MIC.CATEGORY_SET_ID,
MIC.CATEGORY_ID,
'1',
'103',
'1',
'DELETE'
FROM
MTL_ITEM_CATEGORIES  MIC,
MTL_SYSTEM_ITEMS_B   MSIB,
MTL_CATEGORIES_V   MCV
WHERE
MIC.INVENTORY_ITEM_ID=MSIB.INVENTORY_ITEM_ID
AND MSIB.ORGANIZATION_ID=
103
AND MIC.ORGANIZATION_ID=
103
AND MIC.CATEGORY_ID=MCV.CATEGORY_ID
AND MSIB.SEGMENT1  IN

(

SELECT
MSIB.SEGMENT1

FROM
MTL_ITEM_CATEGORIES  MIC,
MTL_SYSTEM_ITEMS_B   MSIB,
MTL_CATEGORIES_V   MCV
WHERE
MIC.INVENTORY_ITEM_ID=MSIB.INVENTORY_ITEM_ID
AND MSIB.ORGANIZATION_ID=
103
AND MIC.ORGANIZATION_ID=
103
AND MIC.CATEGORY_ID=
142
AND  MCV.ENABLED_FLAG=
'Y'
AND MIC.CATEGORY_ID=MCV.CATEGORY_ID
AND MSIB.SEGMENT1 IN (SELECT SEGMENT1 FROM MTL_SYSTEM_ITEMS_B MSIB WHERE SEGMENT1 LIKE
'S%' AND ORGANIZATION_ID=103 AND SEGMENT1<>'S001')

)

(2) commit

 

(3) 转到ERP应用系统,运行请求: 物料类别分配开放接口,导入物料,路径:库存管理系统 物料->导入->物料类别分配开放接口

   参数 记录集标识:1  其他默认

 

(4)此时到BJ库存组织查看刚才分配的物料,其类别都已被清空.

(5)对被置空分类的物料按相同的大中小分类进行分组,分组后分别进行更新,此步比较麻烦。此处只对一个分组进行更新,以作测试,

38  5TA-B  S016

39  5TA-B  S028

40  5TA-B  S073

41  5TA-B  S078

42  5TA-B  S093

43  5TA-B  S094

44  5TA-B  S101

45  5TA-B  S1013

46  5TA-B  S1269

47  5TA-B  S1322

48  5TA-B  S1349

49  5TA-B  S1386

50  5TA-B  S173

51  5TA-B  S176

52  5TA-B  S208

53  5TA-B  S223

54  5TA-B  S224

55  5TA-B  S302

56  5TA-B  S333

57  5TA-B  S388

58  5TA-B  S389

59  5TA-B  S402

60  5TA-B  S429

61  5TA-B  S478

62  5TA-B  S500

63  5TA-B  S557

64  5TA-B  S568

65  5TA-B  S765

66  5TA-B  S904

67  5TA-B  S938

68  5TA-B+QC50 S258

69  5TA-B+QC65 S1167

70  5TA-B+QC65 S1230

71  5TA-B+QC65 S1460

72  5TA-B+QC65 S588

73  5TA-B+QC65 S781

74  5TA-B+QC65 S793

75  5TA-B+QC65 S870

76  5TA-B+QC65A   S072

77  5TA-B+QC65A   S306

78  5TA-B+QCZ50   S357

79  5TA-B+QL40A   S030

以上42个物料为相同的物料类别,都是产成品.自制总成.5TA-B,如果物料类别中没有此类别请先定义,路径:库存管理系统 设置->物料->类别->类别代码。

通过以下sql语句查看类别 产成品.自制总成.5TA-Bcategory_id,

SELECT CATEGORY_ID,DESCRIPTION FROM MTL_CATEGORIES WHERE DESCRIPTION=’产成品.自制总成.5TA-B’

查得结果为1087,插入记录到接口表MTL_ITEM_CATEGORIES_INTERFACE

insert into MTL_ITEM_CATEGORIES_INTERFACE
(item_number,category_set_id, category_id,process_flag,  organization_id ,set_process_id, transaction_type)
SELECT
MSIB.SEGMENT1,
'1',  --category_set_id  ALWAYS 1
'1087',  --category_id 
'1',
'103',
'1',
'CREATE'
FROM
MTL_SYSTEM_ITEMS_B   MSIB
WHERE
MSIB.ORGANIZATION_ID=
103
AND MSIB.SEGMENT1 in
(
'S016',
'S028',
'S073',
'S078',
'S093',
'S094',
'S101',
'S1013',
'S1269',
'S1322',
'S1349',
'S1386',
'S173',
'S176',
'S208',
'S223',
'S224',
'S302',
'S333',
'S388',
'S389',
'S402',
'S429',
'S478',
'S500',
'S557',
'S568',
'S765',
'S904',
'S938',
'S258',
'S1167',
'S1230',
'S1460',
'S588',
'S781',
'S793',
'S870',
'S072',
'S306',
'S357',
'S030'
)

(6)COMMIT;

(7) 转到ERP应用系统,运行请求: 物料类别分配开放接口,导入物料,路径:库存管理系统 物料->导入->物料类别分配开放接口

   参数 记录集标识:1  其他默认


(8)
通过应用或sql语句查看结果,

SELECT
MSIB.SEGMENT1,
MIC.CATEGORY_ID,
MCV.DESCRIPTION
FROM
MTL_ITEM_CATEGORIES  MIC,
MTL_SYSTEM_ITEMS_B   MSIB,
MTL_CATEGORIES_V   MCV
WHERE
MIC.INVENTORY_ITEM_ID=MSIB.INVENTORY_ITEM_ID
AND MSIB.ORGANIZATION_ID=
103
AND MIC.ORGANIZATION_ID=
103
AND  MCV.ENABLED_FLAG=
'Y'
AND MIC.CATEGORY_ID=MCV.CATEGORY_ID
AND MSIB.SEGMENT1 IN
(
'S016',
'S028',
'S073',
'S078',
'S093',
'S094',
'S101',
'S1013',
'S1269',
'S1322',
'S1349',
'S1386',
'S173',
'S176',
'S208',
'S223',
'S224',
'S302',
'S333',
'S388',
'S389',
'S402',
'S429',
'S478',
'S500',
'S557',
'S568',
'S765',
'S904',
'S938',
'S258',
'S1167',
'S1230',
'S1460',
'S588',
'S781',
'S793',
'S870',
'S072',
'S306',
'S357',
'S030'
)

结果如下:

  

SEGMENT1

CATEGORY_ID

DESCRIPTION

1

S016

1087

产成品.自制总成.5TA-B

2

S028

1087

产成品.自制总成.5TA-B

3

S030

1087

产成品.自制总成.5TA-B

4

S072

1087

产成品.自制总成.5TA-B

5

S073

1087

产成品.自制总成.5TA-B

6

S078

1087

产成品.自制总成.5TA-B

7

S093

1087

产成品.自制总成.5TA-B

8

S094

1087

产成品.自制总成.5TA-B

9

S101

1087

产成品.自制总成.5TA-B

10

S1013

1087

产成品.自制总成.5TA-B

11

S1167

1087

产成品.自制总成.5TA-B

12

S1230

1087

产成品.自制总成.5TA-B

13

S1269

1087

产成品.自制总成.5TA-B

14

S1322

1087

产成品.自制总成.5TA-B

15

S1349

1087

产成品.自制总成.5TA-B

16

S1386

1087

产成品.自制总成.5TA-B

17

S1460

1087

产成品.自制总成.5TA-B

18

S173

1087

产成品.自制总成.5TA-B

19

S176

1087

产成品.自制总成.5TA-B

20

S208

1087

产成品.自制总成.5TA-B

21

S223

1087

产成品.自制总成.5TA-B

22

S224

1087

产成品.自制总成.5TA-B

23

S258

1087

产成品.自制总成.5TA-B

24

S302

1087

产成品.自制总成.5TA-B

25

S306

1087

产成品.自制总成.5TA-B

26

S333

1087

产成品.自制总成.5TA-B

27

S357

1087

产成品.自制总成.5TA-B

28

S388

1087

产成品.自制总成.5TA-B

29

S389

1087

产成品.自制总成.5TA-B

30

S402

1087

产成品.自制总成.5TA-B

31

S429

1087

产成品.自制总成.5TA-B

32

S478

1087

产成品.自制总成.5TA-B

33

S500

1087

产成品.自制总成.5TA-B

34

S557

1087

产成品.自制总成.5TA-B

35

S568

1087

产成品.自制总成.5TA-B

36

S588

1087

产成品.自制总成.5TA-B

37

S765

1087

产成品.自制总成.5TA-B

38

S781

1087

产成品.自制总成.5TA-B

39

S793

1087

产成品.自制总成.5TA-B

40

S870

1087

产成品.自制总成.5TA-B

41

S904

1087

产成品.自制总成.5TA-B

42

S938

1087

产成品.自制总成.5TA-B

 

结果正确

 

 

 

 

 

总结

整个过程分两大步,第一将物料分配到子库存组织,第二步更改物料的类别。第一步相对简单,但要保证物料模板属性定义的正确;第二步比较耗时,需要对一个大类的物料进行到小类的分组,然后进行类别的删除和更新。主要的工作都在检查和控制,以确保准确和正确,真正的实现则比较简单,执行的时间也相当短。最重要的一点就是每一次每个过程从开始到结束,都要对记录和记录数进行比较和确认,如果发现不一致,须尽快核查原因,是sql语句问题或是有记录卡在接口表里等,从而保证数据前后的一致性。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/209689/viewspace-584313/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2004-12-31

  • 博文量
    20
  • 访问量
    14016