1: PACKAGE BODY gl_transaction_dates_pkg AS
2: /* $Header: glitcdab.pls 120.2 2005/03/02 20:12:49 kvora ship $ */
3: --
4: -- PUBLIC FUNCTIONS
5: --
40: END IF;
41:
42: -- Lock GL_CONCURRENCY_CONTROL table in the row share mode using
43: -- CONCURRENCY_CLASS = EXTEND_TRANSACTION_CALENDAR. This is to
44: -- indicate that the GL_TRANSACTION_DATES table is locked for INSERT/UPDATE
45: -- but can be used for SELECT.
46:
47: SELECT concurrency_class
48: INTO dummy
52:
53:
54:
55: -- Insert records for all transaction calendars into the
56: -- GL_TRANSACTION_DATES table:
57: new_entered_year := x_entered_year;
58: INSERT INTO gl_transaction_dates
59: ( TRANSACTION_CALENDAR_ID,
60: TRANSACTION_DATE,
54:
55: -- Insert records for all transaction calendars into the
56: -- GL_TRANSACTION_DATES table:
57: new_entered_year := x_entered_year;
58: INSERT INTO gl_transaction_dates
59: ( TRANSACTION_CALENDAR_ID,
60: TRANSACTION_DATE,
61: DAY_OF_WEEK,
62: BUSINESS_DAY_FLAG,
115: cnt.multiplier <= TO_DATE(new_entered_year || '/12/31', 'YYYY/MM/DD') -
116: TO_DATE(new_entered_year || '/01/01', 'YYYY/MM/DD')+1
117: AND NOT EXISTS
118: (SELECT 'duplicate'
119: FROM gl_transaction_dates tdates
120: WHERE tdates.transaction_date =
121: to_date(new_entered_year || '/01/01',
122: 'YYYY/MM/DD')+cnt.multiplier-1
123: AND tdates.transaction_calendar_id =
158: FROM gl_periods;
159:
160: -- Lock GL_CONCURRENCY_CONTROL table in the row share mode using
161: -- CONCURRENCY_CLASS = EXTEND_TRANSACTION_CALENDAR. This is to
162: -- indicate that the GL_TRANSACTION_DATES table is locked for INSERT/UPDATE but
163: -- can be used for SELECT.
164: SELECT concurrency_class
165: INTO dummy
166: FROM gl_concurrency_control
167: WHERE concurrency_class = 'EXTEND_TRANSACTION_CALENDAR'
168: FOR UPDATE OF concurrency_class;
169:
170: -- Insert records for all transaction calendars into the
171: -- GL_TRANSACTION_DATES table:
172: INSERT INTO gl_transaction_dates
173: (TRANSACTION_CALENDAR_ID,
174: TRANSACTION_DATE,
175: DAY_OF_WEEK,
168: FOR UPDATE OF concurrency_class;
169:
170: -- Insert records for all transaction calendars into the
171: -- GL_TRANSACTION_DATES table:
172: INSERT INTO gl_transaction_dates
173: (TRANSACTION_CALENDAR_ID,
174: TRANSACTION_DATE,
175: DAY_OF_WEEK,
176: BUSINESS_DAY_FLAG,
234: AND yr.multiplier >= earliest_year-1900
235: AND yr.multiplier <= latest_year-1900
236: AND NOT EXISTS
237: (SELECT 'duplicate'
238: FROM gl_transaction_dates tdates
239: WHERE tdates.transaction_date =
240: to_date(TO_CHAR(yr.multiplier+1900) || '/01/01',
241: 'YYYY/MM/DD')+cnt.multiplier-1
242: AND tdates.transaction_calendar_id = x_transaction_calendar_id);