35: WHERE id = p_id;
36: l_okl_ptl_qualitys_pk okl_ptl_qualitys_pk_csr%ROWTYPE;
37: l_ptqv_rec ptqv_rec_type;
38: BEGIN
39: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
40: x_no_data_found := TRUE;
41: -- Get current database values
42: OPEN okl_ptl_qualitys_pk_csr (p_ptqv_rec.id);
43: FETCH okl_ptl_qualitys_pk_csr INTO
57: x_ptqv_rec := l_ptqv_rec;
58: EXCEPTION
59: WHEN OTHERS THEN
60: -- store SQL error message on message stack
61: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
62: p_msg_name => G_UNEXPECTED_ERROR,
63: p_token1 => G_SQLCODE_TOKEN,
64: p_token1_value => SQLCODE,
65: p_token2 => G_SQLERRM_TOKEN,
64: p_token1_value => SQLCODE,
65: p_token2 => G_SQLERRM_TOKEN,
66: p_token2_value => SQLERRM);
67: -- notify UNEXPECTED error for calling API.
68: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
69:
70: IF (okl_ptl_qualitys_pk_csr%ISOPEN) THEN
71: CLOSE okl_ptl_qualitys_pk_csr;
72: END IF;
89: FROM Okl_PTQ_VALUES_V ptv
90: WHERE ptv.ptq_id = p_ptq_id
91: AND ptv.TO_DATE IS NULL;
92:
93: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
94: l_count NUMBER := 0;
95: l_ptvv_tbl ptvv_tbl_type;
96: i NUMBER := 0;
97:
95: l_ptvv_tbl ptvv_tbl_type;
96: i NUMBER := 0;
97:
98: BEGIN
99: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
100:
101: -- Get current database values
102: FOR okl_ptv_rec IN okl_ptvv_fk_csr(p_upd_ptqv_rec.id)
103: LOOP
111:
112: EXCEPTION
113: WHEN OTHERS THEN
114: -- store SQL error message on message stack
115: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
116: p_msg_name => G_UNEXPECTED_ERROR,
117: p_token1 => G_SQLCODE_TOKEN,
118: p_token1_value => SQLCODE,
119: p_token2 => G_SQLERRM_TOKEN,
118: p_token1_value => SQLCODE,
119: p_token2 => G_SQLERRM_TOKEN,
120: p_token2_value => SQLERRM );
121: -- notify UNEXPECTED error for calling API.
122: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
123:
124: IF (okl_ptvv_fk_csr%ISOPEN) THEN
125: CLOSE okl_ptvv_fk_csr;
126: END IF;
168: l_row_not_found BOOLEAN := FALSE;
169:
170: BEGIN
171: x_valid := TRUE;
172: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
173:
174: l_token_1 := Okl_Accounting_Util.Get_Message_Token(p_region_code => 'OKL_LP_TMPQLTY_CRUPD',
175: p_attribute_code => 'OKL_TEMPLATE_QUALITIES');
176:
192: l_row_not_found := okl_ptq_constraints_csr%NOTFOUND;
193: CLOSE okl_ptq_constraints_csr;
194:
195: IF l_row_not_found = FALSE THEN
196: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
197: p_msg_name => G_DATES_MISMATCH,
198: p_token1 => G_PARENT_TABLE_TOKEN,
199: p_token1_value => l_token_1,
200: p_token2 => G_CHILD_TABLE_TOKEN,
199: p_token1_value => l_token_1,
200: p_token2 => G_CHILD_TABLE_TOKEN,
201: p_token2_value => l_token_4);
202: x_valid := FALSE;
203: x_return_status := Okl_Api.G_RET_STS_ERROR;
204: END IF;
205:
206: EXCEPTION
207: WHEN OTHERS THEN
205:
206: EXCEPTION
207: WHEN OTHERS THEN
208: -- store SQL error message on message stack
209: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
210: p_msg_name => G_UNEXPECTED_ERROR,
211: p_token1 => G_SQLCODE_TOKEN,
212: p_token1_value => SQLCODE,
213: p_token2 => G_SQLERRM_TOKEN,
212: p_token1_value => SQLCODE,
213: p_token2 => G_SQLERRM_TOKEN,
214: p_token2_value => SQLERRM);
215: x_valid := FALSE;
216: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
217:
218: IF (okl_ptq_constraints_csr%ISOPEN) THEN
219: CLOSE okl_ptq_constraints_csr;
220: END IF;
240: PROCEDURE Validate_Name(p_ptqv_rec IN OUT NOCOPY ptqv_rec_type
241: ,x_return_status OUT NOCOPY VARCHAR2)
242: IS
243:
244: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
245: l_token_1 VARCHAR2(999);
246:
247: BEGIN
248: -- initialize return status
245: l_token_1 VARCHAR2(999);
246:
247: BEGIN
248: -- initialize return status
249: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
250:
251: l_token_1 := Okl_Accounting_Util.Get_Message_Token('OKL_LP_TMPQLTY_CRUPD','OKL_NAME');
252:
253: -- check for data before processing
251: l_token_1 := Okl_Accounting_Util.Get_Message_Token('OKL_LP_TMPQLTY_CRUPD','OKL_NAME');
252:
253: -- check for data before processing
254: IF (p_ptqv_rec.name IS NULL) OR
255: (p_ptqv_rec.name = Okl_Api.G_MISS_CHAR) THEN
256: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name
257: ,p_msg_name => Okl_Ptq_Pvt.g_required_value
258: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
259: ,p_token1_value => l_token_1);
252:
253: -- check for data before processing
254: IF (p_ptqv_rec.name IS NULL) OR
255: (p_ptqv_rec.name = Okl_Api.G_MISS_CHAR) THEN
256: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name
257: ,p_msg_name => Okl_Ptq_Pvt.g_required_value
258: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
259: ,p_token1_value => l_token_1);
260: x_return_status := Okl_Api.G_RET_STS_ERROR;
256: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name
257: ,p_msg_name => Okl_Ptq_Pvt.g_required_value
258: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
259: ,p_token1_value => l_token_1);
260: x_return_status := Okl_Api.G_RET_STS_ERROR;
261: RAISE G_EXCEPTION_HALT_PROCESSING;
262: END IF;
263: p_ptqv_rec.name := Okl_Accounting_Util.okl_upper(p_ptqv_rec.name);
264: EXCEPTION
268: NULL;
269:
270: WHEN OTHERS THEN
271: -- store SQL error message on message stack for caller
272: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name,
273: p_msg_name => Okl_Ptq_Pvt.g_unexpected_error,
274: p_token1 => Okl_Ptq_Pvt.g_sqlcode_token,
275: p_token1_value => SQLCODE,
276: p_token2 => Okl_Ptq_Pvt.g_sqlerrm_token,
276: p_token2 => Okl_Ptq_Pvt.g_sqlerrm_token,
277: p_token2_value => SQLERRM);
278:
279: -- notify caller of an UNEXPECTED error
280: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
281:
282: END Validate_Name;
283:
284: ---------------------------------------------------------------------------
296: PROCEDURE Validate_From_Date(p_ptqv_rec IN ptqv_rec_type
297: ,x_return_status OUT NOCOPY VARCHAR2)
298: IS
299:
300: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
301: l_token_1 VARCHAR2(999);
302:
303: BEGIN
304: -- initialize return status
301: l_token_1 VARCHAR2(999);
302:
303: BEGIN
304: -- initialize return status
305: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
306:
307: l_token_1 := Okl_Accounting_Util.Get_Message_Token('OKL_LP_TMPQLTY_CRUPD','OKL_EFFECTIVE_FROM');
308:
309: -- check for data before processing
307: l_token_1 := Okl_Accounting_Util.Get_Message_Token('OKL_LP_TMPQLTY_CRUPD','OKL_EFFECTIVE_FROM');
308:
309: -- check for data before processing
310: IF (p_ptqv_rec.from_date IS NULL) OR
311: (p_ptqv_rec.from_date = Okl_Api.G_MISS_DATE) THEN
312: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name
313: ,p_msg_name => Okl_Ptq_Pvt.g_required_value
314: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
315: ,p_token1_value => l_token_1);
308:
309: -- check for data before processing
310: IF (p_ptqv_rec.from_date IS NULL) OR
311: (p_ptqv_rec.from_date = Okl_Api.G_MISS_DATE) THEN
312: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name
313: ,p_msg_name => Okl_Ptq_Pvt.g_required_value
314: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
315: ,p_token1_value => l_token_1);
316: x_return_status := Okl_Api.G_RET_STS_ERROR;
312: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name
313: ,p_msg_name => Okl_Ptq_Pvt.g_required_value
314: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
315: ,p_token1_value => l_token_1);
316: x_return_status := Okl_Api.G_RET_STS_ERROR;
317: RAISE G_EXCEPTION_HALT_PROCESSING;
318: END IF;
319:
320: EXCEPTION
324: NULL;
325:
326: WHEN OTHERS THEN
327: -- store SQL error message on message stack for caller
328: Okl_Api.SET_MESSAGE(p_app_name => Okl_Ptq_Pvt.g_app_name,
329: p_msg_name => Okl_Ptq_Pvt.g_unexpected_error,
330: p_token1 => Okl_Ptq_Pvt.g_sqlcode_token,
331: p_token1_value => SQLCODE,
332: p_token2 => Okl_Ptq_Pvt.g_sqlerrm_token,
332: p_token2 => Okl_Ptq_Pvt.g_sqlerrm_token,
333: p_token2_value => SQLERRM);
334:
335: -- notify caller of an UNEXPECTED error
336: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
337:
338: END Validate_From_Date;
339:
340: ---------------------------------------------------------------------------
352:
353: FUNCTION Validate_Attributes (
354: p_ptqv_rec IN OUT NOCOPY ptqv_rec_type
355: ) RETURN VARCHAR2 IS
356: x_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
357: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
358: BEGIN
359:
360: -- Validate_Name
353: FUNCTION Validate_Attributes (
354: p_ptqv_rec IN OUT NOCOPY ptqv_rec_type
355: ) RETURN VARCHAR2 IS
356: x_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
357: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
358: BEGIN
359:
360: -- Validate_Name
361: Validate_Name(p_ptqv_rec,x_return_status);
358: BEGIN
359:
360: -- Validate_Name
361: Validate_Name(p_ptqv_rec,x_return_status);
362: IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
363: IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
364: -- need to leave
365: l_return_status := x_return_status;
366: RAISE G_EXCEPTION_HALT_PROCESSING;
359:
360: -- Validate_Name
361: Validate_Name(p_ptqv_rec,x_return_status);
362: IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
363: IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
364: -- need to leave
365: l_return_status := x_return_status;
366: RAISE G_EXCEPTION_HALT_PROCESSING;
367: ELSE
371: END IF;
372:
373: -- Validate_From_Date
374: Validate_From_Date(p_ptqv_rec,x_return_status);
375: IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
376: IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
377: -- need to leave
378: l_return_status := x_return_status;
379: RAISE G_EXCEPTION_HALT_PROCESSING;
372:
373: -- Validate_From_Date
374: Validate_From_Date(p_ptqv_rec,x_return_status);
375: IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
376: IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
377: -- need to leave
378: l_return_status := x_return_status;
379: RAISE G_EXCEPTION_HALT_PROCESSING;
380: ELSE
391: RETURN (l_return_status);
392:
393: WHEN OTHERS THEN
394: -- store SQL error message on message stack for caller
395: Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
396: p_msg_name => g_unexpected_error,
397: p_token1 => g_sqlcode_token,
398: p_token1_value => SQLCODE,
399: p_token2 => g_sqlerrm_token,
398: p_token1_value => SQLCODE,
399: p_token2 => g_sqlerrm_token,
400: p_token2_value => SQLERRM);
401: -- notify caller of an UNEXPECTED error
402: l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
403: RETURN(l_return_status);
404:
405: END Validate_Attributes;
406:
419:
420: /* create a temporary record with all relevant details from db and upd records */
421: l_ptqv_rec := p_db_ptqv_rec;
422:
423: IF p_upd_ptqv_rec.description <> Okl_Api.G_MISS_CHAR THEN
424: l_ptqv_rec.description := p_upd_ptqv_rec.description;
425: END IF;
426:
427: IF p_upd_ptqv_rec.name <> Okl_Api.G_MISS_CHAR THEN
423: IF p_upd_ptqv_rec.description <> Okl_Api.G_MISS_CHAR THEN
424: l_ptqv_rec.description := p_upd_ptqv_rec.description;
425: END IF;
426:
427: IF p_upd_ptqv_rec.name <> Okl_Api.G_MISS_CHAR THEN
428: l_ptqv_rec.name := p_upd_ptqv_rec.name;
429: END IF;
430:
431: IF p_upd_ptqv_rec.from_date <> Okl_Api.G_MISS_DATE THEN
427: IF p_upd_ptqv_rec.name <> Okl_Api.G_MISS_CHAR THEN
428: l_ptqv_rec.name := p_upd_ptqv_rec.name;
429: END IF;
430:
431: IF p_upd_ptqv_rec.from_date <> Okl_Api.G_MISS_DATE THEN
432: l_ptqv_rec.from_date := p_upd_ptqv_rec.from_date;
433: END IF;
434:
435: IF p_upd_ptqv_rec.TO_DATE <> Okl_Api.G_MISS_DATE THEN
431: IF p_upd_ptqv_rec.from_date <> Okl_Api.G_MISS_DATE THEN
432: l_ptqv_rec.from_date := p_upd_ptqv_rec.from_date;
433: END IF;
434:
435: IF p_upd_ptqv_rec.TO_DATE <> Okl_Api.G_MISS_DATE THEN
436: l_ptqv_rec.TO_DATE := p_upd_ptqv_rec.TO_DATE;
437: END IF;
438:
439: RETURN l_ptqv_rec;
455: l_upd_ptqv_rec := p_upd_ptqv_rec;
456: l_db_ptqv_rec := p_db_ptqv_rec;
457:
458: IF l_upd_ptqv_rec.description = l_db_ptqv_rec.description THEN
459: l_upd_ptqv_rec.description := Okl_Api.G_MISS_CHAR;
460: END IF;
461:
462: IF to_date(to_char(l_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') = to_date(to_char(l_db_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') THEN
463: l_upd_ptqv_rec.from_date := Okl_Api.G_MISS_DATE;
459: l_upd_ptqv_rec.description := Okl_Api.G_MISS_CHAR;
460: END IF;
461:
462: IF to_date(to_char(l_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') = to_date(to_char(l_db_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') THEN
463: l_upd_ptqv_rec.from_date := Okl_Api.G_MISS_DATE;
464: END IF;
465:
466: IF to_date(to_char(l_upd_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') = to_date(to_char(l_db_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') THEN
467: l_upd_ptqv_rec.TO_DATE := Okl_Api.G_MISS_DATE;
463: l_upd_ptqv_rec.from_date := Okl_Api.G_MISS_DATE;
464: END IF;
465:
466: IF to_date(to_char(l_upd_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') = to_date(to_char(l_db_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') THEN
467: l_upd_ptqv_rec.TO_DATE := Okl_Api.G_MISS_DATE;
468: END IF;
469:
470: IF l_upd_ptqv_rec.name = l_db_ptqv_rec.name THEN
471: l_upd_ptqv_rec.name := Okl_Api.G_MISS_CHAR;
467: l_upd_ptqv_rec.TO_DATE := Okl_Api.G_MISS_DATE;
468: END IF;
469:
470: IF l_upd_ptqv_rec.name = l_db_ptqv_rec.name THEN
471: l_upd_ptqv_rec.name := Okl_Api.G_MISS_CHAR;
472: END IF;
473:
474: p_upd_ptqv_rec := l_upd_ptqv_rec;
475:
487: x_return_status OUT NOCOPY VARCHAR2,
488: x_msg_data OUT NOCOPY VARCHAR2
489: ) IS
490: l_ptqv_rec ptqv_rec_type;
491: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
492: l_sysdate DATE := to_date(to_char(SYSDATE, 'DD/MM/YYYY'), 'DD/MM/YYYY');
493: l_valid BOOLEAN;
494: BEGIN
495:
492: l_sysdate DATE := to_date(to_char(SYSDATE, 'DD/MM/YYYY'), 'DD/MM/YYYY');
493: l_valid BOOLEAN;
494: BEGIN
495:
496: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
497: l_ptqv_rec := p_ptqv_rec;
498:
499: /* check for start date greater than sysdate */
500: /*IF to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <> to_date(to_char(Okl_Api.G_MISS_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') AND
496: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
497: l_ptqv_rec := p_ptqv_rec;
498:
499: /* check for start date greater than sysdate */
500: /*IF to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <> to_date(to_char(Okl_Api.G_MISS_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') AND
501: to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
502: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
503: p_msg_name => G_START_DATE);
504: x_return_status := Okl_Api.G_RET_STS_ERROR;
498:
499: /* check for start date greater than sysdate */
500: /*IF to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <> to_date(to_char(Okl_Api.G_MISS_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') AND
501: to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
502: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
503: p_msg_name => G_START_DATE);
504: x_return_status := Okl_Api.G_RET_STS_ERROR;
505: RAISE G_EXCEPTION_HALT_PROCESSING;
506: END IF;
500: /*IF to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <> to_date(to_char(Okl_Api.G_MISS_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') AND
501: to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
502: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
503: p_msg_name => G_START_DATE);
504: x_return_status := Okl_Api.G_RET_STS_ERROR;
505: RAISE G_EXCEPTION_HALT_PROCESSING;
506: END IF;
507: */
508: /* check for the records with from and to dates less than sysdate */
506: END IF;
507: */
508: /* check for the records with from and to dates less than sysdate */
509: /*IF to_date(to_char(p_upd_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
510: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
511: p_msg_name => G_PAST_RECORDS);
512: x_return_status := Okl_Api.G_RET_STS_ERROR;
513: RAISE G_EXCEPTION_HALT_PROCESSING;
514: END IF;
508: /* check for the records with from and to dates less than sysdate */
509: /*IF to_date(to_char(p_upd_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
510: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
511: p_msg_name => G_PAST_RECORDS);
512: x_return_status := Okl_Api.G_RET_STS_ERROR;
513: RAISE G_EXCEPTION_HALT_PROCESSING;
514: END IF;
515: */
516: /* if the start date is in the past, the start date cannot be
514: END IF;
515: */
516: /* if the start date is in the past, the start date cannot be
517: modified */
518: /*IF to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <> to_date(to_char(Okl_Api.G_MISS_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') AND
519: to_date(to_char(p_db_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <= l_sysdate THEN
520: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
521: p_msg_name => G_NOT_ALLOWED,
522: p_token1 => G_COL_NAME_TOKEN,
516: /* if the start date is in the past, the start date cannot be
517: modified */
518: /*IF to_date(to_char(p_upd_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <> to_date(to_char(Okl_Api.G_MISS_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') AND
519: to_date(to_char(p_db_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') <= l_sysdate THEN
520: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
521: p_msg_name => G_NOT_ALLOWED,
522: p_token1 => G_COL_NAME_TOKEN,
523: p_token1_value => 'START_DATE');
524: x_return_status := Okl_Api.G_RET_STS_ERROR;
520: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
521: p_msg_name => G_NOT_ALLOWED,
522: p_token1 => G_COL_NAME_TOKEN,
523: p_token1_value => 'START_DATE');
524: x_return_status := Okl_Api.G_RET_STS_ERROR;
525: RAISE G_EXCEPTION_HALT_PROCESSING;
526: END IF;
527: */
528: IF l_ptqv_rec.from_date <> Okl_Api.G_MISS_DATE OR
524: x_return_status := Okl_Api.G_RET_STS_ERROR;
525: RAISE G_EXCEPTION_HALT_PROCESSING;
526: END IF;
527: */
528: IF l_ptqv_rec.from_date <> Okl_Api.G_MISS_DATE OR
529: l_ptqv_rec.TO_DATE <> Okl_Api.G_MISS_DATE THEN
530:
531: /* call validate_fkeys */
532: Check_Constraints(p_ptqv_rec => l_ptqv_rec,
525: RAISE G_EXCEPTION_HALT_PROCESSING;
526: END IF;
527: */
528: IF l_ptqv_rec.from_date <> Okl_Api.G_MISS_DATE OR
529: l_ptqv_rec.TO_DATE <> Okl_Api.G_MISS_DATE THEN
530:
531: /* call validate_fkeys */
532: Check_Constraints(p_ptqv_rec => l_ptqv_rec,
533: x_return_status => l_return_status,
532: Check_Constraints(p_ptqv_rec => l_ptqv_rec,
533: x_return_status => l_return_status,
534: x_valid => l_valid);
535:
536: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
537: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
538: RAISE G_EXCEPTION_HALT_PROCESSING;
539: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) OR
540: (l_return_status = Okl_Api.G_RET_STS_SUCCESS AND
533: x_return_status => l_return_status,
534: x_valid => l_valid);
535:
536: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
537: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
538: RAISE G_EXCEPTION_HALT_PROCESSING;
539: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) OR
540: (l_return_status = Okl_Api.G_RET_STS_SUCCESS AND
541: l_valid <> TRUE) THEN
535:
536: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
537: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
538: RAISE G_EXCEPTION_HALT_PROCESSING;
539: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) OR
540: (l_return_status = Okl_Api.G_RET_STS_SUCCESS AND
541: l_valid <> TRUE) THEN
542: x_return_status := Okl_Api.G_RET_STS_ERROR;
543: RAISE G_EXCEPTION_HALT_PROCESSING;
536: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
537: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
538: RAISE G_EXCEPTION_HALT_PROCESSING;
539: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) OR
540: (l_return_status = Okl_Api.G_RET_STS_SUCCESS AND
541: l_valid <> TRUE) THEN
542: x_return_status := Okl_Api.G_RET_STS_ERROR;
543: RAISE G_EXCEPTION_HALT_PROCESSING;
544: END IF;
538: RAISE G_EXCEPTION_HALT_PROCESSING;
539: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) OR
540: (l_return_status = Okl_Api.G_RET_STS_SUCCESS AND
541: l_valid <> TRUE) THEN
542: x_return_status := Okl_Api.G_RET_STS_ERROR;
543: RAISE G_EXCEPTION_HALT_PROCESSING;
544: END IF;
545:
546: END IF;
552: NULL;
553:
554: WHEN OTHERS THEN
555: -- store SQL error message on message stack for caller
556: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
557: p_msg_name => G_UNEXPECTED_ERROR,
558: p_token1 => G_SQLCODE_TOKEN,
559: p_token1_value => SQLCODE,
560: p_token2 => G_SQLERRM_TOKEN,
560: p_token2 => G_SQLERRM_TOKEN,
561: p_token2_value => SQLERRM );
562: x_msg_data := 'Unexpected DATABASE Error';
563: -- notify caller of an UNEXPECTED error
564: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
565:
566: END check_updates;
567:
568: ---------------------------------------------------------------------------
578: l_action VARCHAR2(1);
579: l_sysdate DATE := to_date(to_char(SYSDATE, 'DD/MM/YYYY'), 'DD/MM/YYYY');
580: BEGIN
581: /* Scenario 1: Only description and/or descriptive flexfield changes */
582: IF p_upd_ptqv_rec.from_date = Okl_Api.G_MISS_DATE AND
583: p_upd_ptqv_rec.TO_DATE = Okl_Api.G_MISS_DATE THEN
584: l_action := '1';
585: /* Scenario 2: Changing the dates */
586: ELSE
579: l_sysdate DATE := to_date(to_char(SYSDATE, 'DD/MM/YYYY'), 'DD/MM/YYYY');
580: BEGIN
581: /* Scenario 1: Only description and/or descriptive flexfield changes */
582: IF p_upd_ptqv_rec.from_date = Okl_Api.G_MISS_DATE AND
583: p_upd_ptqv_rec.TO_DATE = Okl_Api.G_MISS_DATE THEN
584: l_action := '1';
585: /* Scenario 2: Changing the dates */
586: ELSE
587: l_action := '2';
593: ---------------------------------------------------------------------------
594: -- PROCEDURE copy_update_constraints for: OKL_PTL_QUALITYS_V
595: ---------------------------------------------------------------------------
596: PROCEDURE copy_update_constraints (p_api_version IN NUMBER,
597: p_init_msg_list IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
598: p_upd_ptqv_rec IN ptqv_rec_type,
599: x_return_status OUT NOCOPY VARCHAR2,
600: x_msg_count OUT NOCOPY NUMBER,
601: x_msg_data OUT NOCOPY VARCHAR2
600: x_msg_count OUT NOCOPY NUMBER,
601: x_msg_data OUT NOCOPY VARCHAR2
602: ) IS
603: l_upd_ptqv_rec ptqv_rec_type; /* input copy */
604: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
605: l_ptv_count NUMBER := 0;
606: l_ptvv_tbl ptvv_tbl_type;
607: l_out_ptvv_tbl ptvv_tbl_type;
608:
606: l_ptvv_tbl ptvv_tbl_type;
607: l_out_ptvv_tbl ptvv_tbl_type;
608:
609: BEGIN
610: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
611: l_upd_ptqv_rec := p_upd_ptqv_rec;
612:
613: /* Get Template Quality Values */
614: get_ptq_values(p_upd_ptqv_rec => l_upd_ptqv_rec,
615: x_return_status => l_return_status,
616: x_count => l_ptv_count,
617: x_ptvv_tbl => l_ptvv_tbl);
618:
619: IF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
620: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
621: RAISE G_EXCEPTION_HALT_PROCESSING;
622: END IF;
623:
616: x_count => l_ptv_count,
617: x_ptvv_tbl => l_ptvv_tbl);
618:
619: IF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
620: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
621: RAISE G_EXCEPTION_HALT_PROCESSING;
622: END IF;
623:
624: IF l_ptv_count > 0 THEN
630: p_ptvv_tbl => l_ptvv_tbl,
631: x_ptvv_tbl => l_out_ptvv_tbl);
632: END IF;
633:
634: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
635: x_return_status := Okl_Api.G_RET_STS_ERROR;
636: RAISE G_EXCEPTION_HALT_PROCESSING;
637: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
638: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
631: x_ptvv_tbl => l_out_ptvv_tbl);
632: END IF;
633:
634: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
635: x_return_status := Okl_Api.G_RET_STS_ERROR;
636: RAISE G_EXCEPTION_HALT_PROCESSING;
637: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
638: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
639: RAISE G_EXCEPTION_HALT_PROCESSING;
633:
634: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
635: x_return_status := Okl_Api.G_RET_STS_ERROR;
636: RAISE G_EXCEPTION_HALT_PROCESSING;
637: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
638: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
639: RAISE G_EXCEPTION_HALT_PROCESSING;
640: END IF;
641:
634: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
635: x_return_status := Okl_Api.G_RET_STS_ERROR;
636: RAISE G_EXCEPTION_HALT_PROCESSING;
637: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
638: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
639: RAISE G_EXCEPTION_HALT_PROCESSING;
640: END IF;
641:
642: EXCEPTION
646: NULL;
647:
648: WHEN OTHERS THEN
649: -- store SQL error message on message stack
650: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
651: p_msg_name => G_UNEXPECTED_ERROR,
652: p_token1 => G_SQLCODE_TOKEN,
653: p_token1_value => SQLCODE,
654: p_token2 => G_SQLERRM_TOKEN,
653: p_token1_value => SQLCODE,
654: p_token2 => G_SQLERRM_TOKEN,
655: p_token2_value => SQLERRM );
656: -- notify UNEXPECTED error for calling API.
657: x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
658:
659: END copy_update_constraints;
660:
661:
663: -- PROCEDURE insert_tqualitys for: Okl_Ptl_Qualitys_v
664: ---------------------------------------------------------------------------
665:
666: PROCEDURE insert_tqualitys(p_api_version IN NUMBER,
667: p_init_msg_list IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
668: x_return_status OUT NOCOPY VARCHAR2,
669: x_msg_count OUT NOCOPY NUMBER,
670: x_msg_data OUT NOCOPY VARCHAR2,
671: p_ptqv_rec IN ptqv_rec_type,
683: l_row_found BOOLEAN := FALSE;
684:
685: l_api_version CONSTANT NUMBER := 1;
686: l_api_name CONSTANT VARCHAR2(30) := 'insert_tqualitys';
687: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
688: l_valid BOOLEAN;
689: l_ptqv_rec ptqv_rec_type;
690: l_sysdate DATE := to_date(to_char(SYSDATE, 'DD/MM/YYYY'), 'DD/MM/YYYY');
691: BEGIN
688: l_valid BOOLEAN;
689: l_ptqv_rec ptqv_rec_type;
690: l_sysdate DATE := to_date(to_char(SYSDATE, 'DD/MM/YYYY'), 'DD/MM/YYYY');
691: BEGIN
692: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
693:
694: l_ptqv_rec := p_ptqv_rec;
695:
696: l_return_status := Okl_Api.START_ACTIVITY(p_api_name => l_api_name,
692: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
693:
694: l_ptqv_rec := p_ptqv_rec;
695:
696: l_return_status := Okl_Api.START_ACTIVITY(p_api_name => l_api_name,
697: p_pkg_name => G_PKG_NAME,
698: p_init_msg_list => p_init_msg_list,
699: l_api_version => l_api_version,
700: p_api_version => p_api_version,
700: p_api_version => p_api_version,
701: p_api_type => '_PVT',
702: x_return_status => l_return_status);
703:
704: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
705: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
706: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
707: RAISE Okl_Api.G_EXCEPTION_ERROR;
708: END IF;
701: p_api_type => '_PVT',
702: x_return_status => l_return_status);
703:
704: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
705: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
706: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
707: RAISE Okl_Api.G_EXCEPTION_ERROR;
708: END IF;
709:
702: x_return_status => l_return_status);
703:
704: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
705: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
706: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
707: RAISE Okl_Api.G_EXCEPTION_ERROR;
708: END IF;
709:
710: l_return_status := Validate_Attributes(l_ptqv_rec);
703:
704: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
705: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
706: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
707: RAISE Okl_Api.G_EXCEPTION_ERROR;
708: END IF;
709:
710: l_return_status := Validate_Attributes(l_ptqv_rec);
711: --- If any errors happen abort API
708: END IF;
709:
710: l_return_status := Validate_Attributes(l_ptqv_rec);
711: --- If any errors happen abort API
712: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
713: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
714: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
715: RAISE Okl_Api.G_EXCEPTION_ERROR;
716: END IF;
709:
710: l_return_status := Validate_Attributes(l_ptqv_rec);
711: --- If any errors happen abort API
712: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
713: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
714: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
715: RAISE Okl_Api.G_EXCEPTION_ERROR;
716: END IF;
717:
710: l_return_status := Validate_Attributes(l_ptqv_rec);
711: --- If any errors happen abort API
712: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
713: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
714: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
715: RAISE Okl_Api.G_EXCEPTION_ERROR;
716: END IF;
717:
718: l_token_1 := Okl_Accounting_Util.Get_Message_Token(p_region_code => 'OKL_LP_TMPQLTY_CRUPD',
711: --- If any errors happen abort API
712: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
713: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
714: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
715: RAISE Okl_Api.G_EXCEPTION_ERROR;
716: END IF;
717:
718: l_token_1 := Okl_Accounting_Util.Get_Message_Token(p_region_code => 'OKL_LP_TMPQLTY_CRUPD',
719: p_attribute_code => 'OKL_TEMPLATE_QUALITIES');
722: FETCH c1 INTO l_ptq_status;
723: l_row_found := c1%FOUND;
724: CLOSE c1;
725: IF l_row_found THEN
726: Okl_Api.set_message('OKL',G_UNQS,G_TABLE_TOKEN, l_token_1); ---CHG001
727: RAISE Okl_Api.G_EXCEPTION_ERROR;
728: END IF;
729:
730: /* check for the records with start and end dates less than sysdate */
723: l_row_found := c1%FOUND;
724: CLOSE c1;
725: IF l_row_found THEN
726: Okl_Api.set_message('OKL',G_UNQS,G_TABLE_TOKEN, l_token_1); ---CHG001
727: RAISE Okl_Api.G_EXCEPTION_ERROR;
728: END IF;
729:
730: /* check for the records with start and end dates less than sysdate */
731:
730: /* check for the records with start and end dates less than sysdate */
731:
732: /*IF to_date(to_char(l_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate OR
733: to_date(to_char(l_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
734: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
735: p_msg_name => G_PAST_RECORDS);
736: RAISE Okl_Api.G_EXCEPTION_ERROR;
737: END IF;
738: */
732: /*IF to_date(to_char(l_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate OR
733: to_date(to_char(l_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
734: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
735: p_msg_name => G_PAST_RECORDS);
736: RAISE Okl_Api.G_EXCEPTION_ERROR;
737: END IF;
738: */
739: /* public api to insert tqualitys */
740:
745: x_msg_data => x_msg_data,
746: p_ptqv_rec => l_ptqv_rec,
747: x_ptqv_rec => x_ptqv_rec);
748:
749: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
750: RAISE Okl_Api.G_EXCEPTION_ERROR;
751: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
752: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
753: END IF;
746: p_ptqv_rec => l_ptqv_rec,
747: x_ptqv_rec => x_ptqv_rec);
748:
749: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
750: RAISE Okl_Api.G_EXCEPTION_ERROR;
751: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
752: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
753: END IF;
754:
747: x_ptqv_rec => x_ptqv_rec);
748:
749: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
750: RAISE Okl_Api.G_EXCEPTION_ERROR;
751: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
752: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
753: END IF;
754:
755: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
748:
749: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
750: RAISE Okl_Api.G_EXCEPTION_ERROR;
751: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
752: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
753: END IF;
754:
755: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
756: x_msg_data => x_msg_data);
751: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
752: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
753: END IF;
754:
755: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
756: x_msg_data => x_msg_data);
757: EXCEPTION
758: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
759: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
754:
755: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
756: x_msg_data => x_msg_data);
757: EXCEPTION
758: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
759: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
760: p_pkg_name => G_PKG_NAME,
761: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
762: x_msg_count => x_msg_count,
755: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
756: x_msg_data => x_msg_data);
757: EXCEPTION
758: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
759: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
760: p_pkg_name => G_PKG_NAME,
761: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
762: x_msg_count => x_msg_count,
763: x_msg_data => x_msg_data,
757: EXCEPTION
758: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
759: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
760: p_pkg_name => G_PKG_NAME,
761: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
762: x_msg_count => x_msg_count,
763: x_msg_data => x_msg_data,
764: p_api_type => '_PVT');
765: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
761: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
762: x_msg_count => x_msg_count,
763: x_msg_data => x_msg_data,
764: p_api_type => '_PVT');
765: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
766: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
767: p_pkg_name => G_PKG_NAME,
768: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
769: x_msg_count => x_msg_count,
762: x_msg_count => x_msg_count,
763: x_msg_data => x_msg_data,
764: p_api_type => '_PVT');
765: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
766: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
767: p_pkg_name => G_PKG_NAME,
768: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
769: x_msg_count => x_msg_count,
770: x_msg_data => x_msg_data,
764: p_api_type => '_PVT');
765: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
766: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
767: p_pkg_name => G_PKG_NAME,
768: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
769: x_msg_count => x_msg_count,
770: x_msg_data => x_msg_data,
771: p_api_type => '_PVT');
772: WHEN OTHERS THEN
769: x_msg_count => x_msg_count,
770: x_msg_data => x_msg_data,
771: p_api_type => '_PVT');
772: WHEN OTHERS THEN
773: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
774: p_pkg_name => G_PKG_NAME,
775: p_exc_name => 'OTHERS',
776: x_msg_count => x_msg_count,
777: x_msg_data => x_msg_data,
785: ---------------------------------------------------------------------------
786: -- PROCEDURE update_tqualitys for: Okl_Ptl_Qualitys_v
787: ---------------------------------------------------------------------------
788: PROCEDURE update_tqualitys(p_api_version IN NUMBER,
789: p_init_msg_list IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
790: x_return_status OUT NOCOPY VARCHAR2,
791: x_msg_count OUT NOCOPY NUMBER,
792: x_msg_data OUT NOCOPY VARCHAR2,
793: p_ptqv_rec IN ptqv_rec_type,
794: x_ptqv_rec OUT NOCOPY ptqv_rec_type
795: ) IS
796: l_api_version CONSTANT NUMBER := 1;
797: l_api_name CONSTANT VARCHAR2(30) := 'update_tqualitys';
798: l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
799: l_sysdate DATE := to_date(to_char(SYSDATE, 'DD/MM/YYYY'), 'DD/MM/YYYY');
800: l_valid BOOLEAN;
801: l_db_ptqv_rec ptqv_rec_type; /* database copy */
802: l_upd_ptqv_rec ptqv_rec_type; /* input copy */
805: l_no_data_found BOOLEAN := TRUE;
806: l_action VARCHAR2(1);
807: BEGIN
808:
809: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
810:
811: l_upd_ptqv_rec := p_ptqv_rec;
812:
813: l_return_status := Okl_Api.START_ACTIVITY(p_api_name => l_api_name,
809: x_return_status := Okl_Api.G_RET_STS_SUCCESS;
810:
811: l_upd_ptqv_rec := p_ptqv_rec;
812:
813: l_return_status := Okl_Api.START_ACTIVITY(p_api_name => l_api_name,
814: p_pkg_name => G_PKG_NAME,
815: p_init_msg_list => p_init_msg_list,
816: l_api_version => l_api_version,
817: p_api_version => p_api_version,
817: p_api_version => p_api_version,
818: p_api_type => '_PVT',
819: x_return_status => l_return_status);
820:
821: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
822: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
823: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
824: RAISE Okl_Api.G_EXCEPTION_ERROR;
825: END IF;
818: p_api_type => '_PVT',
819: x_return_status => l_return_status);
820:
821: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
822: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
823: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
824: RAISE Okl_Api.G_EXCEPTION_ERROR;
825: END IF;
826:
819: x_return_status => l_return_status);
820:
821: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
822: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
823: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
824: RAISE Okl_Api.G_EXCEPTION_ERROR;
825: END IF;
826:
827: /* fetch old details from the database */
820:
821: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
822: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
823: ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
824: RAISE Okl_Api.G_EXCEPTION_ERROR;
825: END IF;
826:
827: /* fetch old details from the database */
828: get_rec(p_ptqv_rec => l_upd_ptqv_rec,
829: x_return_status => l_return_status,
830: x_no_data_found => l_no_data_found,
831: x_ptqv_rec => l_db_ptqv_rec);
832:
833: IF l_return_status <> Okl_Api.G_RET_STS_SUCCESS OR
834: l_no_data_found = TRUE THEN
835: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
836: END IF;
837:
831: x_ptqv_rec => l_db_ptqv_rec);
832:
833: IF l_return_status <> Okl_Api.G_RET_STS_SUCCESS OR
834: l_no_data_found = TRUE THEN
835: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
836: END IF;
837:
838: IF l_upd_ptqv_rec.TO_DATE <> Okl_Api.G_MISS_DATE THEN
839: /* update constraints */
834: l_no_data_found = TRUE THEN
835: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
836: END IF;
837:
838: IF l_upd_ptqv_rec.TO_DATE <> Okl_Api.G_MISS_DATE THEN
839: /* update constraints */
840: copy_update_constraints(p_api_version => p_api_version,
841: p_init_msg_list => p_init_msg_list,
842: p_upd_ptqv_rec => l_upd_ptqv_rec,
843: x_return_status => l_return_status,
844: x_msg_count => x_msg_count,
845: x_msg_data => x_msg_data);
846:
847: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
848: RAISE Okl_Api.G_EXCEPTION_ERROR;
849: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
850: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
851: END IF;
844: x_msg_count => x_msg_count,
845: x_msg_data => x_msg_data);
846:
847: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
848: RAISE Okl_Api.G_EXCEPTION_ERROR;
849: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
850: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
851: END IF;
852:
845: x_msg_data => x_msg_data);
846:
847: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
848: RAISE Okl_Api.G_EXCEPTION_ERROR;
849: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
850: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
851: END IF;
852:
853: END IF;
846:
847: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
848: RAISE Okl_Api.G_EXCEPTION_ERROR;
849: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
850: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
851: END IF;
852:
853: END IF;
854:
858:
859: /* check for past records */
860: /*IF to_date(to_char(l_db_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate AND
861: to_date(to_char(l_db_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
862: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
863: p_msg_name => G_PAST_RECORDS);
864: x_return_status := Okl_Api.G_RET_STS_ERROR;
865: RAISE Okl_Api.G_EXCEPTION_ERROR;
866: END IF;
860: /*IF to_date(to_char(l_db_ptqv_rec.from_date, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate AND
861: to_date(to_char(l_db_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
862: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
863: p_msg_name => G_PAST_RECORDS);
864: x_return_status := Okl_Api.G_RET_STS_ERROR;
865: RAISE Okl_Api.G_EXCEPTION_ERROR;
866: END IF;
867: */
868:
861: to_date(to_char(l_db_ptqv_rec.TO_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY') < l_sysdate THEN
862: Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
863: p_msg_name => G_PAST_RECORDS);
864: x_return_status := Okl_Api.G_RET_STS_ERROR;
865: RAISE Okl_Api.G_EXCEPTION_ERROR;
866: END IF;
867: */
868:
869: /* check for end date greater than start date */
868:
869: /* check for end date greater than start date */
870:
871:
872: IF (l_upd_ptqv_rec.TO_DATE = Okl_Api.G_MISS_DATE) then
873: l_upd_ptqv_rec.TO_DATE := p_ptqv_rec.to_date;
874: end if;
875:
876: IF (l_upd_ptqv_rec.from_DATE = Okl_Api.G_MISS_DATE) then
872: IF (l_upd_ptqv_rec.TO_DATE = Okl_Api.G_MISS_DATE) then
873: l_upd_ptqv_rec.TO_DATE := p_ptqv_rec.to_date;
874: end if;
875:
876: IF (l_upd_ptqv_rec.from_DATE = Okl_Api.G_MISS_DATE) then
877: l_upd_ptqv_rec.from_DATE := p_ptqv_rec.from_date;
878: end if;
879:
880: IF (l_upd_ptqv_rec.TO_DATE IS NOT NULL) AND (l_upd_ptqv_rec.TO_DATE < l_upd_ptqv_rec.from_date) THEN
877: l_upd_ptqv_rec.from_DATE := p_ptqv_rec.from_date;
878: end if;
879:
880: IF (l_upd_ptqv_rec.TO_DATE IS NOT NULL) AND (l_upd_ptqv_rec.TO_DATE < l_upd_ptqv_rec.from_date) THEN
881: Okl_Api.SET_MESSAGE(p_app_name => g_app_name
882: ,p_msg_name => Okl_Ptq_Pvt.g_to_date_error
883: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
884: ,p_token1_value => 'to_date');
885: x_return_status := Okl_Api.G_RET_STS_ERROR;
881: Okl_Api.SET_MESSAGE(p_app_name => g_app_name
882: ,p_msg_name => Okl_Ptq_Pvt.g_to_date_error
883: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
884: ,p_token1_value => 'to_date');
885: x_return_status := Okl_Api.G_RET_STS_ERROR;
886: RAISE Okl_Api.G_EXCEPTION_ERROR;
887: END IF;
888:
889:
882: ,p_msg_name => Okl_Ptq_Pvt.g_to_date_error
883: ,p_token1 => Okl_Ptq_Pvt.g_col_name_token
884: ,p_token1_value => 'to_date');
885: x_return_status := Okl_Api.G_RET_STS_ERROR;
886: RAISE Okl_Api.G_EXCEPTION_ERROR;
887: END IF;
888:
889:
890: /* determine how the processing to be done */
902: x_msg_data => x_msg_data,
903: p_ptqv_rec => l_upd_ptqv_rec,
904: x_ptqv_rec => x_ptqv_rec);
905:
906: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
907: RAISE Okl_Api.G_EXCEPTION_ERROR;
908: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
909: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
910: END IF;
903: p_ptqv_rec => l_upd_ptqv_rec,
904: x_ptqv_rec => x_ptqv_rec);
905:
906: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
907: RAISE Okl_Api.G_EXCEPTION_ERROR;
908: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
909: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
910: END IF;
911: /* Scenario 2: changing the dates */
904: x_ptqv_rec => x_ptqv_rec);
905:
906: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
907: RAISE Okl_Api.G_EXCEPTION_ERROR;
908: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
909: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
910: END IF;
911: /* Scenario 2: changing the dates */
912: ELSIF l_action = '2' THEN
905:
906: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
907: RAISE Okl_Api.G_EXCEPTION_ERROR;
908: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
909: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
910: END IF;
911: /* Scenario 2: changing the dates */
912: ELSIF l_action = '2' THEN
913: /* create a temporary record with all relevant details from db and upd records */
919: p_ptqv_rec => l_ptqv_rec,
920: x_return_status => l_return_status,
921: x_msg_data => x_msg_data);
922:
923: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
924: RAISE Okl_Api.G_EXCEPTION_ERROR;
925: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
926: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
927: END IF;
920: x_return_status => l_return_status,
921: x_msg_data => x_msg_data);
922:
923: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
924: RAISE Okl_Api.G_EXCEPTION_ERROR;
925: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
926: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
927: END IF;
928:
921: x_msg_data => x_msg_data);
922:
923: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
924: RAISE Okl_Api.G_EXCEPTION_ERROR;
925: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
926: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
927: END IF;
928:
929: /* public api to update tqualitys */
922:
923: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
924: RAISE Okl_Api.G_EXCEPTION_ERROR;
925: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
926: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
927: END IF;
928:
929: /* public api to update tqualitys */
930: Okl_Ptl_Qualitys_Pub.update_ptl_qualitys(p_api_version => p_api_version,
934: x_msg_data => x_msg_data,
935: p_ptqv_rec => l_upd_ptqv_rec,
936: x_ptqv_rec => x_ptqv_rec);
937:
938: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
939: RAISE Okl_Api.G_EXCEPTION_ERROR;
940: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
941: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
942: END IF;
935: p_ptqv_rec => l_upd_ptqv_rec,
936: x_ptqv_rec => x_ptqv_rec);
937:
938: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
939: RAISE Okl_Api.G_EXCEPTION_ERROR;
940: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
941: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
942: END IF;
943: END IF;
936: x_ptqv_rec => x_ptqv_rec);
937:
938: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
939: RAISE Okl_Api.G_EXCEPTION_ERROR;
940: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
941: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
942: END IF;
943: END IF;
944: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
937:
938: IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
939: RAISE Okl_Api.G_EXCEPTION_ERROR;
940: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
941: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
942: END IF;
943: END IF;
944: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
945: x_msg_data => x_msg_data);
940: ELSIF l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
941: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
942: END IF;
943: END IF;
944: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
945: x_msg_data => x_msg_data);
946: EXCEPTION
947: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
948: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
943: END IF;
944: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
945: x_msg_data => x_msg_data);
946: EXCEPTION
947: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
948: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
949: p_pkg_name => G_PKG_NAME,
950: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
951: x_msg_count => x_msg_count,
944: Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count,
945: x_msg_data => x_msg_data);
946: EXCEPTION
947: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
948: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
949: p_pkg_name => G_PKG_NAME,
950: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
951: x_msg_count => x_msg_count,
952: x_msg_data => x_msg_data,
946: EXCEPTION
947: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
948: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
949: p_pkg_name => G_PKG_NAME,
950: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
951: x_msg_count => x_msg_count,
952: x_msg_data => x_msg_data,
953: p_api_type => '_PVT');
954: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
950: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
951: x_msg_count => x_msg_count,
952: x_msg_data => x_msg_data,
953: p_api_type => '_PVT');
954: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
955: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
956: p_pkg_name => G_PKG_NAME,
957: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
958: x_msg_count => x_msg_count,
951: x_msg_count => x_msg_count,
952: x_msg_data => x_msg_data,
953: p_api_type => '_PVT');
954: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
955: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
956: p_pkg_name => G_PKG_NAME,
957: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
958: x_msg_count => x_msg_count,
959: x_msg_data => x_msg_data,
953: p_api_type => '_PVT');
954: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
955: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
956: p_pkg_name => G_PKG_NAME,
957: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
958: x_msg_count => x_msg_count,
959: x_msg_data => x_msg_data,
960: p_api_type => '_PVT');
961: WHEN OTHERS THEN
958: x_msg_count => x_msg_count,
959: x_msg_data => x_msg_data,
960: p_api_type => '_PVT');
961: WHEN OTHERS THEN
962: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
963: p_pkg_name => G_PKG_NAME,
964: p_exc_name => 'OTHERS',
965: x_msg_count => x_msg_count,
966: x_msg_data => x_msg_data,