1 PACKAGE BODY MTL_CROSS_REFERENCES_PUB AS
2 /* $Header: INVPXRFB.pls 120.6 2011/06/22 23:48:34 akbharga noship $ */
3
4 PROCEDURE Process_XRef(
5 p_api_version IN NUMBER,
6 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
7 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
8 p_XRef_Tbl IN OUT NOCOPY MTL_CROSS_REFERENCES_PUB.XRef_Tbl_Type,
9 x_return_status OUT NOCOPY VARCHAR2,
10 x_msg_count OUT NOCOPY NUMBER,
11 x_message_list OUT NOCOPY Error_Handler.Error_Tbl_Type) IS
12
13 l_Pub_XRef_Tbl MTL_CROSS_REFERENCES_PUB.XRef_Tbl_Type;
14 l_Pub_XRef_Rec MTL_CROSS_REFERENCES_PUB.XRef_Rec_Type;
15 g_Upd_Null_CHAR CONSTANT VARCHAR2(1) := '!';
16 g_Upd_Null_NUM CONSTANT NUMBER := -999999;
17
18 BEGIN
19
20 -- Save point for MTL_CROSS_REFERENCES_PUB
21 SAVEPOINT MTL_CROSS_REFERENCES_PUB;
22
23 -- Initialize message list
24 IF FND_API.To_Boolean (p_init_msg_list) THEN
25 Error_Handler.Initialize;
26 END IF;
27
28 -- Set business object identifier in the System Information record
29 Error_Handler.Set_BO_Identifier ( p_bo_identifier => G_BO_Identifier );
30
31 l_Pub_XRef_Tbl := p_XRef_Tbl;
32
33
34 FOR l_Pub_Xref_Indx IN p_XRef_Tbl.FIRST..p_XRef_Tbl.Last LOOP
35
36 l_Pub_XRef_Rec := l_Pub_XRef_Tbl(l_Pub_Xref_Indx);
37
38 IF(l_Pub_XRef_Rec.Transaction_Type = 'UPDATE') THEN
39
40
41 IF(l_Pub_XRef_Rec.Inventory_Item_Id IS null) THEN
42 l_Pub_XRef_Rec.Inventory_Item_Id := g_Upd_Null_NUM;
43 END IF;
44
45 IF(l_Pub_XRef_Rec.Organization_Id IS null) THEN
46 l_Pub_XRef_Rec.Organization_Id := g_Upd_Null_NUM;
47 END IF;
48
49 IF(l_Pub_XRef_Rec.Cross_Reference_Type IS null) THEN
50 l_Pub_XRef_Rec.Cross_Reference_Type := g_Upd_Null_CHAR;
51 END IF;
52
53 IF(l_Pub_XRef_Rec.Cross_Reference IS null) THEN
54 l_Pub_XRef_Rec.Cross_Reference := g_Upd_Null_CHAR;
55 END IF;
56
57 IF(l_Pub_XRef_Rec.Description IS null) THEN
58 l_Pub_XRef_Rec.Description := g_Upd_Null_CHAR;
59
60 END IF;
61
62 IF(l_Pub_XRef_Rec.Org_Independent_Flag IS null) THEN
63 l_Pub_XRef_Rec.Org_Independent_Flag := g_Upd_Null_CHAR;
64 END IF;
65
66 IF(l_Pub_XRef_Rec.Attribute1 IS null) THEN
67 l_Pub_XRef_Rec.Attribute1 := g_Upd_Null_CHAR;
68 END IF;
69
70 IF(l_Pub_XRef_Rec.Attribute2 IS null) THEN
71 l_Pub_XRef_Rec.Attribute2 := g_Upd_Null_CHAR;
72 END IF;
73
74 IF(l_Pub_XRef_Rec.Attribute3 IS null) THEN
75 l_Pub_XRef_Rec.Attribute3 := g_Upd_Null_CHAR;
76 END IF;
77
78 IF(l_Pub_XRef_Rec.Attribute4 IS null) THEN
79 l_Pub_XRef_Rec.Attribute4 := g_Upd_Null_CHAR;
80 END IF;
81
82 IF(l_Pub_XRef_Rec.Attribute5 IS null) THEN
83 l_Pub_XRef_Rec.Attribute5 := g_Upd_Null_CHAR;
84 END IF;
85
86 IF(l_Pub_XRef_Rec.Attribute6 IS null) THEN
87 l_Pub_XRef_Rec.Attribute6 := g_Upd_Null_CHAR;
88 END IF;
89
90 IF(l_Pub_XRef_Rec.Attribute7 IS null) THEN
91 l_Pub_XRef_Rec.Attribute7 := g_Upd_Null_CHAR;
92 END IF;
93
94 IF(l_Pub_XRef_Rec.Attribute7 IS null) THEN
95 l_Pub_XRef_Rec.Attribute7 := g_Upd_Null_CHAR;
96 END IF;
97
98 IF(l_Pub_XRef_Rec.Attribute7 IS null) THEN
99 l_Pub_XRef_Rec.Attribute7 := g_Upd_Null_CHAR;
100 END IF;
101
102 IF(l_Pub_XRef_Rec.Attribute7 IS null) THEN
103 l_Pub_XRef_Rec.Attribute7 := g_Upd_Null_CHAR;
104 END IF;
105
106 IF(l_Pub_XRef_Rec.Attribute7 IS null) THEN
107 l_Pub_XRef_Rec.Attribute7 := g_Upd_Null_CHAR;
108 END IF;
109
110 IF(l_Pub_XRef_Rec.Attribute7 IS null) THEN
111 l_Pub_XRef_Rec.Attribute7 := g_Upd_Null_CHAR;
112 END IF;
113
114 IF(l_Pub_XRef_Rec.Attribute7 IS null) THEN
115 l_Pub_XRef_Rec.Attribute7 := g_Upd_Null_CHAR;
116 END IF;
117
118 IF(l_Pub_XRef_Rec.Attribute8 IS null) THEN
119 l_Pub_XRef_Rec.Attribute8 := g_Upd_Null_CHAR;
120 END IF;
121
122 IF(l_Pub_XRef_Rec.Attribute9 IS null) THEN
123 l_Pub_XRef_Rec.Attribute9 := g_Upd_Null_CHAR;
124 END IF;
125
126 IF(l_Pub_XRef_Rec.Attribute10 IS null) THEN
127 l_Pub_XRef_Rec.Attribute10 := g_Upd_Null_CHAR;
128 END IF;
129
130 IF(l_Pub_XRef_Rec.Attribute11 IS null) THEN
131 l_Pub_XRef_Rec.Attribute11 := g_Upd_Null_CHAR;
132 END IF;
133
134 IF(l_Pub_XRef_Rec.Attribute12 IS null) THEN
135 l_Pub_XRef_Rec.Attribute12 := g_Upd_Null_CHAR;
136 END IF;
137
138 IF(l_Pub_XRef_Rec.Attribute13 IS null) THEN
139 l_Pub_XRef_Rec.Attribute13 := g_Upd_Null_CHAR;
140 END IF;
141
142 IF(l_Pub_XRef_Rec.Attribute14 IS null) THEN
143 l_Pub_XRef_Rec.Attribute14 := g_Upd_Null_CHAR;
144 END IF;
145
146
147 IF(l_Pub_XRef_Rec.Attribute15 IS null) THEN
148 l_Pub_XRef_Rec.Attribute15 := g_Upd_Null_CHAR;
149 END IF;
150
151
152 IF(l_Pub_XRef_Rec.Attribute_category IS null) THEN
153 l_Pub_XRef_Rec.Attribute_category:= g_Upd_Null_CHAR;
154 END IF;
155
156
157 IF(l_Pub_XRef_Rec.Uom_Code IS null) THEN
158 l_Pub_XRef_Rec.Uom_Code := g_Upd_Null_CHAR;
159 END IF;
160
161
162 IF(l_Pub_XRef_Rec.Revision_Id IS null) THEN
163 l_Pub_XRef_Rec.Revision_Id := g_Upd_Null_NUM;
164 END IF;
165
166 IF(l_Pub_XRef_Rec.EPC_Gtin_Serial IS null) THEN
167 l_Pub_XRef_Rec.EPC_Gtin_Serial := g_Upd_Null_NUM;
168 END IF;
169
170 END IF;
171
172 l_Pub_XRef_Tbl(l_Pub_Xref_Indx) := l_Pub_XRef_Rec;
173
174 END LOOP;
175
176
177
178 p_XRef_Tbl:=l_Pub_XRef_Tbl;
179
180 -- Calling Private API to process XRef table
181 MTL_CROSS_REFERENCES_PVT.Process_Xref
182 (
183 p_init_msg_list => p_init_msg_list,
184 p_commit => p_commit,
185 p_XRef_Tbl => p_XRef_tbl,
186 x_return_status => x_return_status,
187 x_msg_count => x_msg_count,
188 x_message_list => x_message_list
189 );
190
191 -- Printing error messges
192 IF x_return_status <> FND_API.g_RET_STS_SUCCESS then
193 Error_Handler.GET_MESSAGE_LIST(x_message_list=>x_message_list);
194 END IF;
195
196 EXCEPTION
197 WHEN OTHERS THEN
198 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
199 ROLLBACK TO MTL_CROSS_REFERENCES_PUB; -- rolling back to savepoint
200
201 END Process_XRef;
202 END MTL_CROSS_REFERENCES_PUB;