DBA Data[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;