0% found this document useful (0 votes)
5 views

Scripts Used

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Scripts Used

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

TB Script:

SELECT
gll.ledger_category_code
"Ledger Type",
gll.name
"Ledger",
gcc.segment1
AS "Segment1",
gcc.segment3
AS "Account",
gcc.code_combination_id
AS "Code_Combination_ID",
gcc.segment1
|| '-'
|| gcc.segment2
|| '-'
|| gcc.segment3
|| '-'
|| gcc.segment4
|| '-'
|| gcc.segment5
|| '-'
|| gcc.segment6
|| '-'
|| gcc.segment7
|| '-'
|| gcc.segment8
AS "Account Combination",
gp.period_name
AS "Period Name",
gb.begin_balance_dr - gb.begin_balance_cr
AS "Beginning Balance",
gb.period_net_dr - gb.period_net_cr
AS "Period Activity",
( gb.begin_balance_dr - gb.begin_balance_cr ) + ( gb.period_net_dr -
gb.period_net_cr ) AS "Ending Balance",
seg_value3.description
AS "Account Description"
FROM
apps.gl_periods gp
INNER JOIN apps.gl_balances gb ON gb.period_name = gp.period_name
INNER JOIN apps.gl_ledgers gll ON gll.ledger_id = gb.ledger_id
--AND gll.ledger_category_code = 'PRIMARY'
AND gp.period_set_name = 'INTG_CALENDAR'
AND gll.currency_code = gb.currency_code
INNER JOIN apps.gl_code_combinations gcc ON gb.code_combination_id =
gcc.code_combination_id
LEFT OUTER JOIN apps.fnd_flex_values_vl seg_value3 ON seg_value3.flex_value =
gcc.segment3
AND
seg_value3.flex_value_set_id IN ( SELECT
flex_value_set_id
FROM
apps.fnd_id_flex_segments
WHERE
application_id = 101
AND id_flex_code = 'GL#'
AND enabled_flag = 'Y'
AND application_column_name =
'SEGMENT3'
)

-- Inter company balance


WITH tb AS (
SELECT
gp.period_name,
gcc.segment1 company,
gcc.segment7 intercompany,
gcc.code_combination_id ccid,
-- gcc.segment1||'-'||gcc.segment2||'-'||gcc.segment3||'-'||
gcc.segment4||'-'||gcc.segment5||'-'||gcc.segment6||'-'||gcc.segment7||'-'||
gcc.segment8 account,

-------- IC AR AP

SUM(
CASE
WHEN gcc.segment3 IN('127100', '127200', '127300') THEN
((nvl(gb.period_net_dr, 0) + nvl(gb.begin_balance_dr, 0)) -
(nvl(gb.period_net_cr, 0) + nvl(gb.begin_balance_cr, 0))) *
nvl(fx.conversion_rate, 1)
ELSE
0
END
) ar_balance,
SUM(
CASE
WHEN gcc.segment3 IN('216100', '216200', '216300') THEN
((nvl(gb.period_net_dr, 0) + nvl(gb.begin_balance_dr, 0)) -
(nvl(gb.period_net_cr, 0) + nvl(gb.begin_balance_cr, 0))) *
nvl(fx.conversion_rate, 1) * - 1
ELSE
0
END
) ap_balance,

---------IC LT LOANS

SUM(
CASE
WHEN gcc.segment3 IN('190100', '190200') THEN
((nvl(gb.period_net_dr, 0) + nvl(gb.begin_balance_dr, 0)) -
(nvl(gb.period_net_cr, 0) + nvl(gb.begin_balance_cr, 0))) *
nvl(fx.conversion_rate, 1)
ELSE
0
END
) ar_lt_loans,
SUM(
CASE
WHEN gcc.segment3 IN('254100', '254200') THEN
((nvl(gb.period_net_dr, 0) + nvl(gb.begin_balance_dr, 0)) -
(nvl(gb.period_net_cr, 0) + nvl(gb.begin_balance_cr, 0))) *
nvl(fx.conversion_rate, 1) * - 1
ELSE
0
END
) ap_lt_loans,

---------IC ST LOANS

SUM(
CASE
WHEN gcc.segment3 IN('128100', '128200') THEN
((nvl(gb.period_net_dr, 0) + nvl(gb.begin_balance_dr, 0)) -
(nvl(gb.period_net_cr, 0) + nvl(gb.begin_balance_cr, 0))) *
nvl(fx.conversion_rate, 1)
ELSE
0
END
) ar_st_loans,
SUM(
CASE
WHEN gcc.segment3 IN('235100', '235200') THEN
((nvl(gb.period_net_dr, 0) + nvl(gb.begin_balance_dr, 0)) -
(nvl(gb.period_net_cr, 0) + nvl(gb.begin_balance_cr, 0))) *
nvl(fx.conversion_rate, 1) * - 1
ELSE
0
END
) ap_st_loans,

--------- Sales

SUM(
CASE
WHEN gcc.segment3 IN('313100', '313200') THEN
(nvl(gb.period_net_dr, 0) - nvl(gb.period_net_cr, 0)) *
nvl(fxa.conversion_rate, 1) * - 1
ELSE
0
END
) sales,
--------- Cogs
SUM(
CASE
WHEN gcc.segment3 IN('413100', '413200') THEN
(nvl(gb.period_net_dr, 0) - nvl(gb.period_net_cr, 0)) *
nvl(fxa.conversion_rate, 1) * - 1
ELSE
0
END
) cogs,
--------- ppv
SUM(
CASE
WHEN gcc.segment3 IN('419110', '419120') THEN
(nvl(gb.period_net_dr, 0) - nvl(gb.period_net_cr, 0)) *
nvl(fxa.conversion_rate, 1)-- * - 1
ELSE
0
END
) ppv
FROM
apps.gl_periods gp
INNER JOIN apps.gl_balances gb ON gb.period_name = gp.period_name
INNER JOIN apps.gl_ledgers gll ON gll.ledger_id = gb.ledger_id
AND gll.ledger_category_code = 'PRIMARY'
AND gll.currency_code = gb.currency_code
INNER JOIN apps.gl_code_combinations gcc ON gb.code_combination_id =
gcc.code_combination_id
LEFT JOIN apps.gl_daily_rates fx ON fx.conversion_type = 'Corporate'
AND fx.to_currency = 'USD'
AND gb.currency_code = fx.from_currency
AND fx.conversion_date = gp.end_date
LEFT JOIN apps.gl_daily_rates fxa ON fxa.conversion_type = '1180' --
PL Average

AND fxa.to_currency = 'USD'


AND gb.currency_code =
fxa.from_currency
AND fxa.conversion_date = gp.end_date
WHERE
gp.period_set_name = 'INTG_CALENDAR'
AND gb.actual_flag = 'A'
AND gp.start_date <= sysdate
AND gp.start_date >= sysdate - 365
AND gcc.segment3 IN ( '127100', '127200', '127300',-- ar_balance
'216100', '216200',
'216300',--ap_balance
'190100', '190200',--ar_lt_loans
'254100', '254200',--ap_lt_loans
'128100', '128200', --ar_st_loans
'235100', '235200', --ap_st_loans
'313100',
'313200',--IC Sales
'413100', '413200', --IC Cogs
'419110', '419120' --IC PPV
)
GROUP BY
gp.period_name,
gcc.segment1,
gcc.segment7,
gcc.code_combination_id
-- gcc.segment1||'-'||gcc.segment2||'-'||gcc.segment3||'-'||
gcc.segment4||'-'||gcc.segment5||'-'||gcc.segment6||'-'||gcc.segment7||'-'||
gcc.segment8
)
SELECT
gp.period_name,
tb1.company,
tb1.intercompany,
tb1.ccid,
tb1.ar_balance,
tb1.ar_lt_loans,
tb1.ar_st_loans,
tb1.ap_balance,
tb1.ap_lt_loans,
tb1.ap_st_loans,
tb2.ar_balance partner_ar_balance,
tb2.ar_lt_loans partner_ar_lt_loans,
tb2.ar_st_loans partner_ar_st_loans,
tb2.ap_balance partner_ap_balance,
tb2.ap_lt_loans partner_ap_lt_loans,
tb2.ap_st_loans partner_ap_st_loans,
tb1.sales sales,
tb2.sales partner_sales,
tb1.cogs cogs,
tb2.cogs partner_cogs,
( tb1.sales + tb1.cogs ) margin,
( tb2.sales + tb2.cogs ) partner_margin,
tb1.ppv ppv,
tb2.ppv partner_ppv
FROM
apps.gl_periods gp
left JOIN tb tb1 ON tb1.period_name = gp.period_name
left JOIN tb tb2 ON tb2.period_name = gp.period_name
AND tb2.company = tb1.intercompany
AND tb2.intercompany = tb1.company
WHERE
gp.period_set_name = 'INTG_CALENDAR'

You might also like