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