taxonomy().concept(ferc:ScheduleStatementOfAccumulatedOtherComprehensiveIncomeAndHedgingActivitiesAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F1FScheduleTitle").text
PART VII: STATEMENT OF ACCUMULATED COMPREHENSIVE INCOME AND HEDGING ACTIVITIES
|
taxonomy().concept(ferc:ScheduleStatementOfAccumulatedOtherComprehensiveIncomeAndHedgingActivitiesAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F1FInstructions").text
- Report in columns (b) (c) and (e) the amounts of accumulated other comprehensive income items, on a net-of-tax basis, where appropriate.
- Report in columns (f) and (g) the amounts of other categories of other cash flow hedges.
- For each category of hedges that have been accounted for as “fair value hedges”, report the accounts affected and the related amounts in a footnote.
|
Line No. |
$headings = filter (taxonomy().concept(ferc:ScheduleStatementOfAccumulatedOtherComprehensiveIncomeAndHedgingActivitiesAbstract).references("http://ferc.gov/form/2020-01-01/roles/reference/columnDetails")) where ($item.part-by-name(ferc-part:Schedule).part-value == "122a - Schedule - Statement of Accumulated Other Comprehensive Income, Comprehensive Income, and Hedging Activities" and not ($item.part-by-name(ferc-part:Form).part-value == "Form 1" and $item.part-by-name(ferc-part:Column).part-value == "i"));
$headings = list(for $ref in $headings
list($ref.part-by-name(ferc-part:Column).part-value, $ref.part-by-name(ferc-part:ColumnName).part-value))
$heading_dict = dict(for $row in $headings
list("("+$row[1]+")",$row[2])
);
for $row in $heading_dict.keys.sort
$heading_dict[$row]
Title of Account
$row
(a)
|
// adding a comment
/** Get a list of all the elements in the schedule **/
$element_population = navigate parent-child descendants from ferc:ScheduleStatementOfAccumulatedOtherComprehensiveIncomeAndHedgingActivitiesAbstract returns list(target-name, result-order);
/** Set up a variable to record which rows are shaded **/
$shadeHeader = list(true);
/** Identify the elements that are actually used in the schedule. The elements variable identifies those elements with a row number less than 5 that are prior elements **/
$elements = list(for $row in $element_population
$concept = taxonomy().concept($row[1]);
$row_num = (filter $concept.references("http://ferc.gov/form/2020-01-01/roles/reference/formLocation") where ($item.part-by-name(ferc-part:Schedule).part-value == "122a - Schedule - Statement of Accumulated Other Comprehensive Income, Comprehensive Income, and Hedging Activities" and $item.part-by-name(ferc-part:Row).part-value.string < "5" and $item.part-by-name(ferc-part:Period).part-value.string == "Prior" )).to-list;
list($row[2],
$concept,
if ($row_num.length > 0)
($row_num.part-by-name(ferc-part:Row))[1].part-value
else
0,
if ($row_num.part-by-name(ferc-part:Column).length > 0)
($row_num.part-by-name(ferc-part:Column))[1].part-value
else
0
)
);
/** Identify unique elements that are a duratuion element that is not an abstract and sort in the order of the column number.
$item[4] is the column number and is used to sort the elements.
$item[2] is the concept name
$item[3] is the row number. **/
$movement_items = list(
$priorLine = set(for $item in $elements
if $item[3] < 5 and $item[2].period-type == "duration" and $item[2].is-abstract == false
list($item[4],$item[2],$item[3])
else
skip);
$orders = set(for $x in $priorLine $x[3]+$x[1]).sort;
$orderedList1 = list(for $order in $orders
for $row in $priorLine
if $row[3]+$row[1] != $order or $row[3] != 2
skip
else
$row[2]);
$orderedList2 = list(for $order in $orders
for $row in $priorLine
if $row[3]+$row[1] != $order or $row[3] != 3
skip
else
$row[2]);
$orderedList3 = list(for $order in $orders
for $row in $priorLine
if $row[3]+$row[1] != $order or $row[3] != 4
skip
else
$row[2]);
/** Add 2 none lists for the two final columns **/
list($orderedList1 + list(none) + list(none), $orderedList2 + list(none) + list(none), $orderedList3));
/** remove additional list as movement_items as only one item in it list(list(list())) **/
$movement = $movement_items[1];
/** Create variable of prior durational items with a shade header indicating the final two columns are shaded, add a label and add the prior durational values **/
$prior_durations_all = list(for $i in range($movement.length)
$prior_durations = list(for $c in $movement[$i]
if count(list([covered @concept = $c @period=$priorDuration])) > 0
first(list([covered @concept = $c @period=$priorDuration]))
else
none);
$prior_durations_label = list($movement[$i][1].label("http://ferc.gov/form/2020-01-01/roles/label/F1Prior").text);
$shadeHeaderDur = if $i == $movement.length list(false) else list(true);
$shadeHeaderDur + $prior_durations_label + $prior_durations);
$current_durations_all = list(for $i in range($movement.length)
$current_durations = list(for $c in $movement[$i]
if count(list([covered @concept = $c @period=$currentDuration])) > 0
first(list([covered @concept = $c @period=$currentDuration]))
else
none);
$current_durations_label = list($movement[$i][1].label("http://ferc.gov/form/2020-01-01/roles/label/F1Current").text);
$shadeHeaderDur = if $i == $movement.length list(false) else list(true);
$shadeHeaderDur + $current_durations_label + $current_durations);
/** OPENING BALANCES **/
$openElements = list(for $row in $element_population
$concept = taxonomy().concept($row[1]);
$row_num = (filter $concept.references("http://ferc.gov/form/2020-01-01/roles/reference/formLocation") where ($item.part-by-name(ferc-part:Schedule).part-value == "122a - Schedule - Statement of Accumulated Other Comprehensive Income, Comprehensive Income, and Hedging Activities" and $item.part-by-name(ferc-part:Row).part-value.string == "1" and $item.part-by-name(ferc-part:Period).part-value.string == "Prior2" )).to-list;
list($row[2],
$concept,
if ($row_num.length > 0)
($row_num.part-by-name(ferc-part:Row))[1].part-value
else
"",
if ($row_num.part-by-name(ferc-part:Column).length > 0)
($row_num.part-by-name(ferc-part:Column))[1].part-value
else
""
));
$openingPriorBalance = set(for $x in $openElements
if $x[3] == 1
list($x[4],$x[2])
else
skip);
$orders = set(for $x in $openingPriorBalance $x[1]).sort;
$orderedList = list(for $order in $orders
for $row in $openingPriorBalance
if $row[1] != $order
skip
else
$row[2]);
/** Get the opening balance of prior values **/
$data_open_prior_values = list(for $c in $orderedList
if count(list([covered @concept = $c @period=$prior2Instant])) > 0
first(list([covered @concept = $c @period=$prior2Instant]))
else
none);
$open_prior_label = list($orderedList[1].label("http://ferc.gov/form/2020-01-01/roles/label/F1BeginningBalance2").text);
$opening_balance_line_prior = list($shadeHeader + $open_prior_label + $data_open_prior_values + list(none) + list(none));
$data_closing_prior_values = list(for $c in $orderedList
if count(list([covered @concept = $c @period=$prior12MonthsInstant])) > 0
first(list([covered @concept = $c @period=$prior12MonthsInstant]))
else
none);
$data_opening_prior_values = list(for $c in $orderedList
if count(list([covered @concept = $c @period=$priorInstant])) > 0
first(list([covered @concept = $c @period=$priorInstant]))
else
none);
$data_closing_current_values = list(for $c in $orderedList
if count(list([covered @concept = $c @period=$currentInstant])) > 0
first(list([covered @concept = $c @period=$currentInstant]))
else
none);
$closing_prior_label = list($orderedList[1].label("http://ferc.gov/form/2020-01-01/roles/label/F1EndingBalance2").text);
$closing_balance_line_prior = list($shadeHeader + $closing_prior_label + $data_closing_prior_values + list(none) + list(none));
$opening_label = list($orderedList[1].label("http://ferc.gov/form/2020-01-01/roles/label/F1BeginningBalance").text);
$opening_balance_line = list($shadeHeader + $opening_label + $data_opening_prior_values + list(none) + list(none));
$closing_current_label = list($orderedList[1].label("http://ferc.gov/form/2020-01-01/roles/label/F1EndingBalance").text);
$closing_balance_line = list($shadeHeader + $closing_current_label + $data_closing_current_values + list(none) + list(none));
for $row in ($opening_balance_line_prior + $prior_durations_all + $closing_balance_line_prior + $opening_balance_line + $current_durations_all + $closing_balance_line )
1/>
1
|
$row[2]
Balance of Account 77 at Beginning of Preceding Year
|
$row[3]
100
|
$row[4]
200
|
$row[5]
300
|
$row[6]
300
|
$row[7]
300
|
$row[8]
300
|
$row[9]
300
|
$row[10]
if $row[1] "gray-out" else ""
300
|
$row[11]
if $row[1] "gray-out" else ""
300
|