27: -- The NLS langauge that should be used when
28: -- extracting data from the TL table
29: --=======================================================
30: procedure WRITE_TO_BUFFER (
31: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
32: p_return_status OUT NOCOPY VARCHAR2,
33: p_applicationmodule_defn_name IN VARCHAR2,
34: p_nls_language IN VARCHAR2
35: ) is
54: exit when l_get_ap_registry_csr%notfound;
55:
56: -- query Object line must be validated before it is written to the file
57: /* nothing to validate yet
58: if p_validation_level <> FND_API.G_VALID_LEVEL_NONE then
59: if not AK_AMPARAM_REGISTRY_PVT.VALIDATE_AP_REGISTRY (
60: p_validation_level => p_validation_level,
61: p_api_version_number => 1.0,
62: p_return_status => l_return_status,
69: FND_MESSAGE.SET_TOKEN('KEY', p_APPLICATIONMODULE_DEFN_NAME);
70: FND_MSG_PUB.Add;
71: end if;
72: close l_get_ap_registry_csr;
73: raise FND_API.G_EXC_ERROR;
74: end if;
75: end if;
76: */
77: -- Write object into buffer
93: p_buffer_tbl => l_databuffer_tbl,
94: p_write_mode => AK_ON_OBJECTS_PUB.G_APPEND
95: );
96: -- If API call returns with an error status...
97: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
98: (l_return_status = FND_API.G_RET_STS_ERROR) then
99: close l_get_ap_registry_csr;
100: RAISE FND_API.G_EXC_ERROR;
101: end if;
94: p_write_mode => AK_ON_OBJECTS_PUB.G_APPEND
95: );
96: -- If API call returns with an error status...
97: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
98: (l_return_status = FND_API.G_RET_STS_ERROR) then
99: close l_get_ap_registry_csr;
100: RAISE FND_API.G_EXC_ERROR;
101: end if;
102:
96: -- If API call returns with an error status...
97: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
98: (l_return_status = FND_API.G_RET_STS_ERROR) then
99: close l_get_ap_registry_csr;
100: RAISE FND_API.G_EXC_ERROR;
101: end if;
102:
103: l_databuffer_tbl.delete;
104:
101: end if;
102:
103: l_databuffer_tbl.delete;
104:
105: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
106: (l_return_status = FND_API.G_RET_STS_ERROR) then
107: close l_get_ap_registry_csr;
108: RAISE FND_API.G_EXC_ERROR;
109: end if;
102:
103: l_databuffer_tbl.delete;
104:
105: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
106: (l_return_status = FND_API.G_RET_STS_ERROR) then
107: close l_get_ap_registry_csr;
108: RAISE FND_API.G_EXC_ERROR;
109: end if;
110:
104:
105: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
106: (l_return_status = FND_API.G_RET_STS_ERROR) then
107: close l_get_ap_registry_csr;
108: RAISE FND_API.G_EXC_ERROR;
109: end if;
110:
111: -- - Finish up writing object data out to the specified file
112: AK_ON_OBJECTS_PVT.WRITE_FILE (
115: p_write_mode => AK_ON_OBJECTS_PUB.G_APPEND
116: );
117:
118: -- If API call returns with an error status...
119: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
120: (l_return_status = FND_API.G_RET_STS_ERROR) then
121: close l_get_ap_registry_csr;
122: RAISE FND_API.G_EXC_ERROR;
123: end if;
116: );
117:
118: -- If API call returns with an error status...
119: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
120: (l_return_status = FND_API.G_RET_STS_ERROR) then
121: close l_get_ap_registry_csr;
122: RAISE FND_API.G_EXC_ERROR;
123: end if;
124: end loop;
118: -- If API call returns with an error status...
119: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
120: (l_return_status = FND_API.G_RET_STS_ERROR) then
121: close l_get_ap_registry_csr;
122: RAISE FND_API.G_EXC_ERROR;
123: end if;
124: end loop;
125: close l_get_ap_registry_csr;
126:
123: end if;
124: end loop;
125: close l_get_ap_registry_csr;
126:
127: p_return_status := FND_API.G_RET_STS_SUCCESS;
128:
129: EXCEPTION
130: WHEN VALUE_ERROR THEN
131: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
132: FND_MESSAGE.SET_NAME('AK','AK_AP_REGISTRY_VALUE_ERROR');
133: FND_MESSAGE.SET_TOKEN('KEY', p_APPLICATIONMODULE_DEFN_NAME);
134: FND_MSG_PUB.Add;
135: end if;
136: p_return_status := FND_API.G_RET_STS_ERROR;
137: WHEN FND_API.G_EXC_ERROR THEN
138: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
139: FND_MESSAGE.SET_NAME('AK','AK_AP_REGISTRY_NOT_DOWNLOADED');
140: FND_MESSAGE.SET_TOKEN('KEY', p_APPLICATIONMODULE_DEFN_NAME);
133: FND_MESSAGE.SET_TOKEN('KEY', p_APPLICATIONMODULE_DEFN_NAME);
134: FND_MSG_PUB.Add;
135: end if;
136: p_return_status := FND_API.G_RET_STS_ERROR;
137: WHEN FND_API.G_EXC_ERROR THEN
138: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
139: FND_MESSAGE.SET_NAME('AK','AK_AP_REGISTRY_NOT_DOWNLOADED');
140: FND_MESSAGE.SET_TOKEN('KEY', p_APPLICATIONMODULE_DEFN_NAME);
141: FND_MSG_PUB.Add;
139: FND_MESSAGE.SET_NAME('AK','AK_AP_REGISTRY_NOT_DOWNLOADED');
140: FND_MESSAGE.SET_TOKEN('KEY', p_APPLICATIONMODULE_DEFN_NAME);
141: FND_MSG_PUB.Add;
142: end if;
143: p_return_status := FND_API.G_RET_STS_ERROR;
144: WHEN OTHERS THEN
145: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
146: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
147: SUBSTR (SQLERRM, 1, 240) );
141: FND_MSG_PUB.Add;
142: end if;
143: p_return_status := FND_API.G_RET_STS_ERROR;
144: WHEN OTHERS THEN
145: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
146: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
147: SUBSTR (SQLERRM, 1, 240) );
148: FND_MSG_PUB.Add;
149: end WRITE_TO_BUFFER;
185: -- Version Initial version number = 1.0
186: -- History Current version number = 1.0
187: --=======================================================
188: procedure DOWNLOAD_AMPARAM_REGISTRY (
189: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
190: p_api_version_number IN NUMBER,
191: p_return_status OUT NOCOPY VARCHAR2,
192: p_application_id IN NUMBER := FND_API.G_MISS_NUM,
193: p_amparamreg_pk_tbl IN AK_AMPARAM_REGISTRY_PUB.AmParamReg_Pk_Tbl_Type :=
188: procedure DOWNLOAD_AMPARAM_REGISTRY (
189: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
190: p_api_version_number IN NUMBER,
191: p_return_status OUT NOCOPY VARCHAR2,
192: p_application_id IN NUMBER := FND_API.G_MISS_NUM,
193: p_amparamreg_pk_tbl IN AK_AMPARAM_REGISTRY_PUB.AmParamReg_Pk_Tbl_Type :=
194: AK_AMPARAM_REGISTRY_PUB.G_MISS_AMPARAMREG_PK_TBL,
195: p_nls_language IN VARCHAR2
196: ) is
208: l_msg_data VARCHAR2(2000);
209: l_amparamreg_pk_tbl AK_AMPARAM_REGISTRY_PUB.amparamreg_Pk_Tbl_Type;
210: l_return_status varchar2(1);
211: begin
212: IF NOT FND_API.Compatible_API_Call (
213: l_api_version_number, p_api_version_number, l_api_name,
214: G_PKG_NAME) then
215: -- dbms_output.put_line('API error in AK_OBJECTS2_PVT');
216: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
212: IF NOT FND_API.Compatible_API_Call (
213: l_api_version_number, p_api_version_number, l_api_name,
214: G_PKG_NAME) then
215: -- dbms_output.put_line('API error in AK_OBJECTS2_PVT');
216: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
217: return;
218: END IF;
219:
220: -- Check that one of the following selection criteria is given:
220: -- Check that one of the following selection criteria is given:
221: -- - p_application_id alone, or
222: -- - query codes in p_queryobj_PK_tbl
223:
224: if (p_application_id = FND_API.G_MISS_NUM) or (p_application_id is null) then
225: if (p_amparamreg_pk_tbl.count = 0) then
226: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
227: FND_MESSAGE.SET_NAME('AK','AK_NO_SELECTION');
228: FND_MSG_PUB.Add;
226: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
227: FND_MESSAGE.SET_NAME('AK','AK_NO_SELECTION');
228: FND_MSG_PUB.Add;
229: end if;
230: raise FND_API.G_EXC_ERROR;
231: end if;
232: else
233: if (p_amparamreg_pk_tbl.count > 0) then
234: -- both application ID and a list of objects to be extracted are
277: p_nls_language => p_nls_language
278: );
279: -- Download aborts if any of the validation fails
280: --
281: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
282: (l_return_status = FND_API.G_RET_STS_ERROR) then
283: -- dbms_output.put_line('error throwing from WRITE_TO_BUFFER');
284: RAISE FND_API.G_EXC_ERROR;
285: end if;
278: );
279: -- Download aborts if any of the validation fails
280: --
281: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
282: (l_return_status = FND_API.G_RET_STS_ERROR) then
283: -- dbms_output.put_line('error throwing from WRITE_TO_BUFFER');
284: RAISE FND_API.G_EXC_ERROR;
285: end if;
286:
280: --
281: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
282: (l_return_status = FND_API.G_RET_STS_ERROR) then
283: -- dbms_output.put_line('error throwing from WRITE_TO_BUFFER');
284: RAISE FND_API.G_EXC_ERROR;
285: end if;
286:
287: -- Ready to download the next object in the list
288: l_index := l_amparamreg_pk_tbl.NEXT(l_index);
288: l_index := l_amparamreg_pk_tbl.NEXT(l_index);
289:
290: end loop;
291:
292: p_return_status := FND_API.G_RET_STS_SUCCESS;
293:
294: -- dbms_output.put_line('returning from ak_object_pvt.download_query_object: ' ||
295: -- to_char(sysdate, 'MON-DD HH24:MI:SS'));
296:
300: FND_MESSAGE.SET_NAME('AK','AK_APREG_PK_VALUE_ERROR');
301: FND_MSG_PUB.Add;
302: end if;
303: -- dbms_output.put_line('Value error occurred in download- check your object list.');
304: p_return_status := FND_API.G_RET_STS_ERROR;
305: WHEN FND_API.G_EXC_ERROR THEN
306: p_return_status := FND_API.G_RET_STS_ERROR;
307: WHEN OTHERS THEN
308: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
301: FND_MSG_PUB.Add;
302: end if;
303: -- dbms_output.put_line('Value error occurred in download- check your object list.');
304: p_return_status := FND_API.G_RET_STS_ERROR;
305: WHEN FND_API.G_EXC_ERROR THEN
306: p_return_status := FND_API.G_RET_STS_ERROR;
307: WHEN OTHERS THEN
308: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
309: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name,
302: end if;
303: -- dbms_output.put_line('Value error occurred in download- check your object list.');
304: p_return_status := FND_API.G_RET_STS_ERROR;
305: WHEN FND_API.G_EXC_ERROR THEN
306: p_return_status := FND_API.G_RET_STS_ERROR;
307: WHEN OTHERS THEN
308: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
309: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name,
310: SUBSTR (SQLERRM, 1, 240) );
304: p_return_status := FND_API.G_RET_STS_ERROR;
305: WHEN FND_API.G_EXC_ERROR THEN
306: p_return_status := FND_API.G_RET_STS_ERROR;
307: WHEN OTHERS THEN
308: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
309: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name,
310: SUBSTR (SQLERRM, 1, 240) );
311: end DOWNLOAD_AMPARAM_REGISTRY;
312:
316: -- not being used yet
317: --=======================================================
318:
319: FUNCTION VALIDATE_AP_REGISTRY (
320: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
321: p_api_version_number IN NUMBER,
322: p_return_status OUT NOCOPY VARCHAR2,
323: p_APPLICATIONMODULE_DEFN_NAME IN VARCHAR2,
324: p_application_id IN NUMBER,
340: FND_MESSAGE.SET_TOKEN('COLUMN','APPLICATION_ID');
341: FND_MSG_PUB.Add;
342: end if;
343: end if;
344: p_return_status := FND_API.G_RET_STS_SUCCESS;
345: return (not l_error);
346:
347: EXCEPTION
348: WHEN OTHERS THEN
345: return (not l_error);
346:
347: EXCEPTION
348: WHEN OTHERS THEN
349: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
350: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
351: SUBSTR (SQLERRM, 1, 240) );
352: FND_MSG_PUB.Add;
353:
379: l_dummy number;
380: l_api_name constant varchar2(30) := 'AMPARAM_REGISTRY_EXISTS';
381: l_api_version_number CONSTANT number := 1.0;
382: BEGIN
383: IF NOT FND_API.Compatible_API_Call (
384: l_api_version_number, p_api_version_number, l_api_name,
385: G_PKG_NAME) then
386: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
387: return FALSE;
382: BEGIN
383: IF NOT FND_API.Compatible_API_Call (
384: l_api_version_number, p_api_version_number, l_api_name,
385: G_PKG_NAME) then
386: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
387: return FALSE;
388: END IF;
389:
390: open l_chk_amparam_exists_csr(p_APPLICATIONMODULE_DEFN_NAME, p_param_name, p_param_value);
390: open l_chk_amparam_exists_csr(p_APPLICATIONMODULE_DEFN_NAME, p_param_name, p_param_value);
391: fetch l_chk_amparam_exists_csr into l_dummy;
392: if (l_chk_amparam_exists_csr%notfound) then
393: close l_chk_amparam_exists_csr;
394: p_return_status := FND_API.G_RET_STS_SUCCESS;
395: return FALSE;
396: else
397: close l_chk_amparam_exists_csr;
398: p_return_status := FND_API.G_RET_STS_SUCCESS;
394: p_return_status := FND_API.G_RET_STS_SUCCESS;
395: return FALSE;
396: else
397: close l_chk_amparam_exists_csr;
398: p_return_status := FND_API.G_RET_STS_SUCCESS;
399: return TRUE;
400: end if;
401:
402: EXCEPTION
399: return TRUE;
400: end if;
401:
402: EXCEPTION
403: WHEN FND_API.G_EXC_ERROR THEN
404: p_return_status := FND_API.G_RET_STS_ERROR;
405: return FALSE;
406: WHEN OTHERS THEN
407: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
400: end if;
401:
402: EXCEPTION
403: WHEN FND_API.G_EXC_ERROR THEN
404: p_return_status := FND_API.G_RET_STS_ERROR;
405: return FALSE;
406: WHEN OTHERS THEN
407: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
408: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
403: WHEN FND_API.G_EXC_ERROR THEN
404: p_return_status := FND_API.G_RET_STS_ERROR;
405: return FALSE;
406: WHEN OTHERS THEN
407: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
408: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
409: SUBSTR (SQLERRM, 1, 240) );
410: FND_MSG_PUB.Add;
411: return FALSE;
435: -- should call with this parameter loaded.
436: --=======================================================
437:
438: PROCEDURE CREATE_AMPARAM_REGISTRY(
439: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
440: p_api_version_number IN NUMBER,
441: p_init_msg_tbl IN BOOLEAN := FALSE,
442: p_msg_count OUT NOCOPY NUMBER,
443: p_msg_data OUT NOCOPY VARCHAR2,
445: p_applicationmodule_defn_name IN VARCHAR2,
446: p_param_name IN VARCHAR2,
447: p_param_value IN VARCHAR2,
448: p_application_id IN NUMBER,
449: p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
450: p_pass IN NUMBER := 2
451: ) IS
452: l_api_version_number CONSTANT number := 1.0;
453: l_api_name constant varchar2(30) := 'CREATE_AMPARAM_REGISTRY';
457: l_last_update_date date;
458: l_last_update_login number;
459: l_last_updated_by number;
460: BEGIN
461: IF NOT FND_API.Compatible_API_Call (
462: l_api_version_number, p_api_version_number, l_api_name,
463: G_PKG_NAME) then
464: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
465: return;
460: BEGIN
461: IF NOT FND_API.Compatible_API_Call (
462: l_api_version_number, p_api_version_number, l_api_name,
463: G_PKG_NAME) then
464: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
465: return;
466: END IF;
467:
468: -- Initialize the message table if requested.
485: FND_MESSAGE.SET_NAME('AK','AK_AMPARAM_REGISTRY_EXISTS');
486: FND_MSG_PUB.Add;
487: end if;
488: -- dbms_output.put_line(G_PKG_NAME || 'Error - Row already exists');
489: raise FND_API.G_EXC_ERROR;
490: end if;
491:
492: -- Create record if no validation error was found
493: /*
518: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
519: FND_MSG_PUB.Add;
520: end if;
521:
522: p_return_status := FND_API.G_RET_STS_SUCCESS;
523:
524: FND_MSG_PUB.Count_And_Get (
525: p_count => p_msg_count,
526: p_data => p_msg_data);
531: FND_MESSAGE.SET_NAME('AK','AK_AMPARAM_VALUE_ERROR');
532: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
533: FND_MSG_PUB.Add;
534: end if;
535: p_return_status := FND_API.G_RET_STS_ERROR;
536: rollback to start_create_amparam;
537: FND_MSG_PUB.Count_And_Get (
538: p_count => p_msg_count,
539: p_data => p_msg_data);
536: rollback to start_create_amparam;
537: FND_MSG_PUB.Count_And_Get (
538: p_count => p_msg_count,
539: p_data => p_msg_data);
540: WHEN FND_API.G_EXC_ERROR THEN
541: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
542: FND_MESSAGE.SET_NAME('AK','AK_AMPARAM_NOT_CREATED');
543: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
544: FND_MSG_PUB.Add;
542: FND_MESSAGE.SET_NAME('AK','AK_AMPARAM_NOT_CREATED');
543: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
544: FND_MSG_PUB.Add;
545: end if;
546: p_return_status := FND_API.G_RET_STS_ERROR;
547: rollback to start_create_amparam;
548: FND_MSG_PUB.Count_And_Get (
549: p_count => p_msg_count,
550: p_data => p_msg_data);
548: FND_MSG_PUB.Count_And_Get (
549: p_count => p_msg_count,
550: p_data => p_msg_data);
551: WHEN OTHERS THEN
552: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
553: rollback to start_create_amparam;
554: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
555: SUBSTR (SQLERRM, 1, 240) );
556: FND_MSG_PUB.Add;
583: -- should call with this parameter loaded.
584: --=======================================================
585:
586: PROCEDURE UPDATE_AMPARAM_REGISTRY(
587: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
588: p_api_version_number IN NUMBER,
589: p_init_msg_tbl IN BOOLEAN := FALSE,
590: p_msg_count OUT NOCOPY NUMBER,
591: p_msg_data OUT NOCOPY VARCHAR2,
593: p_applicationmodule_defn_name IN VARCHAR2,
594: p_param_name IN VARCHAR2,
595: p_param_value IN VARCHAR2,
596: p_application_id IN NUMBER,
597: p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
598: p_pass IN NUMBER := 2
599: ) IS
600: cursor l_get_amparam_registry_csr is
601: select *
612: l_last_update_login number;
613: l_last_updated_by number;
614: l_return_status varchar2(1);
615: BEGIN
616: IF NOT FND_API.Compatible_API_Call (
617: l_api_version_number, p_api_version_number, l_api_name,
618: G_PKG_NAME) then
619: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
620: return;
615: BEGIN
616: IF NOT FND_API.Compatible_API_Call (
617: l_api_version_number, p_api_version_number, l_api_name,
618: G_PKG_NAME) then
619: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
620: return;
621: END IF;
622:
623: -- Initialize the message table if requested.
637: FND_MSG_PUB.Add;
638: end if;
639: --dbms_output.put_line(l_api_name || 'Error - Row does not exist');
640: close l_get_amparam_registry_csr;
641: raise FND_API.G_EXC_ERROR;
642: end if;
643: close l_get_amparam_registry_csr;
644:
645: if ( NOT AK_ON_OBJECTS_PVT.VALID_APPLICATION_ID (
648: p_application_id => p_application_id) ) then
649: FND_MESSAGE.SET_NAME('AK','AK_INVALID_COLUMN_VALUE');
650: FND_MESSAGE.SET_TOKEN('COLUMN','APPLICATION_ID');
651: FND_MSG_PUB.Add;
652: raise FND_API.G_EXC_ERROR;
653: end if;
654:
655: l_amparam_reg_rec.application_id := p_application_id;
656:
676: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
677: FND_MESSAGE.SET_NAME('AK','AK_QUERYOBJ_UPDATE_FAILED');
678: FND_MSG_PUB.Add;
679: end if;
680: raise FND_API.G_EXC_ERROR;
681: end if;
682:
683: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
684: FND_MESSAGE.SET_NAME('AK','AK_AMPARAM_REG_UPDATED');
685: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
686: FND_MSG_PUB.Add;
687: end if;
688:
689: p_return_status := FND_API.G_RET_STS_SUCCESS;
690:
691: FND_MSG_PUB.Count_And_Get (
692: p_count => p_msg_count,
693: p_data => p_msg_data);
699: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
700: FND_MSG_PUB.Add;
701: end if;
702: rollback to start_update_amparam;
703: p_return_status := FND_API.G_RET_STS_ERROR;
704: FND_MSG_PUB.Count_And_Get (
705: p_count => p_msg_count,
706: p_data => p_msg_data);
707: WHEN FND_API.G_EXC_ERROR THEN
703: p_return_status := FND_API.G_RET_STS_ERROR;
704: FND_MSG_PUB.Count_And_Get (
705: p_count => p_msg_count,
706: p_data => p_msg_data);
707: WHEN FND_API.G_EXC_ERROR THEN
708: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
709: FND_MESSAGE.SET_NAME('AK','AK_AMPARAM_REG_NOT_UPDATED');
710: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
711: FND_MSG_PUB.Add;
709: FND_MESSAGE.SET_NAME('AK','AK_AMPARAM_REG_NOT_UPDATED');
710: FND_MESSAGE.SET_TOKEN('KEY', p_applicationmodule_defn_name);
711: FND_MSG_PUB.Add;
712: end if;
713: p_return_status := FND_API.G_RET_STS_ERROR;
714: rollback to start_update_amparam;
715: FND_MSG_PUB.Count_And_Get (
716: p_count => p_msg_count,
717: p_data => p_msg_data);
715: FND_MSG_PUB.Count_And_Get (
716: p_count => p_msg_count,
717: p_data => p_msg_data);
718: WHEN OTHERS THEN
719: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
720: rollback to start_update_amparam;
721: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
722: SUBSTR (SQLERRM, 1, 240) );
723: FND_MSG_PUB.Add;
778: -- Version Initial version number = 1.0
779: -- History Current version number = 1.0
780: --=======================================================
781: procedure UPLOAD_AMPARAM_REGISTRY (
782: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
783: p_api_version_number IN NUMBER,
784: p_return_status OUT NOCOPY VARCHAR2,
785: p_index IN OUT NOCOPY NUMBER,
786: p_loader_timestamp IN DATE,
783: p_api_version_number IN NUMBER,
784: p_return_status OUT NOCOPY VARCHAR2,
785: p_index IN OUT NOCOPY NUMBER,
786: p_loader_timestamp IN DATE,
787: p_line_num IN NUMBER := FND_API.G_MISS_NUM,
788: p_buffer IN AK_ON_OBJECTS_PUB.Buffer_Type,
789: p_line_num_out OUT NOCOPY NUMBER,
790: p_buffer_out OUT NOCOPY AK_ON_OBJECTS_PUB.Buffer_Type,
791: p_upl_loader_cur IN OUT NOCOPY AK_ON_OBJECTS_PUB.LoaderCurTyp,
816: l_user_id1 NUMBER;
817: l_user_id2 NUMBER;
818: begin
819:
820: IF NOT FND_API.Compatible_API_Call (
821: l_api_version_number, p_api_version_number, l_api_name,
822: G_PKG_NAME) then
823: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
824: return;
819:
820: IF NOT FND_API.Compatible_API_Call (
821: l_api_version_number, p_api_version_number, l_api_name,
822: G_PKG_NAME) then
823: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
824: return;
825: END IF;
826:
827: SAVEPOINT Start_Upload;
834: -- the tokens 'BEGIN AMPARAM_REGISTRY' has already been parsed. Set initial
835: -- buffer to 'BEGIN AMPARAM_REGISTRY' before reading the next line from the
836: -- file. Otherwise, set initial buffer to null.
837: --
838: if (p_loader_timestamp <> FND_API.G_MISS_DATE) then
839: l_buffer := 'BEGIN AMPARAM_REGISTRY ' || p_buffer;
840: else
841: l_buffer := null;
842: end if;
840: else
841: l_buffer := null;
842: end if;
843:
844: if (p_line_num = FND_API.G_MISS_NUM) then
845: l_line_num := 0;
846: else
847: l_line_num := p_line_num;
848: end if;
855: p_lines_read => l_lines_read,
856: p_eof_flag => l_eof_flag,
857: p_upl_loader_cur => p_upl_loader_cur
858: );
859: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
860: (l_return_status = FND_API.G_RET_STS_ERROR) then
861: RAISE FND_API.G_EXC_ERROR;
862: end if;
863: l_line_num := l_line_num + l_lines_read;
856: p_eof_flag => l_eof_flag,
857: p_upl_loader_cur => p_upl_loader_cur
858: );
859: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
860: (l_return_status = FND_API.G_RET_STS_ERROR) then
861: RAISE FND_API.G_EXC_ERROR;
862: end if;
863: l_line_num := l_line_num + l_lines_read;
864: --
857: p_upl_loader_cur => p_upl_loader_cur
858: );
859: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
860: (l_return_status = FND_API.G_RET_STS_ERROR) then
861: RAISE FND_API.G_EXC_ERROR;
862: end if;
863: l_line_num := l_line_num + l_lines_read;
864: --
865: -- trim leading spaces and discard comment lines
877: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
878: FND_MESSAGE.SET_NAME('AK','AK_EMPTY_BUFFER');
879: FND_MSG_PUB.Add;
880: end if;
881: raise FND_API.G_EXC_ERROR;
882: end if;
883:
884: -- Read tokens from file, one at a time
885:
893: );
894:
895: --dbms_output.put_line(' State:' || l_state || 'Token:' || l_token);
896:
897: if (l_return_status = FND_API.G_RET_STS_ERROR) or
898: (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) then
899: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
900: FND_MESSAGE.SET_NAME('AK','AK_GET_TOKEN_ERROR');
901: FND_MSG_PUB.Add;
894:
895: --dbms_output.put_line(' State:' || l_state || 'Token:' || l_token);
896:
897: if (l_return_status = FND_API.G_RET_STS_ERROR) or
898: (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) then
899: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
900: FND_MESSAGE.SET_NAME('AK','AK_GET_TOKEN_ERROR');
901: FND_MSG_PUB.Add;
902: end if;
900: FND_MESSAGE.SET_NAME('AK','AK_GET_TOKEN_ERROR');
901: FND_MSG_PUB.Add;
902: end if;
903: --dbms_output.put_line(l_api_name || ' Error parsing buffer');
904: raise FND_API.G_EXC_ERROR;
905: end if;
906:
907:
908: --
918: FND_MESSAGE.SET_TOKEN('TOKEN',l_token);
919: FND_MESSAGE.SET_TOKEN('EXPECTED','BEGIN');
920: FND_MSG_PUB.Add;
921: end if;
922: raise FND_API.G_EXC_ERROR;
923: end if;
924: elsif (l_state = 1) then
925: if (l_token = 'AMPARAM_REGISTRY') then
926: --== Clear out previous column data ==--
944: FND_MESSAGE.SET_TOKEN('TOKEN',l_token);
945: FND_MESSAGE.SET_TOKEN('EXPECTED','APPLICATIONMODULE_DEFN_NAME');
946: FND_MSG_PUB.Add;
947: end if;
948: raise FND_API.G_EXC_ERROR;
949: end if;
950: elsif (l_state = 3) then
951: if (l_token is not null) then
952: l_amparam_rec.param_name := l_token;
958: FND_MESSAGE.SET_TOKEN('TOKEN',l_token);
959: FND_MESSAGE.SET_TOKEN('EXPECTED','PARAM_NAME');
960: FND_MSG_PUB.Add;
961: end if;
962: raise FND_API.G_EXC_ERROR;
963: end if;
964: elsif ( l_state = 4) then
965: if (l_token is not null) then
966: l_amparam_rec.param_source := l_token;
973: FND_MESSAGE.SET_TOKEN('TOKEN',l_token);
974: FND_MESSAGE.SET_TOKEN('EXPECTED','PARAM_VALUE');
975: FND_MSG_PUB.Add;
976: end if;
977: raise FND_API.G_EXC_ERROR;
978: end if;
979: elsif (l_state = 10) then
980: if (l_token = 'END') then
981: l_state := 19;
1009: FND_MESSAGE.SET_TOKEN('EXPECTED','AMPARAM_REGISTRY');
1010: FND_MSG_PUB.Add;
1011: end if;
1012: -- dbms_output.put_line('Expecting region field, BEGIN, or END');
1013: raise FND_API.G_EXC_ERROR;
1014: end if;
1015: end if;
1016: elsif (l_state = 11) then
1017: if (l_token = '=') then
1023: FND_MESSAGE.SET_TOKEN('TOKEN',l_token);
1024: FND_MESSAGE.SET_TOKEN('EXPECTED','=');
1025: FND_MSG_PUB.Add;
1026: end if;
1027: raise FND_API.G_EXC_ERROR;
1028: end if;
1029: elsif (l_state = 12) then
1030: l_value_count := 1;
1031: if (l_column = 'APPLICATION_ID') then
1038: FND_MESSAGE.SET_TOKEN('TOKEN',l_token||' (debug: l_buffer = '||l_buffer||' l_state = '||to_char(l_state)||')');
1039: FND_MESSAGE.SET_TOKEN('EXPECTED', l_column);
1040: FND_MSG_PUB.Add;
1041: end if;
1042: raise FND_API.G_EXC_ERROR;
1043: end if;
1044: elsif (l_state = 19) then
1045: if (l_token = 'AMPARAM_REGISTRY') then
1046: if AK_AMPARAM_REGISTRY_PVT.AMPARAM_REGISTRY_EXISTS (
1080:
1081: end if;
1082: --
1083: -- If API call returns with an error status, upload aborts
1084: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1085: (l_return_status = FND_API.G_RET_STS_ERROR) then
1086: RAISE FND_API.G_EXC_ERROR;
1087: end if; -- /* if l_return_status */
1088: l_state := 0;
1081: end if;
1082: --
1083: -- If API call returns with an error status, upload aborts
1084: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1085: (l_return_status = FND_API.G_RET_STS_ERROR) then
1086: RAISE FND_API.G_EXC_ERROR;
1087: end if; -- /* if l_return_status */
1088: l_state := 0;
1089: else
1082: --
1083: -- If API call returns with an error status, upload aborts
1084: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1085: (l_return_status = FND_API.G_RET_STS_ERROR) then
1086: RAISE FND_API.G_EXC_ERROR;
1087: end if; -- /* if l_return_status */
1088: l_state := 0;
1089: else
1090: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1093: FND_MESSAGE.SET_TOKEN('TOKEN',l_token||' (debug: l_buffer = '||l_buffer||' l_state = '||to_char(l_state)||')');
1094: FND_MESSAGE.SET_TOKEN('EXPECTED', 'AMPARAM_REGISTRY');
1095: FND_MSG_PUB.Add;
1096: end if;
1097: raise FND_API.G_EXC_ERROR;
1098: end if;
1099:
1100: end if; -- if l_state = ...
1101:
1113: p_lines_read => l_lines_read,
1114: p_eof_flag => l_eof_flag,
1115: p_upl_loader_cur => p_upl_loader_cur
1116: );
1117: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1118: (l_return_status = FND_API.G_RET_STS_ERROR) then
1119: RAISE FND_API.G_EXC_ERROR;
1120: end if;
1121: l_line_num := l_line_num + l_lines_read;
1114: p_eof_flag => l_eof_flag,
1115: p_upl_loader_cur => p_upl_loader_cur
1116: );
1117: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1118: (l_return_status = FND_API.G_RET_STS_ERROR) then
1119: RAISE FND_API.G_EXC_ERROR;
1120: end if;
1121: l_line_num := l_line_num + l_lines_read;
1122: --
1115: p_upl_loader_cur => p_upl_loader_cur
1116: );
1117: if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1118: (l_return_status = FND_API.G_RET_STS_ERROR) then
1119: RAISE FND_API.G_EXC_ERROR;
1120: end if;
1121: l_line_num := l_line_num + l_lines_read;
1122: --
1123: -- trim leading spaces and discard comment lines
1142: FND_MSG_PUB.Add;
1143: end if;
1144: --dbms_output.put_line('Unexpected END OF FILE: state is ' ||
1145: -- to_char(l_state));
1146: raise FND_API.G_EXC_ERROR;
1147: end if;
1148:
1149: --
1150: -- Load line number of the last file line processed
1150: -- Load line number of the last file line processed
1151: --
1152: p_line_num_out := l_line_num;
1153:
1154: p_return_status := FND_API.G_RET_STS_SUCCESS;
1155:
1156:
1157: EXCEPTION
1158: WHEN FND_API.G_EXC_ERROR THEN
1154: p_return_status := FND_API.G_RET_STS_SUCCESS;
1155:
1156:
1157: EXCEPTION
1158: WHEN FND_API.G_EXC_ERROR THEN
1159: p_return_status := FND_API.G_RET_STS_ERROR;
1160: rollback to Start_Upload;
1161: WHEN VALUE_ERROR THEN
1162: p_return_status := FND_API.G_RET_STS_ERROR;
1155:
1156:
1157: EXCEPTION
1158: WHEN FND_API.G_EXC_ERROR THEN
1159: p_return_status := FND_API.G_RET_STS_ERROR;
1160: rollback to Start_Upload;
1161: WHEN VALUE_ERROR THEN
1162: p_return_status := FND_API.G_RET_STS_ERROR;
1163: FND_MESSAGE.SET_NAME('AK','AK_REGION_VALUE_ERROR');
1158: WHEN FND_API.G_EXC_ERROR THEN
1159: p_return_status := FND_API.G_RET_STS_ERROR;
1160: rollback to Start_Upload;
1161: WHEN VALUE_ERROR THEN
1162: p_return_status := FND_API.G_RET_STS_ERROR;
1163: FND_MESSAGE.SET_NAME('AK','AK_REGION_VALUE_ERROR');
1164: FND_MESSAGE.SET_TOKEN('KEY',l_amparam_rec.applicationmodule_defn_name);
1165: FND_MSG_PUB.Add;
1166: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1166: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1167: SUBSTR (SQLERRM, 1, 240)||': '||l_column||'='||l_token );
1168: FND_MSG_PUB.Add;
1169: WHEN OTHERS THEN
1170: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1171: rollback to Start_Upload;
1172: FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1173: SUBSTR (SQLERRM, 1, 240) );
1174: FND_MSG_PUB.Add;