[Home] [Help]
PACKAGE BODY: APPS.INV_ABC_ASSIGNMENTS_PUB
Source
1 PACKAGE BODY INV_ABC_Assignments_Pub AS
2 /* $Header: INVPAASB.pls 120.0.12020000.1 2013/02/14 14:51:31 ksaripal noship $ */
3
4
5 g_pkg_name CONSTANT VARCHAR2(30) := 'INV_ABC_Assignments_Pub';
6
7 PROCEDURE Mydebug(msg IN VARCHAR2)
8 IS
9 BEGIN
10 inv_log_util.Trace(msg, g_pkg_name, 9);
11 --Dbms_Output.put_line(msg);
12 END mydebug;
13
14
15 -- API name Create_abc_assignments
16 -- Type Public
17 -- Function
18 --
19 -- Pre-reqs
20 --
21 -- Parameters
22 --
23 -- Version Current version = 1.0
24 -- Initial version = 1.0
25 --
26 -- Notes
27 --
28
29 /*# Procedure - Create_abc_assignments
30 * This procedure calls the private API for validating and inserting/updating
31 * the abc assignments based on the input value of record type
32 * p_abc_assignments_rec having inventory_item_id, assignment_group_id, abc_class_id
33 * @param p_api_version_number API Version of this procedure. Current version is 1.0
34 * @param p_init_msg_list Indicates whether message stack is to be initialized
35 * @param p_abc_assignments_rec ABC Assignment record identifier to be processed to
36 * either insert or update
37 * @param x_msg_data return variable holding the error message
38 * @param x_msg_count return variable holding the number of error messages returned
39 * @param x_return_status return variable holding the status of the procedure call
40 */
41
42 PROCEDURE Create_abc_assignments (p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
43 p_commit IN VARCHAR2 := fnd_api.g_false,
44 p_api_version_number IN NUMBER := 1.0,
45 x_return_status OUT nocopy VARCHAR2,
46 x_msg_count OUT nocopy NUMBER,
47 x_msg_data OUT nocopy VARCHAR2,
48 p_abc_assignments_rec IN ABC_ASSIGNMENTS_REC_TYPE :=
49 g_miss_assignments_rec_type)
50
51 IS
52 l_api_version_number CONSTANT NUMBER := 1.0;
53 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_ABC_ASSIGNMENTS';
54
55 l_debug NUMBER := Nvl(fnd_profile.Value('INV_DEBUG_TRACE'), 0);
56
57 l_item_id mtl_abc_assignments.inventory_item_id%TYPE;
58 l_assignment_group_id mtl_abc_assignments.assignment_group_id%TYPE;
59 l_abc_class_id mtl_abc_assignments.abc_class_id%TYPE;
60
61 l_abc_assignments_rec inv_abc_assignments_pub.abc_assignments_rec_type :=
62 inv_abc_assignments_pub.g_miss_assignments_rec_type;
63
64 l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
65 l_msg_data VARCHAR2(32767);
66 l_msg_count NUMBER := NULL;
67
68 BEGIN
69
70 -- Standard call to check for call compatibility
71
72 IF NOT FND_API.Compatible_API_Call
73 ( l_api_version_number
74 , p_api_version_number
75 , l_api_name
76 , G_PKG_NAME
77 )
78 THEN
79 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
80 END IF;
81
82 l_abc_assignments_rec := p_abc_assignments_rec;
83 l_item_id := p_abc_assignments_rec.inventory_item_id;
84 l_abc_class_id := p_abc_assignments_rec.abc_class_id;
85 l_assignment_group_id := p_abc_assignments_rec.assignment_group_id;
86
87 IF ( l_debug = 1 ) THEN
88 Mydebug(l_api_name ||' : Item id :' ||l_item_id);
89 Mydebug(l_api_name ||' : ABC Group id :' ||l_assignment_group_id);
90 Mydebug(l_api_name ||' : ABC Class id :' ||l_abc_class_id);
91 END IF;
92
93 inv_abc_assignments_pvt.Create_abc_assignments
94 ( p_api_version_number => l_api_version_number
95 , p_init_msg_list => p_init_msg_list
96 , p_commit => p_commit
97 , p_assignment_group_id => l_assignment_group_id
98 , p_inventory_item_id => l_item_id
99 , p_abc_class_id => l_abc_class_id
100 , x_return_status => l_return_status
101 , x_msg_count => l_msg_count
102 , x_msg_data => l_msg_data );
103
104
105 IF fnd_api.To_boolean(p_commit) THEN
106 COMMIT WORK;
107 END IF;
108
109 FND_MSG_PUB.Count_And_Get
110 ( p_count => x_msg_count
111 , p_data => x_msg_data
112 , p_encoded => FND_API.G_FALSE
113 );
114 X_MSG_DATA := FND_MSG_PUB.GET(X_MSG_COUNT, 'F');
115
116 EXCEPTION
117
118 WHEN OTHERS THEN
119 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
120 THEN
121 FND_MSG_PUB.Add_Exc_Msg
122 ( G_PKG_NAME
123 , 'Create_abc_assignments'
124 );
125 END IF;
126 -- Get message count and data
127 FND_MSG_PUB.Count_And_Get
128 ( p_count => x_msg_count
129 , p_data => x_msg_data
130 , p_encoded => FND_API.G_FALSE
131 );
132 X_MSG_DATA := FND_MSG_PUB.GET(X_MSG_COUNT, 'F');
133
134 END create_abc_assignments;
135
136 END INV_ABC_Assignments_PUB;