1: package body AK_REGIONS_PKG as
2: /* $Header: AKDREGNB.pls 120.3 2006/01/25 15:58:41 tshort ship $ */
3: procedure INSERT_ROW (
4: X_ROWID in out NOCOPY VARCHAR2,
5: X_REGION_APPLICATION_ID in NUMBER,
57: X_ATTRIBUTE13 in VARCHAR2,
58: X_ATTRIBUTE14 in VARCHAR2,
59: X_ATTRIBUTE15 in VARCHAR2
60: ) is
61: cursor C is select ROWID from AK_REGIONS
62: where REGION_APPLICATION_ID = X_REGION_APPLICATION_ID
63: and REGION_CODE = X_REGION_CODE;
64: begin
65: insert into AK_REGIONS (
61: cursor C is select ROWID from AK_REGIONS
62: where REGION_APPLICATION_ID = X_REGION_APPLICATION_ID
63: and REGION_CODE = X_REGION_CODE;
64: begin
65: insert into AK_REGIONS (
66: REGION_APPLICATION_ID,
67: REGION_CODE,
68: DATABASE_OBJECT_NAME,
69: REGION_STYLE,
179: raise no_data_found;
180: end if;
181: close c;
182:
183: insert into AK_REGIONS_TL (
184: REGION_APPLICATION_ID,
185: REGION_CODE,
186: LANGUAGE,
187: NAME,
207: from FND_LANGUAGES L
208: where L.INSTALLED_FLAG in ('I', 'B')
209: and not exists
210: (select NULL
211: from AK_REGIONS_TL T
212: where T.REGION_APPLICATION_ID = X_REGION_APPLICATION_ID
213: and T.REGION_CODE = X_REGION_CODE
214: and T.LANGUAGE = L.LANGUAGE_CODE);
215: end INSERT_ROW;
312: DISPLAY_GRAPH_TABLE,
313: DISABLE_HEADER,
314: STANDALONE,
315: AUTO_CUSTOMIZATION_CRITERIA
316: from AK_REGIONS
317: where REGION_APPLICATION_ID = X_REGION_APPLICATION_ID
318: and REGION_CODE = X_REGION_CODE
319: for update of REGION_APPLICATION_ID nowait;
320: recinfo c%rowtype;
321:
322: cursor c1 is select
323: NAME,
324: DESCRIPTION
325: from AK_REGIONS_TL
326: where REGION_CODE = X_REGION_CODE
327: and REGION_APPLICATION_ID = X_REGION_APPLICATION_ID
328: and LANGUAGE = userenv('LANG')
329: for update of REGION_CODE nowait;
556: X_ATTRIBUTE14 in VARCHAR2,
557: X_ATTRIBUTE15 in VARCHAR2
558: ) is
559: begin
560: update AK_REGIONS set
561: REGION_APPLICATION_ID = X_REGION_APPLICATION_ID,
562: REGION_CODE = X_REGION_CODE,
563: DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME,
564: REGION_STYLE = X_REGION_STYLE,
614: if (sql%notfound) then
615: raise no_data_found;
616: end if;
617:
618: update AK_REGIONS_TL set
619: NAME = X_NAME,
620: DESCRIPTION = X_DESCRIPTION,
621: LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
622: LAST_UPDATED_BY = X_LAST_UPDATED_BY,
634: X_REGION_APPLICATION_ID in NUMBER,
635: X_REGION_CODE in VARCHAR2
636: ) is
637: begin
638: delete from AK_REGIONS
639: where REGION_APPLICATION_ID = X_REGION_APPLICATION_ID
640: and REGION_CODE = X_REGION_CODE;
641:
642: if (sql%notfound) then
642: if (sql%notfound) then
643: raise no_data_found;
644: end if;
645:
646: delete from AK_REGIONS_TL
647: where REGION_APPLICATION_ID = X_REGION_APPLICATION_ID
648: and REGION_CODE = X_REGION_CODE;
649:
650: if (sql%notfound) then
660: /* The following delete and update statements are commented out */
661: /* as a quick workaround to fix the time-consuming table handler issue */
662: /* Eventually we'll need to turn them into a separate fix_language procedure */
663: /*
664: delete from AK_REGIONS_TL T
665: where not exists
666: (select NULL
667: from AK_REGIONS B
668: where B.REGION_CODE = T.REGION_CODE
663: /*
664: delete from AK_REGIONS_TL T
665: where not exists
666: (select NULL
667: from AK_REGIONS B
668: where B.REGION_CODE = T.REGION_CODE
669: and B.REGION_APPLICATION_ID = T.REGION_APPLICATION_ID
670: );
671:
668: where B.REGION_CODE = T.REGION_CODE
669: and B.REGION_APPLICATION_ID = T.REGION_APPLICATION_ID
670: );
671:
672: update AK_REGIONS_TL T set (
673: NAME,
674: DESCRIPTION
675: ) = (select
676: B.NAME,
674: DESCRIPTION
675: ) = (select
676: B.NAME,
677: B.DESCRIPTION
678: from AK_REGIONS_TL B
679: where B.REGION_CODE = T.REGION_CODE
680: and B.REGION_APPLICATION_ID = T.REGION_APPLICATION_ID
681: and B.LANGUAGE = T.SOURCE_LANG)
682: where (
686: ) in (select
687: SUBT.REGION_CODE,
688: SUBT.REGION_APPLICATION_ID,
689: SUBT.LANGUAGE
690: from AK_REGIONS_TL SUBB, AK_REGIONS_TL SUBT
691: where SUBB.REGION_CODE = SUBT.REGION_CODE
692: and SUBB.REGION_APPLICATION_ID = SUBT.REGION_APPLICATION_ID
693: and SUBB.LANGUAGE = SUBT.SOURCE_LANG
694: and (SUBB.NAME <> SUBT.NAME
697: or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
698: ));
699: */
700:
701: insert /*+ append parallel(tt) */ into AK_REGIONS_TL tt (
702: REGION_APPLICATION_ID,
703: REGION_CODE,
704: NAME,
705: DESCRIPTION,
722: B.LAST_UPDATE_DATE,
723: B.LAST_UPDATE_LOGIN,
724: L.LANGUAGE_CODE,
725: B.SOURCE_LANG
726: from AK_REGIONS_TL B, FND_LANGUAGES L
727: where L.INSTALLED_FLAG in ('I', 'B')
728: and B.LANGUAGE = userenv('LANG')
729: ) v, AK_REGIONS_TL t
730: where T.REGION_CODE(+) = v.REGION_CODE
725: B.SOURCE_LANG
726: from AK_REGIONS_TL B, FND_LANGUAGES L
727: where L.INSTALLED_FLAG in ('I', 'B')
728: and B.LANGUAGE = userenv('LANG')
729: ) v, AK_REGIONS_TL t
730: where T.REGION_CODE(+) = v.REGION_CODE
731: and T.REGION_APPLICATION_ID(+) = v.REGION_APPLICATION_ID
732: and T.LANGUAGE(+) = v.LANGUAGE_CODE
733: and T.REGION_CODE is NULL
734: and T.REGION_APPLICATION_ID is NULL;
735:
736: end ADD_LANGUAGE;
737:
738: end AK_REGIONS_PKG;