DBA Data[Home] [Help]

PACKAGE BODY: APPS.MTL_CYCLE_COUNT_ITEMS_PKG

Source


1 PACKAGE BODY MTL_CYCLE_COUNT_ITEMS_PKG as
2 /* $Header: INVADC2B.pls 120.1 2005/06/19 01:01:08 appldev  $ */
3 --Added NOCOPY hint to X_Rowid to comply with GSCC File.Sql.39
4 --standard Bug:4410902
5   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY  VARCHAR2,
6                        X_Cycle_Count_Header_Id                  NUMBER,
7                        X_Inventory_Item_Id                      NUMBER,
8                        X_Last_Update_Date                       DATE,
9                        X_Last_Updated_By                        NUMBER,
10                        X_Creation_Date                          DATE,
11                        X_Created_By                             NUMBER,
12                        X_Last_Update_Login                      NUMBER,
13                        X_Abc_Class_Id                           NUMBER,
14                        X_Item_Last_Schedule_Date                DATE,
15                        X_Schedule_Order                         NUMBER,
16                        X_Approval_Tolerance_Positive            NUMBER,
17                        X_Approval_Tolerance_Negative            NUMBER,
18                        X_Control_Group_Flag                     NUMBER
19   ) IS
20     CURSOR C IS SELECT rowid FROM mtl_cycle_count_items
21                  WHERE cycle_count_header_id = X_Cycle_Count_Header_Id;
22 
23    BEGIN
24        INSERT INTO mtl_cycle_count_items(
25               cycle_count_header_id,
26               inventory_item_id,
27               last_update_date,
28               last_updated_by,
29               creation_date,
30               created_by,
31               last_update_login,
32               abc_class_id,
33               item_last_schedule_date,
34               schedule_order,
35               approval_tolerance_positive,
36               approval_tolerance_negative,
37               control_group_flag
38              ) VALUES (
39               X_Cycle_Count_Header_Id,
40               X_Inventory_Item_Id,
41               X_Last_Update_Date,
42               X_Last_Updated_By,
43               X_Creation_Date,
44               X_Created_By,
45               X_Last_Update_Login,
46               X_Abc_Class_Id,
47               X_Item_Last_Schedule_Date,
48               X_Schedule_Order,
49               X_Approval_Tolerance_Positive,
50               X_Approval_Tolerance_Negative,
51               X_Control_Group_Flag
52              );
53 
54     OPEN C;
55     FETCH C INTO X_Rowid;
56     if (C%NOTFOUND) then
57       CLOSE C;
58       Raise NO_DATA_FOUND;
59     end if;
60     CLOSE C;
61   END Insert_Row;
62 
63 
64   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
65                      X_Cycle_Count_Header_Id            NUMBER,
66                      X_Inventory_Item_Id                NUMBER,
67                      X_Abc_Class_Id                     NUMBER,
68                      X_Item_Last_Schedule_Date          DATE,
69                      X_Schedule_Order                   NUMBER,
70                      X_Approval_Tolerance_Positive      NUMBER,
71                      X_Approval_Tolerance_Negative      NUMBER,
72                      X_Control_Group_Flag               NUMBER
73   ) IS
74     CURSOR C IS
75         SELECT *
76         FROM   mtl_cycle_count_items
77         WHERE  rowid = X_Rowid
78         FOR UPDATE of Cycle_Count_Header_Id NOWAIT;
79     Recinfo C%ROWTYPE;
80 
81   BEGIN
82     OPEN C;
83     FETCH C INTO Recinfo;
84     if (C%NOTFOUND) then
85       CLOSE C;
86       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
87       APP_EXCEPTION.Raise_Exception;
88     end if;
89     CLOSE C;
90     if (
91                (Recinfo.cycle_count_header_id =  X_Cycle_Count_Header_Id)
92            AND (Recinfo.inventory_item_id =  X_Inventory_Item_Id)
93            AND (Recinfo.abc_class_id =  X_Abc_Class_Id)
94            AND (   (Recinfo.item_last_schedule_date =  X_Item_Last_Schedule_Date)
95                 OR (    (Recinfo.item_last_schedule_date IS NULL)
96                     AND (X_Item_Last_Schedule_Date IS NULL)))
97            AND (   (Recinfo.schedule_order =  X_Schedule_Order)
98                 OR (    (Recinfo.schedule_order IS NULL)
99                     AND (X_Schedule_Order IS NULL)))
100            AND (   (Recinfo.approval_tolerance_positive =  X_Approval_Tolerance_Positive)
101                 OR (    (Recinfo.approval_tolerance_positive IS NULL)
102                     AND (X_Approval_Tolerance_Positive IS NULL)))
103            AND (   (Recinfo.approval_tolerance_negative =  X_Approval_Tolerance_Negative)
104                 OR (    (Recinfo.approval_tolerance_negative IS NULL)
105                     AND (X_Approval_Tolerance_Negative IS NULL)))
106            AND (   (Recinfo.control_group_flag =  X_Control_Group_Flag)
107                 OR (    (Recinfo.control_group_flag IS NULL)
108                     AND (X_Control_Group_Flag IS NULL)))
109       ) then
110       return;
111     else
112       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
113       APP_EXCEPTION.Raise_Exception;
114     end if;
115   END Lock_Row;
116 
117 
118 
119   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
120                        X_Cycle_Count_Header_Id          NUMBER,
121                        X_Inventory_Item_Id              NUMBER,
122                        X_Last_Update_Date               DATE,
123                        X_Last_Updated_By                NUMBER,
124                        X_Last_Update_Login              NUMBER,
125                        X_Abc_Class_Id                   NUMBER,
126                        X_Item_Last_Schedule_Date        DATE,
127                        X_Schedule_Order                 NUMBER,
128                        X_Approval_Tolerance_Positive    NUMBER,
129                        X_Approval_Tolerance_Negative    NUMBER,
130                        X_Control_Group_Flag             NUMBER
131   ) IS
132   BEGIN
133     UPDATE mtl_cycle_count_items
134     SET
135        cycle_count_header_id           =     X_Cycle_Count_Header_Id,
136        inventory_item_id               =     X_Inventory_Item_Id,
137        last_update_date                =     X_Last_Update_Date,
138        last_updated_by                 =     X_Last_Updated_By,
139        last_update_login               =     X_Last_Update_Login,
140        abc_class_id                    =     X_Abc_Class_Id,
141        item_last_schedule_date         =     X_Item_Last_Schedule_Date,
142        schedule_order                  =     X_Schedule_Order,
143        approval_tolerance_positive     =     X_Approval_Tolerance_Positive,
144        approval_tolerance_negative     =     X_Approval_Tolerance_Negative,
145        control_group_flag              =     X_Control_Group_Flag
146     WHERE rowid = X_Rowid;
147 
148     if (SQL%NOTFOUND) then
149       Raise NO_DATA_FOUND;
150     end if;
151   END Update_Row;
152   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
153   BEGIN
154     DELETE FROM mtl_cycle_count_items
155     WHERE rowid = X_Rowid;
156 
157     if (SQL%NOTFOUND) then
158       Raise NO_DATA_FOUND;
159     end if;
160   END Delete_Row;
161 
162 
163 END MTL_CYCLE_COUNT_ITEMS_PKG;