12: -- The API name
13: g_api CONSTANT VARCHAR2(40) := 'gcs.plsql.GCS_TRANSLATION_PKG';
14:
15: -- The dimension information table
16: g_dims gcs_utility_pkg.t_hash_gcs_dimension_info;
17:
18: -- Action types for writing module information to the log file. Used for
19: -- the procedure log_file_module_write.
20: g_module_enter CONSTANT VARCHAR2(2) := '>>';
144: g_fnd_user_id := fnd_global.user_id;
145: g_fnd_login_id := fnd_global.login_id;
146:
147: -- Initialize the dimension attribute and dimension information.
148: GCS_UTILITY_PKG.init_dimension_attr_info;
149: GCS_UTILITY_PKG.init_dimension_info;
150:
151: g_cp_end_date_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').attribute_id;
152:
145: g_fnd_login_id := fnd_global.login_id;
146:
147: -- Initialize the dimension attribute and dimension information.
148: GCS_UTILITY_PKG.init_dimension_attr_info;
149: GCS_UTILITY_PKG.init_dimension_info;
150:
151: g_cp_end_date_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').attribute_id;
152:
153: g_li_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').attribute_id;
147: -- Initialize the dimension attribute and dimension information.
148: GCS_UTILITY_PKG.init_dimension_attr_info;
149: GCS_UTILITY_PKG.init_dimension_info;
150:
151: g_cp_end_date_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').attribute_id;
152:
153: g_li_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').attribute_id;
154:
155: g_xat_sign_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').attribute_id;
149: GCS_UTILITY_PKG.init_dimension_info;
150:
151: g_cp_end_date_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').attribute_id;
152:
153: g_li_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').attribute_id;
154:
155: g_xat_sign_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').attribute_id;
156:
157: g_xat_basic_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').attribute_id;
151: g_cp_end_date_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').attribute_id;
152:
153: g_li_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').attribute_id;
154:
155: g_xat_sign_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').attribute_id;
156:
157: g_xat_basic_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').attribute_id;
158:
159: g_cp_end_date_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').version_id;
153: g_li_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').attribute_id;
154:
155: g_xat_sign_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').attribute_id;
156:
157: g_xat_basic_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').attribute_id;
158:
159: g_cp_end_date_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').version_id;
160:
161: g_li_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').version_id;
155: g_xat_sign_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').attribute_id;
156:
157: g_xat_basic_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').attribute_id;
158:
159: g_cp_end_date_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').version_id;
160:
161: g_li_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').version_id;
162:
163: g_xat_sign_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').version_id;
157: g_xat_basic_acct_type_attr_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').attribute_id;
158:
159: g_cp_end_date_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').version_id;
160:
161: g_li_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').version_id;
162:
163: g_xat_sign_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').version_id;
164:
165: g_xat_basic_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').version_id;
159: g_cp_end_date_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('CAL_PERIOD_ID-CAL_PERIOD_END_DATE').version_id;
160:
161: g_li_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').version_id;
162:
163: g_xat_sign_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').version_id;
164:
165: g_xat_basic_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').version_id;
166:
167: g_dims := gcs_utility_pkg.g_gcs_dimension_info;
161: g_li_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('LINE_ITEM_ID-EXTENDED_ACCOUNT_TYPE').version_id;
162:
163: g_xat_sign_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').version_id;
164:
165: g_xat_basic_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').version_id;
166:
167: g_dims := gcs_utility_pkg.g_gcs_dimension_info;
168:
169: module_log_write(module, g_module_success);
163: g_xat_sign_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-SIGN').version_id;
164:
165: g_xat_basic_acct_type_v_id := GCS_UTILITY_PKG.g_dimension_attr_info('EXT_ACCOUNT_TYPE_CODE-BASIC_ACCOUNT_TYPE_CODE').version_id;
166:
167: g_dims := gcs_utility_pkg.g_gcs_dimension_info;
168:
169: module_log_write(module, g_module_success);
170: EXCEPTION
171: WHEN GCS_CCY_SUBPROGRAM_RAISED THEN
229: (p_cal_period_id NUMBER,
230: p_cons_relationship_id NUMBER,
231: p_balance_type_code VARCHAR2,
232: p_hier_dataset_code NUMBER,
233: x_cal_period_info OUT NOCOPY GCS_UTILITY_PKG.r_cal_period_info,
234: x_curr_treatment_id OUT NOCOPY NUMBER,
235: x_eq_translation_mode OUT NOCOPY VARCHAR2,
236: x_is_translation_mode OUT NOCOPY VARCHAR2,
237: x_per_rate_type_name OUT NOCOPY VARCHAR2,
442: CLOSE relationship_c;
443:
444: begin
445: -- Get current and previous period information.
446: GCS_UTILITY_PKG.get_cal_period_details(p_cal_period_id, x_cal_period_info);
447: exception
448: when others then
449: raise GCS_CCY_INVALID_PERIOD;
450: end;
691:
692: -- Set the financial_elem_id of the templates appropriately if the
693: -- balance type is 'ADB'
694: IF p_balance_type_code = 'ADB' THEN
695: x_re_tmp.financial_elem_id := gcs_utility_pkg.g_avg_fin_elem;
696: x_cta_tmp.financial_elem_id := gcs_utility_pkg.g_avg_fin_elem;
697: END IF;
698:
699: -- Now figure out whether a group by is needed or not
692: -- Set the financial_elem_id of the templates appropriately if the
693: -- balance type is 'ADB'
694: IF p_balance_type_code = 'ADB' THEN
695: x_re_tmp.financial_elem_id := gcs_utility_pkg.g_avg_fin_elem;
696: x_cta_tmp.financial_elem_id := gcs_utility_pkg.g_avg_fin_elem;
697: END IF;
698:
699: -- Now figure out whether a group by is needed or not
700: OPEN entity_type_c(x_child_entity_id);
884: BEGIN
885: module := 'CREATE_RE_SEC_TRACKING_TEXT';
886: module_log_write(module, g_module_enter);
887:
888: IF gcs_utility_pkg.get_dimension_required(p_curr_dim) = 'Y' THEN
889: p_re_acct := p_re_acct || 'AND ' || p_curr_dim || ' = ';
890: p_ins_join := p_ins_join || 'AND fb.' || p_curr_dim || ' = ';
891: p_upd_re := p_upd_re || 'AND ' || p_curr_dim || ' = ';
892: IF p_sec_dim = p_curr_dim THEN
950: BEGIN
951: module := 'CREATE_RE_RATE_SEC_TRACK_TEXT';
952: module_log_write(module, g_module_enter);
953:
954: IF gcs_utility_pkg.get_dimension_required(p_curr_dim) = 'Y' THEN
955: p_amt_text := p_amt_text || ' AND fb.' || p_curr_dim || ' = ';
956: p_amt_join := p_amt_join || ' AND el.' || p_curr_dim || ' = ';
957: p_re_rate := p_re_rate || 'AND ' || p_curr_dim || ' = ';
958: p_upd_rate := p_upd_rate || 'AND ' || p_curr_dim || ' = ';
1049: p_upd_re := p_upd_re ||
1050: 'WHERE company_cost_center_org_id = :org_id' || g_nl ||
1051: 'AND intercompany_id = ' || interco_text || g_nl;
1052: ELSE
1053: re_org_id := gcs_utility_pkg.get_org_id(p_entity_id, p_hierarchy_id);
1054:
1055: -- If a specific intercompany id is to be used, use it
1056: IF p_specific_interco_id IS NOT NULL THEN
1057: re_interco_id := p_specific_interco_id;
1172: p_upd_rate := p_upd_rate ||
1173: 'AND company_cost_center_org_id = :org_id' || g_nl ||
1174: 'AND intercompany_id = ' || interco_text || g_nl;
1175: ELSE
1176: re_org_id := gcs_utility_pkg.get_org_id(p_entity_id, p_hierarchy_id);
1177:
1178: -- If a specific intercompany id is to be used, use it
1179: IF p_specific_interco_id IS NOT NULL THEN
1180: re_interco_id := p_specific_interco_id;
2170: AND dataset_code = p_hier_dataset_code;
2171:
2172: earliest_period_id NUMBER;
2173: never_period_id NUMBER;
2174: earliest_period_info GCS_UTILITY_PKG.r_cal_period_info;
2175: never_period_info GCS_UTILITY_PKG.r_cal_period_info;
2176:
2177: next_period_id NUMBER;
2178: next_period_info GCS_UTILITY_PKG.r_cal_period_info;
2171:
2172: earliest_period_id NUMBER;
2173: never_period_id NUMBER;
2174: earliest_period_info GCS_UTILITY_PKG.r_cal_period_info;
2175: never_period_info GCS_UTILITY_PKG.r_cal_period_info;
2176:
2177: next_period_id NUMBER;
2178: next_period_info GCS_UTILITY_PKG.r_cal_period_info;
2179:
2174: earliest_period_info GCS_UTILITY_PKG.r_cal_period_info;
2175: never_period_info GCS_UTILITY_PKG.r_cal_period_info;
2176:
2177: next_period_id NUMBER;
2178: next_period_info GCS_UTILITY_PKG.r_cal_period_info;
2179:
2180: BEGIN
2181: module := 'UPDATE_STATUS_TRACKING';
2182: module_log_write(module, g_module_enter);
2223: p_cal_period_id, p_cal_period_id, g_fnd_user_id, sysdate,
2224: g_fnd_user_id, sysdate, g_fnd_login_id);
2225: ELSE
2226: CLOSE tracking_check_c;
2227: GCS_UTILITY_PKG.get_cal_period_details
2228: (earliest_period_id, earliest_period_info);
2229: GCS_UTILITY_PKG.get_cal_period_details
2230: (never_period_id, never_period_info);
2231:
2225: ELSE
2226: CLOSE tracking_check_c;
2227: GCS_UTILITY_PKG.get_cal_period_details
2228: (earliest_period_id, earliest_period_info);
2229: GCS_UTILITY_PKG.get_cal_period_details
2230: (never_period_id, never_period_info);
2231:
2232: -- If this is prior to the first ever translated period, update the
2233: -- tracking table accordingly. Otherwise, move the earliest_never_period
2258: OPEN status_check_c(next_period_id);
2259: FETCH status_check_c INTO status;
2260: WHILE status_check_c%FOUND LOOP
2261: CLOSE status_check_c;
2262: GCS_UTILITY_PKG.get_cal_period_details
2263: (next_period_id, next_period_info);
2264: next_period_id := next_period_info.next_cal_period_id;
2265: OPEN status_check_c(next_period_id);
2266: FETCH status_check_c INTO status;
2307: p_hier_dataset_code NUMBER,
2308: p_new_entry_id NUMBER) IS
2309:
2310: -- information about this period and the previous period
2311: cal_period_info GCS_UTILITY_PKG.r_cal_period_info;
2312:
2313: source_currency VARCHAR2(15);
2314: target_currency VARCHAR2(15);
2315: curr_treatment_id NUMBER;