DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_MSG_MAPPING_UTL

Source


1 PACKAGE BODY PO_MSG_MAPPING_UTL AS
2 /* $Header: PO_MSG_MAPPING_UTL.plb 120.3 2006/06/19 23:15:51 bao noship $ */
3 
4 g_msg_tsfm_context_list MSG_MAPPING_CONTEXT_LIST;
5 
6 d_pkg_name CONSTANT VARCHAR2(50) :=
7   PO_LOG.get_package_base('PO_MSG_MAPPING_UTL');
8 
9 g_APP_PO CONSTANT VARCHAR2(30) := 'PO';
10 g_APP_ICX CONSTANT VARCHAR2(30) := 'ICX';
11 --------------------------------------------------------------------------
12 ---------------------- PRIVATE PROCEDURES PROTOTYPE ----------------------
13 --------------------------------------------------------------------------
14 
15 PROCEDURE init_catalog_upload_msg;
16 
17 FUNCTION create_msg_record
18 (
19   p_message_name             IN VARCHAR2,
20   p_column_name              IN VARCHAR2 := NULL,
21   p_column_value_key         IN VARCHAR2 := NULL,
22   p_num_of_tokens            IN NUMBER   := 0,
23   p_app_name                 IN VARCHAR2 := NULL,
24   p_token1_name              IN VARCHAR2 := NULL,
25   p_token1_value_key         IN VARCHAR2 := NULL,
26   p_token2_name              IN VARCHAR2 := NULL,
27   p_token2_value_key         IN VARCHAR2 := NULL,
28   p_token3_name              IN VARCHAR2 := NULL,
29   p_token3_value_key         IN VARCHAR2 := NULL,
30   p_token4_name              IN VARCHAR2 := NULL,
31   p_token4_value_key         IN VARCHAR2 := NULL,
32   p_token5_name              IN VARCHAR2 := NULL,
33   p_token5_value_key         IN VARCHAR2 := NULL,
34   p_token6_name              IN VARCHAR2 := NULL,
35   p_token6_value_key         IN VARCHAR2 := NULL
36 ) RETURN msg_rec_type;
37 
38 -------------------------------------------------------
39 -------------- PUBLIC PROCEDURES ----------------------
40 -------------------------------------------------------
41 
42 -----------------------------------------------------------------------
43 --Start of Comments
44 --Name: find_msg
45 --Function:
46 --  Find the message based on the context and message id
47 --Parameters:
48 --IN:
49 --p_results
50 --  The validation results that contains the errored line information.
51 --IN OUT:
52 --p_price_diffs
53 --  The record contains the values to be validated.
54 --  If there is error(s) on any attribute of the price differential row,
55 --  corresponding value in error_flag_tbl will be set with value
56 --  FND_API.G_TRUE.
57 --OUT:
58 --End of Comments
59 ------------------------------------------------------------------------
60 PROCEDURE find_msg
61 ( p_context IN VARCHAR2,
62   p_id      IN NUMBER,
63   x_msg_exists OUT NOCOPY VARCHAR2,
64   x_msg_rec    OUT NOCOPY msg_rec_type
65 ) IS
66 
67 d_api_name CONSTANT VARCHAR2(30) := 'find_msg';
68 d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
69 
70 d_position NUMBER;
71 
72 BEGIN
73   d_position := 0;
74 
75   IF (PO_LOG.d_proc) THEN
76      PO_LOG.proc_begin(d_module);
77   END IF;
78 
79   x_msg_exists := FND_API.G_FALSE;
80 
81   IF (g_msg_tsfm_context_list.EXISTS(p_context)) THEN
82     IF (g_msg_tsfm_context_list(p_context).EXISTS(p_id)) THEN
83       x_msg_rec := g_msg_tsfm_context_list(p_context)(p_id);
84       x_msg_exists := FND_API.G_TRUE;
85     END IF;
86   END IF;
87 
88   IF (PO_LOG.d_proc) THEN
89      PO_LOG.proc_end(d_module);
90   END IF;
91 
92 EXCEPTION
93 WHEN OTHERS THEN
94   PO_MESSAGE_S.add_exc_msg
95   ( p_pkg_name => d_pkg_name,
96     p_procedure_name => d_api_name || '.' || d_position
97   );
98   RAISE;
99 END find_msg;
100 
101 -------------------------------------------------------
102 -------------- PRIVATE PROCEDURES ----------------------
103 -------------------------------------------------------
104 PROCEDURE init_msg_mappings IS
105 
106 d_api_name CONSTANT VARCHAR2(30) := 'init_msg_mappings';
107 d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
108 
109 d_position NUMBER;
110 
111 BEGIN
112   d_position := 0;
113 
114   IF (PO_LOG.d_proc) THEN
115      PO_LOG.proc_begin(d_module);
116   END IF;
117 
118   g_msg_tsfm_context_list.DELETE;
119 
120   -- If we need to initialize message mappings for other contexts, add a
121   -- procedure here and define mappings in that procedure
122   init_catalog_upload_msg;
123 
124   IF (PO_LOG.d_proc) THEN
125     PO_LOG.proc_end(d_module);
126   END IF;
127 
128 EXCEPTION
129 WHEN OTHERS THEN
130   PO_MESSAGE_S.add_exc_msg
131   ( p_pkg_name => d_pkg_name,
132     p_procedure_name => d_api_name || '.' || d_position
133   );
134   RAISE;
135 END init_msg_mappings;
136 
137 
138 PROCEDURE init_catalog_upload_msg IS
139 d_api_name CONSTANT VARCHAR2(30) := 'init_catalog_upload_msg';
140 d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
141 
142 d_position NUMBER;
143 
144 l_context VARCHAR2(25) := PO_PDOI_CONSTANTS.g_CALL_MOD_CATALOG_UPLOAD;
145 
146 l_msg_tsfm_list MSG_MAPPING_LIST;
147 
148 BEGIN
149 
150   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_job_id_null) :=
151     create_msg_record('PO_CAT_SVC_NO_JOB', 'JOB_NAME', c_job_name, 0);
152   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_job_bg_id_not_cross_bg) :=
153     create_msg_record('PO_CAT_SVC_CANNOT_CROSS_BG', 'JOB_NAME', c_job_name, 0);
154   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_job_business_group_id_valid) :=
155     create_msg_record('PO_CAT_SVC_INVALID_BG', 'JOB_NAME', c_job_name, 0);
156   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_job_id_not_null) :=
157     create_msg_record('PO_CAT_SVC_MUST_JOB', 'JOB_NAME', c_job_name, 0);
158   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_job_id_valid) :=
159     create_msg_record('PO_CAT_SVC_INVALID_JOB', 'JOB_NAME', c_job_name, 1, g_APP_PO,  'BG_NAME', c_job_business_group_name);
160   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_job_id_valid_cat) :=
161     create_msg_record('PO_PDOI_SVC_INVALID_JOB_CAT', 'JOB_NAME', c_job_name, 0);
162   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_meas_lookup_valid) :=
163     create_msg_record('PO_CAT_INACTIVE_VALUE', 'UOM_CODE', c_uom_code, 0);
164   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_uom_update_valid) :=
165     create_msg_record('PO_CAT_INACTIVE_VALUE', 'UOM_CODE', c_uom_code, 0);
166   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_meas_lookup_null) :=
167     create_msg_record('PO_CAT_SVC_NO_UOM', 'UOM_CODE', c_uom_code, 0);
168   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_meas_lookup_not_null) :=
169     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'UOM_CODE', c_uom_code, 0);
170   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_uom_update_not_null) :=
171     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'UOM_CODE', c_uom_code, 0);
172   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_meas_lookup_svc_valid) :=
173     create_msg_record('PO_PDOI_SVC_INVALID_UOM', 'UOM_CODE', c_uom_code, 0);
174   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_meas_lookup_line_type) :=
175     create_msg_record('PO_CAT_INVALID_LINE_TYPE_UOM', 'UOM_CODE', c_uom_code, 0);
176   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_meas_lookup_item) :=
177     create_msg_record('PO_CAT_ITEM_RELATED_INFO', 'UOM_CODE', c_uom_code, 1, g_APP_PO,  'ITEM_DESC', c_item_desc);
178   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_amount_blanket) :=
179     create_msg_record('PO_CAT_SVC_BLKT_NO_AMT', 'AMOUNT', c_amount, 0);
180   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_desc_not_null) :=
181     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'ITEM_DESCRIPTION', c_item_desc, 0);
182   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_desc_update_not_null) :=
183     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'ITEM_DESCRIPTION', c_item_desc, 0);
184   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_price_null) :=
185     create_msg_record('PO_PDOI_SVC_NO_PRICE', 'UNIT_PRICE', c_unit_price, 0);
186   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_price_not_null) :=
187     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'UNIT_PRICE', c_unit_price, 0);
188   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_price_update_not_null) :=
189     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'UNIT_PRICE', c_unit_price, 0);
190   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_price_ge_zero) :=
191     create_msg_record('PO_CAT_LT_ZERO', 'UNIT_PRICE', c_unit_price, 0);
192   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_price_update_ge_zero) :=
193     create_msg_record('PO_CAT_LT_ZERO', 'UNIT_PRICE', c_unit_price, 0);
194   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_unit_price_line_type) :=
195     create_msg_record('PO_CAT_INV_LINE_TYPE_PRICE', 'UNIT_PRICE', c_unit_price, 0);
196   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_category_id_not_null) :=
197     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'CATEGORY', c_category, 0);
198   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_cat_id_update_not_null) :=
199     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'CATEGORY', c_category, 0);
200   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_category_id_item) :=
201     create_msg_record('PO_CAT_ITEM_RELATED_INFO', 'CATEGORY', c_category, 1, g_APP_PO,  'ITEM_DESC', c_item_desc);
202   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_category_id_valid) :=
203     create_msg_record('PO_CAT_INACTIVE_VALUE', 'CATEGORY', c_category, 0);
204   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_line_type_id_not_null) :=
205     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'LINE_TYPE', c_line_type, 0);
206   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_line_type_id_valid) :=
207     create_msg_record('PO_CAT_INVALID_LINE_TYPE', 'LINE_TYPE', c_line_type, 0);
208   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_line_num_not_null) :=
209     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'LINE_NUM', c_line_num, 0);
210   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_quantity_ge_zero) := create_msg_record('PO_CAT_LT_ZERO', 'QUANTITY', c_quantity, 0);
211   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_loc_quantity) :=
212     create_msg_record('PO_PDOI_SVC_PB_NO_QTY', 'QUANTITY', c_quantity, 0);
213   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_id_valid) :=
214     create_msg_record('PO_CAT_INVALID_ITEM', 'ITEM', c_item, 0);
215   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_id_op_valid) :=
216     create_msg_record('PO_CAT_INVALID_OP_ITEM', 'ITEM', c_item, 0);
217   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_id_null) :=
218     create_msg_record('PO_CAT_COLUMN_NULL', 'ITEM', c_item, 0);
219   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_id_not_null) :=
220     create_msg_record('PO_CAT_ITEM_NOT_NULL', 'ITEM', c_item, 0);
221   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_revision_null) :=
222     create_msg_record('PO_CAT_COLUMN_NULL', 'ITEM_REVISION', c_item_revision, 0);
223   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_revision_item) :=
224     create_msg_record('PO_CAT_ITEM_RELATED_INFO', 'ITEM_REVISION', c_item_revision, 1, g_APP_PO,  'ITEM_DESC', c_item_desc);
225   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ga_flag_temp_labor) :=
226     create_msg_record('PO_PDOI_SVC_NO_LOCAL_BLANKET', 'GLOBAL_AGREEMENT_FLAG', c_ga_flag, 0);
227   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ga_flag_op) :=
228     create_msg_record('PO_PDOI_GA_OSP_NA', 'GLOBAL_AGREEMENT_FLAG', c_ga_flag, 0);
229   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_price_break_not_allowed) :=
230     create_msg_record('PO_PDOI_PRICE_BRK_AMT_BASED_LN', NULL, NULL, 0);
231   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_negotiated_by_preparer) :=
232     create_msg_record('PO_CAT_INVALID_FLAG_VALUE', 'NEGOTIATED_BY_PREPARER_FLAG', c_negotiated_flag, 0);
233   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_loc_price_discount_not_null) :=
234     create_msg_record('PO_CAT_COLUMN_NOT_NULL', 'PRICE_DISCOUNT', c_price_discount, 0);
235   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_loc_price_discount_valid) :=
236     create_msg_record('PO_CAT_INVALID_DISCOUNT', 'PRICE_DISCOUNT', c_price_discount, 0);
237   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ip_category_id_valid) :=
238     create_msg_record('PO_CAT_INACTIVE_VALUE', 'IP_CATEGORY_NAME', c_ip_category, 0);
239   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ip_cat_id_update_valid) :=
240     create_msg_record('PO_CAT_INACTIVE_VALUE', 'IP_CATEGORY_NAME', c_ip_category, 0);
241   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_desc_not_updatable) :=
242     create_msg_record('PO_CAT_DIFF_ITEM_DESC', 'ITEM_DESCRIPTION', c_item_desc, 0);
243   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_desc_update_unupdatable) :=
244     create_msg_record('PO_CAT_DIFF_ITEM_DESC', 'ITEM_DESCRIPTION', c_item_desc, 0);
245   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_not_to_exceed_price_valid) :=
246     create_msg_record('PO_CAT_INVALID_PRICE', 'UNIT_PRICE', c_unit_price, 0);
247   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_loc_ship_to_loc_id_valid) :=
248     create_msg_record('PO_CAT_INACTIVE_VALUE', 'SHIP_TO_LOCATION', c_loc_ship_to_location, 0);
249   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ship_to_organization_id) :=
250     create_msg_record('PO_CAT_INACTIVE_VALUE', 'SHIP_TO_ORGANIZATION_CODE', c_ship_to_organization_code, 0);
251   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_line_style_on_line_type) :=
252     create_msg_record('PO_CAT_LINE_TYPE_ID_STYLE', 'LINE_TYPE', c_line_type, 0);
253   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_cat_id_update_not_updatable) :=
254     create_msg_record('PO_CAT_NO_PO_CAT_UPDATE', 'CATEGORY', c_category, 0);
255   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_loc_style_related_info) :=
256     create_msg_record('PO_CAT_PRICE_BREAK_STYLE', NULL, NULL, 0); -- bug5262146
257   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_line_style_on_purchase_basis) :=
258     create_msg_record('PO_CAT_PURCHASE_BASIS_STYLE', 'LINE_TYPE', c_line_type, 0);
259   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_loc_quantity) :=
260     create_msg_record('PO_CAT_SVC_PB_NO_QTY', 'LINE_TYPE', c_line_type, 0);
261   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_rate_type_no_usr) :=
262     create_msg_record('PO_CAT_SVC_RATE_TYPE_NO_USR', 'LINE_TYPE', c_line_type, 0);
263   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_line_type_derv) :=
264     create_msg_record('ICX_CAT_INVALID_VALUE', 'LINE_TYPE', c_line_type, 0, g_APP_ICX);
265   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_category_derv) :=
266     create_msg_record('ICX_CAT_INVALID_VALUE', 'CATEGORY', c_category, 0, g_APP_ICX);
267   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ip_category_derv) :=
268     create_msg_record('ICX_CAT_INVALID_VALUE', 'IP_CATEGORY_NAME', c_ip_category, 0, g_APP_ICX);
269   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_job_name_derv) :=
270     create_msg_record('ICX_CAT_INVALID_VALUE', 'JOB_NAME', c_job_name, 0, g_APP_ICX);
271   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_uom_code_derv) :=
272     create_msg_record('ICX_CAT_INVALID_VALUE', 'UOM_CODE', c_uom_code, 0, g_APP_ICX);
273   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_item_derv) :=
274     create_msg_record('ICX_CAT_INVALID_VALUE', 'ITEM', c_item, 0, g_APP_ICX);
275   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ship_to_org_code_derv) :=
276     create_msg_record('ICX_CAT_INVALID_VALUE', 'SHIP_TO_ORGANIZATION_CODE', c_ship_to_organization_code, 0, g_APP_ICX);
277   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_ship_to_location_derv) :=
278     create_msg_record('ICX_CAT_INVALID_VALUE', 'SHIP_TO_LOCATION', c_loc_ship_to_location, 0, g_APP_ICX);
279   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_part_num_derv) :=
280     create_msg_record('PO_CAT_DERV_PART_NUM_ERROR', 'ITEM', c_item, 0);
281   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_line_rec_valid) :=
282     create_msg_record('PO_CAT_INVALID_INTER_LINE_REC', NULL, NULL, 0);
283   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_language) :=
284     create_msg_record('PO_PDOI_NO_TLP_IN_CREATE_LANG', 'CREATED_LANGUAGE', c_created_language, 0);
285   l_msg_tsfm_list(PO_VAL_CONSTANTS.c_dates_cumulative_failed) :=
286     create_msg_record('PO_CAT_CUMULATIVE_FAILED', NULL, NULL, 0); -- bug5262146
287 
288   g_msg_tsfm_context_list (l_context) := l_msg_tsfm_list;
289 
290 END init_catalog_upload_msg;
291 
292 
293 FUNCTION create_msg_record
294 (
295   p_message_name             IN VARCHAR2,
296   p_column_name              IN VARCHAR2 := NULL,
297   p_column_value_key         IN VARCHAR2 := NULL,
298   p_num_of_tokens            IN NUMBER   := 0,
299   p_app_name                 IN VARCHAR2 := NULL,
300   p_token1_name              IN VARCHAR2 := NULL,
301   p_token1_value_key         IN VARCHAR2 := NULL,
302   p_token2_name              IN VARCHAR2 := NULL,
303   p_token2_value_key         IN VARCHAR2 := NULL,
304   p_token3_name              IN VARCHAR2 := NULL,
305   p_token3_value_key         IN VARCHAR2 := NULL,
306   p_token4_name              IN VARCHAR2 := NULL,
307   p_token4_value_key         IN VARCHAR2 := NULL,
308   p_token5_name              IN VARCHAR2 := NULL,
309   p_token5_value_key         IN VARCHAR2 := NULL,
310   p_token6_name              IN VARCHAR2 := NULL,
311   p_token6_value_key         IN VARCHAR2 := NULL
312 ) RETURN msg_rec_type IS
313 
314 d_api_name CONSTANT VARCHAR2(30) := 'create_msg_record';
315 d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
316 
317 d_position NUMBER;
318 
319 l_msg_rec MSG_REC_TYPE;
320 
321 BEGIN
322   d_position := 0;
323 
324   IF (PO_LOG.d_proc) THEN
325      PO_LOG.proc_begin(d_module);
326   END IF;
327 
328   -- setup values in the error message record
329   l_msg_rec.app_name          := p_app_name;
330   l_msg_rec.message_name      := p_message_name;
331   l_msg_rec.column_name       := p_column_name;
332   l_msg_rec.column_value_key  := p_column_value_key;
333   l_msg_rec.num_of_tokens     := p_num_of_tokens;
334   l_msg_rec.token1_name       := p_token1_name;
335   l_msg_rec.token1_value_key  := p_token1_value_key;
336   l_msg_rec.token2_name       := p_token2_name;
337   l_msg_rec.token2_value_key  := p_token2_value_key;
338   l_msg_rec.token3_name       := p_token3_name;
339   l_msg_rec.token3_value_key  := p_token3_value_key;
340   l_msg_rec.token4_name       := p_token4_name;
341   l_msg_rec.token4_value_key  := p_token4_value_key;
342   l_msg_rec.token5_name       := p_token5_name;
343   l_msg_rec.token5_value_key  := p_token5_value_key;
344   l_msg_rec.token6_name       := p_token6_name;
345   l_msg_rec.token6_value_key  := p_token6_value_key;
346 
347   IF (PO_LOG.d_proc) THEN
348     PO_LOG.proc_end(d_module);
349   END IF;
350 
351   RETURN l_msg_rec;
352 
353 EXCEPTION
354 WHEN OTHERS THEN
355   PO_MESSAGE_S.add_exc_msg
356   ( p_pkg_name => d_pkg_name,
357     p_procedure_name => d_api_name || '.' || d_position
358   );
359 
360   RAISE;
361 END create_msg_record;
362 
363 
364 
365 -----------------------------------------------------------------------------
366 -- Package initialization.
367 -----------------------------------------------------------------------------
368 BEGIN
369   -- initialize error message mapping for ip upload
370   init_msg_mappings;
371 
372 END PO_MSG_MAPPING_UTL;