1: PACKAGE BODY GR_TOXIC_EFFECTS_TL_PKG AS
2: /*$Header: GRHITETB.pls 115.10 2002/10/28 21:19:03 gkelly ship $*/
3: PROCEDURE Insert_Row
4: (p_commit IN VARCHAR2,
5: p_called_by_form IN VARCHAR2,
72: IF FND_API.To_Boolean(l_key_exists) THEN
73: RAISE Item_Exists_Error;
74: END IF;
75:
76: INSERT INTO gr_toxic_effects_tl
77: (toxic_effect_code,
78: language,
79: source_lang,
80: toxic_effect_description,
239:
240: IF l_return_status <> 'S' THEN
241: RAISE Foreign_Key_Error;
242: ELSE
243: UPDATE gr_toxic_effects_tl
244: SET toxic_effect_code = p_toxic_effect_code,
245: language = p_language,
246: source_lang = p_source_lang,
247: toxic_effect_description = p_toxic_effect_description,
354: tet.creation_date,
355: tet.last_updated_by,
356: tet.last_update_date,
357: tet.last_update_login
358: FROM gr_toxic_effects_tl tet
359: WHERE tet.toxic_effect_code = p_toxic_effect_code
360: AND tet.language = l_language;
361: EffectDesc c_get_descriptions%ROWTYPE;
362:
378: l_msg_token := p_toxic_effect_code || ' ' || p_language;
379:
380: /* Remove translations with no base row */
381:
382: delete from GR_TOXIC_EFFECTS_TL T
383: where not exists
384: (select NULL
385: from GR_TOXIC_EFFECTS_B B
386: where B.TOXIC_EFFECT_CODE = T.TOXIC_EFFECT_CODE
387: );
388:
389: /* Redefault translations from the source language */
390:
391: update gr_toxic_effects_tl t set (
392: toxic_effect_description ) =
393: ( select
394: B.TOXIC_EFFECT_DESCRIPTION
395: from GR_TOXIC_EFFECTS_TL B
391: update gr_toxic_effects_tl t set (
392: toxic_effect_description ) =
393: ( select
394: B.TOXIC_EFFECT_DESCRIPTION
395: from GR_TOXIC_EFFECTS_TL B
396: where B.TOXIC_EFFECT_CODE = T.TOXIC_EFFECT_CODE
397: and B.LANGUAGE = T.SOURCE_LANG)
398: where (
399: T.TOXIC_EFFECT_CODE,
400: T.LANGUAGE
401: ) in (select
402: SUBT.TOXIC_EFFECT_CODE,
403: SUBT.LANGUAGE
404: from GR_TOXIC_EFFECTS_TL SUBB, GR_TOXIC_EFFECTS_TL SUBT
405: where SUBB.TOXIC_EFFECT_CODE = SUBT.TOXIC_EFFECT_CODE
406: and SUBB.LANGUAGE = SUBT.SOURCE_LANG
407: and (SUBB.TOXIC_EFFECT_DESCRIPTION <> SUBT.TOXIC_EFFECT_DESCRIPTION
408: or (SUBB.TOXIC_EFFECT_DESCRIPTION is null and SUBT.TOXIC_EFFECT_DESCRIPTION is not null)
442: OPEN c_get_descriptions;
443: FETCH c_get_descriptions INTO EffectDesc;
444: IF c_get_descriptions%NOTFOUND THEN
445: CLOSE c_get_descriptions;
446: INSERT INTO gr_toxic_effects_tl
447: (toxic_effect_code,
448: language,
449: toxic_effect_description,
450: source_lang,
548:
549: CURSOR c_lock_effects_tl
550: IS
551: SELECT last_update_date
552: FROM gr_toxic_effects_tl
553: WHERE rowid = p_rowid
554: FOR UPDATE NOWAIT;
555: LockEffectRcd c_lock_effects_tl%ROWTYPE;
556:
699: IF l_return_status <> 'S' THEN
700: RAISE Check_Integrity_Error;
701: END IF;
702:
703: DELETE FROM gr_toxic_effects_tl
704: WHERE rowid = p_rowid;
705:
706: /* Check the commit flag and if set, then commit the work. */
707:
784: x_oracle_error := 0;
785: x_msg_data := NULL;
786: l_msg_token := p_toxic_effect_code;
787:
788: DELETE FROM gr_toxic_effects_tl
789: WHERE toxic_effect_code = p_toxic_effect_code;
790:
791: IF FND_API.To_Boolean(p_commit) THEN
792: COMMIT WORK;
1015:
1016: CURSOR c_get_effects_tl_rowid
1017: IS
1018: SELECT tet.rowid
1019: FROM gr_toxic_effects_tl tet
1020: WHERE tet.toxic_effect_code = p_toxic_effect_code
1021: AND tet.language = p_language;
1022: EffectTLRecord c_get_effects_tl_rowid%ROWTYPE;
1023:
1057: ,X_SOURCE_LANG IN VARCHAR2
1058: ,X_TOXIC_EFFECT_DESCRIPTION IN VARCHAR2
1059: ) IS
1060: BEGIN
1061: UPDATE GR_TOXIC_EFFECTS_TL SET
1062: TOXIC_EFFECT_DESCRIPTION = X_TOXIC_EFFECT_DESCRIPTION,
1063: SOURCE_LANG = USERENV('LANG'),
1064: LAST_UPDATE_DATE = sysdate,
1065: LAST_UPDATED_BY = 0,
1076: ,X_TOXIC_EFFECT_DESCRIPTION IN VARCHAR2
1077: ) IS
1078: CURSOR Cur_rowid IS
1079: SELECT rowid
1080: FROM GR_TOXIC_EFFECTS_TL
1081: WHERE (TOXIC_EFFECT_CODE = X_TOXIC_EFFECT_CODE)
1082: AND (LANGUAGE = X_LANGUAGE);
1083: l_user_id NUMBER DEFAULT 1;
1084: l_row_id VARCHAR2(64);
1088: BEGIN
1089: OPEN Cur_rowid;
1090: FETCH Cur_rowid INTO l_row_id;
1091: IF Cur_rowid%FOUND THEN
1092: GR_TOXIC_EFFECTS_TL_PKG.UPDATE_ROW(
1093: P_COMMIT => 'T'
1094: ,P_CALLED_BY_FORM => 'F'
1095: ,P_ROWID => l_row_id
1096: ,P_TOXIC_EFFECT_CODE => X_TOXIC_EFFECT_CODE
1105: ,X_RETURN_STATUS => l_return_status
1106: ,X_ORACLE_ERROR => l_oracle_error
1107: ,X_MSG_DATA => l_msg_data);
1108: ELSE
1109: GR_TOXIC_EFFECTS_TL_PKG.INSERT_ROW(
1110: P_COMMIT => 'T'
1111: ,P_CALLED_BY_FORM => 'F'
1112: ,P_TOXIC_EFFECT_CODE => X_TOXIC_EFFECT_CODE
1113: ,P_LANGUAGE => X_LANGUAGE
1133: */
1134: procedure NEW_LANGUAGE
1135: is
1136: begin
1137: delete from GR_TOXIC_EFFECTS_TL T
1138: where not exists
1139: (select NULL
1140: from GR_TOXIC_EFFECTS_B B
1141: where B.TOXIC_EFFECT_CODE = T.TOXIC_EFFECT_CODE
1140: from GR_TOXIC_EFFECTS_B B
1141: where B.TOXIC_EFFECT_CODE = T.TOXIC_EFFECT_CODE
1142: );
1143:
1144: update GR_TOXIC_EFFECTS_TL T set (
1145: TOXIC_EFFECT_DESCRIPTION
1146: ) = (select
1147: B.TOXIC_EFFECT_DESCRIPTION
1148: from GR_TOXIC_EFFECTS_TL B
1144: update GR_TOXIC_EFFECTS_TL T set (
1145: TOXIC_EFFECT_DESCRIPTION
1146: ) = (select
1147: B.TOXIC_EFFECT_DESCRIPTION
1148: from GR_TOXIC_EFFECTS_TL B
1149: where B.TOXIC_EFFECT_CODE = T.TOXIC_EFFECT_CODE
1150: and B.LANGUAGE = T.SOURCE_LANG)
1151: where (
1152: T.TOXIC_EFFECT_CODE,
1153: T.LANGUAGE
1154: ) in (select
1155: SUBT.TOXIC_EFFECT_CODE,
1156: SUBT.LANGUAGE
1157: from GR_TOXIC_EFFECTS_TL SUBB, GR_TOXIC_EFFECTS_TL SUBT
1158: where SUBB.TOXIC_EFFECT_CODE = SUBT.TOXIC_EFFECT_CODE
1159: and SUBB.LANGUAGE = SUBT.SOURCE_LANG
1160: and (SUBB.TOXIC_EFFECT_DESCRIPTION <> SUBT.TOXIC_EFFECT_DESCRIPTION
1161: ));
1159: and SUBB.LANGUAGE = SUBT.SOURCE_LANG
1160: and (SUBB.TOXIC_EFFECT_DESCRIPTION <> SUBT.TOXIC_EFFECT_DESCRIPTION
1161: ));
1162:
1163: insert into GR_TOXIC_EFFECTS_TL (
1164: TOXIC_EFFECT_CODE,
1165: TOXIC_EFFECT_DESCRIPTION,
1166: CREATED_BY,
1167: CREATION_DATE,
1179: B.LAST_UPDATE_DATE,
1180: B.LAST_UPDATE_LOGIN,
1181: L.LANGUAGE_CODE,
1182: B.SOURCE_LANG
1183: from GR_TOXIC_EFFECTS_TL B, FND_LANGUAGES L
1184: where L.INSTALLED_FLAG in ('I', 'B')
1185: and B.LANGUAGE = userenv('LANG')
1186: and not exists
1187: (select NULL
1184: where L.INSTALLED_FLAG in ('I', 'B')
1185: and B.LANGUAGE = userenv('LANG')
1186: and not exists
1187: (select NULL
1188: from GR_TOXIC_EFFECTS_TL T
1189: where T.TOXIC_EFFECT_CODE = B.TOXIC_EFFECT_CODE
1190: and T.LANGUAGE = L.LANGUAGE_CODE);
1191:
1192: end NEW_LANGUAGE;
1192: end NEW_LANGUAGE;
1193:
1194:
1195:
1196: END GR_TOXIC_EFFECTS_TL_PKG;