[Home] [Help]
PACKAGE BODY: APPS.AMS_BOM_PVT_W
Source
1 package body ams_bom_pvt_w as
2 /* $Header: amswbomb.pls 115.8 2002/11/11 22:07:05 abhola ship $ */
3 rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4 rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5
6 function rosetta_g_miss_num_map(n number) return number as
7 a number := fnd_api.g_miss_num;
8 b number := 0-1962.0724;
9 begin
10 if n=a then return b; end if;
11 if n=b then return a; end if;
12 return n;
13 end;
14
15 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16 function rosetta_g_miss_date_in_map(d date) return date as
17 begin
18 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19 return d;
20 end;
21
22 procedure ams_process_bom(p_api_version_number NUMBER
23 , p_init_msg_list VARCHAR2
24 , p_commit VARCHAR2
25 , p_validation_level NUMBER
26 , x_return_status OUT NOCOPY VARCHAR2
27 , x_msg_count OUT NOCOPY NUMBER
28 , x_msg_data OUT NOCOPY VARCHAR2
29 , p_last_update_date date
30 , p_last_update_by NUMBER
31 , p7_a0 NUMBER := 0-1962.0724
32 , p7_a1 NUMBER := 0-1962.0724
33 , p7_a2 VARCHAR2 := fnd_api.g_miss_char
34 , p7_a3 NUMBER := 0-1962.0724
35 , p7_a4 VARCHAR2 := fnd_api.g_miss_char
36 , p7_a5 VARCHAR2 := fnd_api.g_miss_char
37 , p8_a0 DATE := fnd_api.g_miss_date
38 , p8_a1 DATE := fnd_api.g_miss_date
39 , p8_a2 NUMBER := 0-1962.0724
40 , p8_a3 VARCHAR2 := fnd_api.g_miss_char
41 , p8_a4 NUMBER := 0-1962.0724
42 , p8_a5 NUMBER := 0-1962.0724
43 , p8_a6 NUMBER := 0-1962.0724
44 , p8_a7 NUMBER := 0-1962.0724
45 , p8_a8 VARCHAR2 := fnd_api.g_miss_char
46 )
47 as
48 ddp_bom_rec_type ams_bom_pvt.bom_rec_type;
49 ddp_bom_comp_rec_type ams_bom_pvt.bom_comp_rec_type;
50 ddp_last_update_date date;
51 ddindx binary_integer; indx binary_integer;
52 begin
53
54 -- copy data to the local IN or IN-OUT args, if any
55
56
57
58
59
60
61
62 ddp_bom_rec_type.inventory_item_id := rosetta_g_miss_num_map(p7_a0);
63 ddp_bom_rec_type.organization_id := rosetta_g_miss_num_map(p7_a1);
64 ddp_bom_rec_type.alternate_bom_code := p7_a2;
65 ddp_bom_rec_type.assembly_type := rosetta_g_miss_num_map(p7_a3);
66 ddp_bom_rec_type.transaction_type := p7_a4;
67 ddp_bom_rec_type.return_status := p7_a5;
68
69 ddp_bom_comp_rec_type.start_effective_date := rosetta_g_miss_date_in_map(p8_a0);
70 ddp_bom_comp_rec_type.disable_date := rosetta_g_miss_date_in_map(p8_a1);
71 ddp_bom_comp_rec_type.operation_sequence_number := rosetta_g_miss_num_map(p8_a2);
72 ddp_bom_comp_rec_type.component_item_name := p8_a3;
73 ddp_bom_comp_rec_type.component_item_id := rosetta_g_miss_num_map(p8_a4);
74 ddp_bom_comp_rec_type.item_sequence_number := rosetta_g_miss_num_map(p8_a5);
75 ddp_bom_comp_rec_type.quantity_per_assembly := rosetta_g_miss_num_map(p8_a6);
76 ddp_bom_comp_rec_type.quantity_related := rosetta_g_miss_num_map(p8_a7);
77 ddp_bom_comp_rec_type.return_status := p8_a8;
78
79 ddp_last_update_date := rosetta_g_miss_date_in_map(p_last_update_date);
80
81
82 -- here's the delegated call to the old PL/SQL routine
83 ams_bom_pvt.ams_process_bom(p_api_version_number,
84 p_init_msg_list,
85 p_commit,
86 p_validation_level,
87 x_return_status,
88 x_msg_count,
89 x_msg_data,
90 ddp_bom_rec_type,
91 ddp_bom_comp_rec_type,
92 ddp_last_update_date,
93 p_last_update_by);
94
95 -- copy data back from the local OUT or IN-OUT args, if any
96
97
98
99
100
101
102
103
104
105
106 end;
107
108 end ams_bom_pvt_w;