0% found this document useful (0 votes)
9 views5 pages

Scripts Used

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

Scripts Used

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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