Supporting detail totals no longer match essbase

Supporting detail totals no longer match essbase.
I tried to edit the oracle data but it still doesn't work. What am I missing?
The user can't add any heads to her budget for an Occ code and center.

You are quite right it isnt a nice feature of Hyperion Planning and is one of the reasons why when designing Planning applications you tend to stay well away from it.
As John has said, the data in supporting detail is held in the Planning database repository (along with Text and other supporting, non number based data), whereas the number you see in the standard data form (not the supp detail grids) are held in Essbase. Usual reasons for allignment issues would be because some data has been loaded directly into Essbase that for some reason doesnt match what has been entered into the supporting detail for that data interect.
Another word of warning and another reason for NOT using supporting detail. Usually in planning applications you copy data from scenario to scenario or version to version using business rules or calc manager rules. If the users have entered supporting detail then this supporting detail will NOT copy with the essbase data. So an example where you could have problems is this. How about you create a forecast and then you want to seed your budget with this. You would copy the data using a rule. Then a user enters data into their budget using supporting detail. Then you then decide to copy from another version of the forecast at a later date. Well the original supporting detail would sit there still and therefore would be out of alignment.
You can copy supporting detail between versions using the Copy data process from within Planning itself rather than creating rules, but its not normal practice.
Thanks
Anthony

Similar Messages

  • Planning Supporting Detail - Copying

    Hi,
    Client wants to copy FY12 Forecast Supporting Detail to FY13 Budget. Is that possible? If it is, they then want to discard the data for FY13 leaving only the Supporting Detail line items. So question is if they wanted to do this what tables in the Planning Repository would need data records deleted while keeping the Supporting Detail line items?
    Does this make any sense?

    Tables used for supporting detail are:
    HSP_COLUMN_DETAIL_ITEM
    HSP_COLUMN_DETAIL
    After updating (copying FY12 supporting details to FY13) tables restart planning service.
    As FY13 is not an empty bucket, you have to consider situations like what do you want to do
    if you have data in FY13 and FY12 has no supporting detail for an intersection. Delete data from FY13?
    Data in supporting details of an intersection is not same as data in essbase. ex: expenses as per Fy12 supporting detail are 100 and in essbase expenses (woth out supporting detail) for FY13 are 200. Do you need 100 or 200? etc
    Hiope it helps
    -Krishna

  • SQL query to retrieve totals from "supporting Details"

    We've had a strange issue where the totals from the supporting details aren't adding up to the value submitted in essbase.
    In effect our RDMS is out of sync with Planning.
    In order to remedy this, I'm trying to build a SQL query to retrieve the value of the supporting details.
    Here is my Sql statement so far :
    SELECT
    HO1.OBJECT_NAME SCENARIO,
    HO2.OBJECT_NAME ACCOUNT,
    HO3.OBJECT_NAME ENTITY,
    HO4.OBJECT_NAME Month,
    HO5.OBJECT_NAME Version,
    HO6.OBJECT_NAME Currency,
    HO7.OBJECT_NAME Year,
    HO8.OBJECT_NAME Project,
    HO10.OBJECT_NAME CC,
    HO12.OBJECT_NAME Grplcl,
    HO13.OBJECT_NAME Product,
    HO15.OBJECT_NAME SalesRegion,
    HO16.OBJECT_NAME ContractAnalysis,
    HO17.OBJECT_NAME IC,
    SUM(NVL(HCDI.VALUE,0)) AMOUNT
    FROM hsp_column_detail HCD,
    hsp_column_detail_ITEM HCDI,
    HSP_OBJECT HO1,
    HSP_OBJECT HO2,
    HSP_OBJECT HO3,
    HSP_OBJECT HO4,
    HSP_OBJECT HO5,
    HSP_OBJECT HO6,
    HSP_OBJECT HO7,
    HSP_OBJECT HO8,
    HSP_OBJECT HO10,
    HSP_OBJECT HO12,
    HSP_OBJECT HO13,
    HSP_OBJECT HO15,
    HSP_OBJECT HO16,
    HSP_OBJECT HO17
    WHERE hcd.detail_id = hcdi.detail_id
    AND hcd.dim1 = ho1.object_id
    AND hcd.dim2 = ho2.object_id
    AND hcd.dim3 = ho3.object_id
    AND hcd.dim4 = ho4.object_id
    AND hcd.dim5 = ho5.object_id
    AND hcd.dim6 = ho6.object_id
    AND hcd.dim7 = ho7.object_id
    AND hcd.dim8 = ho8.object_id
    AND hcd.dim10 = ho10.object_id
    AND hcd.dim12 = ho12.object_id
    AND hcd.dim13 = ho13.object_id
    AND hcd.dim15 = ho15.object_id
    AND hcd.dim16 = ho16.object_id
    AND hcd.dim17 = ho17.object_id
    and hcdi.generation = 0
    GROUP BY HO1.OBJECT_NAME, HO2.OBJECT_NAME, HO3.OBJECT_NAME, HO4.OBJECT_NAME,
    HO5.OBJECT_NAME,
    HO6.OBJECT_NAME,
    HO7.OBJECT_NAME,
    HO8.OBJECT_NAME,
    HO10.OBJECT_NAME,
    HO12.OBJECT_NAME,
    HO13.OBJECT_NAME,
    HO15.OBJECT_NAME,
    HO16.OBJECT_NAME,
    HO17.OBJECT_NAME
    ORDER BY HO1.OBJECT_NAME, HO3.OBJECT_NAME, HO2.OBJECT_NAME

    This query works using PL SQL and has been used on Oracle 9.2.3.
    Cheers,
    Jeremie
    Here is the Query:
    set serveroutput on;
    set serveroutput on size 1000000;
    --set buffer_size 10000000;
    --set line_size 2000;
    --DBMS_OUTPUT.size = 2000000;
    DECLARE
    CURSOR BUDGET_HEADERS_CU IS
    SELECT
    hcd.detail_id,
    HO1.OBJECT_NAME SCENARIO,
    HO2.OBJECT_NAME ACCOUNT,
    HO3.OBJECT_NAME ENTITY,
    HO4.OBJECT_NAME Month,
    HO5.OBJECT_NAME Version,
    HO6.OBJECT_NAME Currency,
    HO7.OBJECT_NAME Year,
    HO8.OBJECT_NAME Project,
    HO10.OBJECT_NAME CC,
    HO12.OBJECT_NAME Grplcl,
    HO13.OBJECT_NAME Product,
    HO15.OBJECT_NAME SalesRegion,
    HO16.OBJECT_NAME ContractAnalysis,
    HO17.OBJECT_NAME IC,
    hcd.dim1 SCENARIO_id,
    hcd.dim2 ACCOUNT_id,
    hcd.dim3 ENTITY_id,
    hcd.dim4 Month_id,
    hcd.dim5 Version_id,
    hcd.dim6 Currency_ID,
    hcd.dim7 Year_ID,
    hcd.dim8 Project_ID,
    hcd.dim10 CC_ID,
    hcd.dim12 Grplcl_ID,
    hcd.dim13 Product_ID,
    hcd.dim15 SalesRegion_ID,
    hcd.dim16 ContractAnalysis_ID,
    hcd.dim17 IC_ID
    FROM hsp_column_detail HCD, /*hsp_column_detail_item HCDi,*/
    HSP_OBJECT HO1,
    HSP_OBJECT HO2,
    HSP_OBJECT HO3,
    HSP_OBJECT HO4,
    HSP_OBJECT HO5,
    HSP_OBJECT HO6,
    HSP_OBJECT HO7,
    HSP_OBJECT HO8,
    HSP_OBJECT HO10,
    HSP_OBJECT HO12,
    HSP_OBJECT HO13,
    HSP_OBJECT HO15,
    HSP_OBJECT HO16,
    HSP_OBJECT HO17
    WHERE /*hcd.detail_id = hcdi.detail_id
    AND*/ hcd.dim1 = ho1.object_id
    AND hcd.dim2 = ho2.object_id
    AND hcd.dim3 = ho3.object_id
    AND hcd.dim4 = ho4.object_id
    AND hcd.dim5 = ho5.object_id
    AND hcd.dim6 = ho6.object_id
    AND hcd.dim7 = ho7.object_id
    AND hcd.dim8 = ho8.object_id
    AND hcd.dim10 = ho10.object_id
    AND hcd.dim12 = ho12.object_id
    AND hcd.dim13 = ho13.object_id
    AND hcd.dim15 = ho15.object_id
    AND hcd.dim16 = ho16.object_id
    AND hcd.dim17 = ho17.object_id
    and HO5.OBJECT_NAME = 'Working'
    --and hcdi.generation != 0
    --and hcdi.label like 'JRTEST-%'
    --and hcd.detail_id = 253102
    /*GROUP BY HCD.Dim1, HCD.Dim2, HCD.Dim3, HCD.Dim4,
    HCD.Dim5,
    HCD.Dim6,
    HCD.Dim7,
    HCD.Dim8,
    HCD.Dim10,
    HCD.Dim12,
    HCD.Dim13,
    HCD.Dim15,
    HCD.Dim16,
    HCD.Dim17*/;
    CURSOR BUDGET_DETAILS_CU(
    /*scenario_p in varchar2,
    account_p in varchar2,
    entity_p in varchar2,
    month_p in varchar2,
    version_p in varchar2,
    currency_p in varchar2,
    year_p in varchar2,
    project_p in varchar2,
    cc_p in varchar2,
    grplcl_p in varchar2,
    product_p in varchar2,
    salesregion_p in varchar2,
    contractanalysis_p in varchar2,
    ic_p in varchar2*/
    detail_id_p in number
    IS
    SELECT
    /* HO1.OBJECT_NAME SCENARIO,
    HO2.OBJECT_NAME ACCOUNT,
    HO3.OBJECT_NAME ENTITY,
    HO4.OBJECT_NAME Month,
    HO5.OBJECT_NAME Version,
    HO6.OBJECT_NAME Currency,
    HO7.OBJECT_NAME Year,
    HO8.OBJECT_NAME Project,
    HO10.OBJECT_NAME CC,
    HO12.OBJECT_NAME Grplcl,
    HO13.OBJECT_NAME Product,
    HO15.OBJECT_NAME SalesRegion,
    HO16.OBJECT_NAME ContractAnalysis,
    HO17.OBJECT_NAME IC, */
    label,
    NVL(HCDI.VALUE,0) AMOUNT,
    HCDI.Position,
    HCDI.operator,
    HCDI.generation
    FROM /*hsp_column_detail HCD,*/
    hsp_column_detail_ITEM HCDI
    /* HSP_OBJECT HO1,
    HSP_OBJECT HO2,
    HSP_OBJECT HO3,
    HSP_OBJECT HO4,
    HSP_OBJECT HO5,
    HSP_OBJECT HO6,
    HSP_OBJECT HO7,
    HSP_OBJECT HO8,
    HSP_OBJECT HO10,
    HSP_OBJECT HO12,
    HSP_OBJECT HO13,
    HSP_OBJECT HO15,
    HSP_OBJECT HO16,
    HSP_OBJECT HO17*/
    --WHERE hcd.detail_id = hcdi.detail_id
    WHERE hcdi.detail_id = detail_id_p
    /*AND hcd.dim1 = ho1.object_id
    AND hcd.dim2 = ho2.object_id
    AND hcd.dim3 = ho3.object_id
    AND hcd.dim4 = ho4.object_id
    AND hcd.dim5 = ho5.object_id
    AND hcd.dim6 = ho6.object_id
    AND hcd.dim7 = ho7.object_id
    AND hcd.dim8 = ho8.object_id
    AND hcd.dim10 = ho10.object_id
    AND hcd.dim12 = ho12.object_id
    AND hcd.dim13 = ho13.object_id
    AND hcd.dim15 = ho15.object_id
    AND hcd.dim16 = ho16.object_id
    AND hcd.dim17 = ho17.object_id*/
    --and hcdi.generation != 0
    --and label like 'JRTEST-%'
    /*AND HCD.Dim1 = scenario_p
    AND HCD.Dim2 = account_p
    AND HCD.Dim3 = entity_p
    AND HCD.Dim4 = month_p
    AND HCD.Dim5 = version_p
    AND HCD.Dim6 = currency_p
    AND HCD.Dim7 = year_p
    AND HCD.Dim8 = project_p
    AND HCD.Dim10 = cc_p
    AND HCD.Dim12 = grplcl_p
    AND HCD.Dim13 = product_p
    AND HCD.Dim15 = salesregion_p
    AND HCD.Dim16 = contractanalysis_p
    AND HCD.Dim17 = ic_p*/
    ORDER BY hcdi.position;
    -- Variable Declaration
    running_total_ln number :=0;
    prev_running_total_ln number :=0;
    add_amount number :=0;
    multiply_amount number :=1;
    prev_generation number :=0;
    prev_add_amount number :=0;
    prev_multiply_amount number :=1;
    running_total_gen0 number :=0;
    running_gen0_op number :=0;
    running_total_gen1 number :=0;
    running_gen1_op number :=0;
    running_total_gen2 number :=0;
    running_gen2_op number :=0;
    running_total_gen3 number :=0;
    running_gen3_op number :=0;
    running_total_gen4 number :=0;
    running_gen4_op number :=0;
    running_total_gen5 number :=0;
    running_gen5_op number :=0;
    output_file utl_file.file_type;
    -- Begin PL/SQL processing
    BEGIN
    --DBMS_OUTPUT.
    DBMS_OUTPUT.ENABLE(1000000);
    DBMS_OUTPUT.PUT_LINE('Begin Processing');
    output_file := utl_file.fopen ('C:\temp', 'test.txt', 'W');
    -- Begin Header For Loop
    FOR BUDGET_HEADERS_CV IN BUDGET_HEADERS_CU
    LOOP
    --Reset Running Totals
    running_total_ln:=0;
    prev_running_total_ln:=0;
    add_amount:=0;
    multiply_amount:=1;
    prev_generation:=0;
    prev_add_amount:=0;
    prev_multiply_amount:=1;
    running_total_gen0:=0;
    running_gen0_op:=0;
    running_total_gen1:=0;
    running_gen1_op:=0;
    running_total_gen2:=0;
    running_gen2_op:=0;
    running_total_gen3:=0;
    running_gen3_op:=0;
    running_total_gen4:=0;
    running_gen4_op:=0;
    running_total_gen5:=0;
    running_gen5_op:=0;
    -- Begin Detail For Loop
    FOR BUDGET_DETAILS_CV IN BUDGET_DETAILS_CU(
    BUDGET_HEADERS_CV.Detail_ID
    /*BUDGET_HEADERS_CV.SCENARIO_ID,
    BUDGET_HEADERS_CV.ACCOUNT_ID,
    BUDGET_HEADERS_CV.ENTITY_ID,
    BUDGET_HEADERS_CV.Month_ID,
    BUDGET_HEADERS_CV.Version_ID,
    BUDGET_HEADERS_CV.Currency_ID,
    BUDGET_HEADERS_CV.Year_ID,
    BUDGET_HEADERS_CV.Project_ID,
    BUDGET_HEADERS_CV.CC_ID,
    BUDGET_HEADERS_CV.Grplcl_ID,
    BUDGET_HEADERS_CV.Product_ID,
    BUDGET_HEADERS_CV.SalesRegion_ID,
    BUDGET_HEADERS_CV.ContractAnalysis_ID,
    BUDGET_HEADERS_CV.IC_ID*/
    LOOP
    -- Null;
    add_amount :=0;
    multiply_amount :=1;
    IF BUDGET_DETAILS_CV.OPERATOR = 1 THEN
    add_amount := BUDGET_DETAILS_CV.Amount;
    End if;
    IF BUDGET_DETAILS_CV.OPERATOR = 2 THEN
    add_amount := BUDGET_DETAILS_CV.Amount * -1;
    End if;
    IF BUDGET_DETAILS_CV.OPERATOR = 3 THEN
    multiply_amount := BUDGET_DETAILS_CV.Amount;
    End if;
    IF BUDGET_DETAILS_CV.OPERATOR = 4 THEN
    multiply_amount := 1/BUDGET_DETAILS_CV.Amount;
    End if;
    IF BUDGET_DETAILS_CV.Position = 0 then
    running_total_gen0 := add_amount*multiply_amount;-- we are dealing with the first line
    Else
    if BUDGET_DETAILS_CV.GENERATION = prev_generation then
    -- run whatever total we are on up
    if BUDGET_DETAILS_CV.GENERATION = 0 then
    running_total_gen0 := (running_total_gen0 + add_amount)*multiply_amount;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = 1 then
    running_total_gen1 := (running_total_gen1 + add_amount)*multiply_amount;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = 2 then
    running_total_gen2 := (running_total_gen2 + add_amount)*multiply_amount;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = 3 then
    running_total_gen3 := (running_total_gen3 + add_amount)*multiply_amount;
    end if;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = prev_generation +1 then
    -- we are going up a generation
    -- (we cannot go up to gen0
    if BUDGET_DETAILS_CV.GENERATION = 1 then
    running_total_gen1:=0;-- reset gen1 counter
    running_gen0_op:=BUDGET_DETAILS_CV.OPERATOR; -- Store the sign for later operation
    running_total_gen0 := running_total_gen0/prev_multiply_amount - prev_add_amount; -- Remove parent from Gen 0 total
    running_total_gen1 := (running_total_gen1 + add_amount)*multiply_amount;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = 2 then
    running_total_gen2:=0;-- reset gen1 counter
    running_gen1_op:=BUDGET_DETAILS_CV.OPERATOR; -- Store the sign for later operation
    running_total_gen1 := running_total_gen1/prev_multiply_amount - prev_add_amount; -- Remove parent from Gen 1 total
    running_total_gen2 := (running_total_gen2 + add_amount)*multiply_amount;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = 3 then
    running_total_gen3:=0;-- reset gen1 counter
    running_gen2_op:=BUDGET_DETAILS_CV.OPERATOR; -- Store the sign for later operation
    running_total_gen2 := running_total_gen2/prev_multiply_amount - prev_add_amount; -- Remove parent from Gen 2 total
    running_total_gen3 := (running_total_gen3 + add_amount)*multiply_amount;
    end if;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = prev_generation - 1 then
    -- we are Down a generation
    if BUDGET_DETAILS_CV.GENERATION = 0 then
    --we need to "add" back the previous gen 1 parent
    IF running_gen0_op = 1 THEN
    running_total_gen0 := running_total_gen0 + running_total_gen1;
    End if;
    IF running_gen0_op = 2 THEN
    running_total_gen0 := running_total_gen0 - running_total_gen1;
    End if;
    IF running_gen0_op = 3 THEN
    running_total_gen0 := running_total_gen0 * running_total_gen1;
    End if;
    IF running_gen0_op = 4 THEN
    running_total_gen0 := running_total_gen0 / running_total_gen1;
    End if;
    -- we need to add the current member to the gen0
    running_total_gen0 := (running_total_gen0 + add_amount)*multiply_amount;
    END IF;
    if BUDGET_DETAILS_CV.GENERATION = 1 then
    --we need to "add" back the previous gen 2 parent
    IF running_gen1_op = 1 THEN
    running_total_gen1 := running_total_gen1 + running_total_gen2;
    End if;
    IF running_gen1_op = 2 THEN
    running_total_gen1 := running_total_gen1 - running_total_gen2;
    End if;
    IF running_gen1_op = 3 THEN
    running_total_gen1 := running_total_gen1 * running_total_gen2;
    End if;
    IF running_gen1_op = 4 THEN
    running_total_gen1 := running_total_gen1 / running_total_gen2;
    End if;
    -- we need to add the current member to the gen1
    running_total_gen1 := (running_total_gen1 + add_amount)*multiply_amount;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = 2 then
    --we need to "add" back the previous gen 3 parent
    IF running_gen1_op = 1 THEN
    running_total_gen2 := running_total_gen2 + running_total_gen3;
    End if;
    IF running_gen1_op = 2 THEN
    running_total_gen2 := running_total_gen2 - running_total_gen3;
    End if;
    IF running_gen1_op = 3 THEN
    running_total_gen2 := running_total_gen2 * running_total_gen3;
    End if;
    IF running_gen1_op = 4 THEN
    running_total_gen2 := running_total_gen2 / running_total_gen3;
    End if;
    -- we need to add the current member to the gen2
    running_total_gen2 := (running_total_gen2 + add_amount)*multiply_amount;
    end if;
    end if;
    if BUDGET_DETAILS_CV.GENERATION = prev_generation - 2 then
    -- we are Down 2 generations
    if BUDGET_DETAILS_CV.GENERATION = 0 then
    --we need to "add" back the previous gen 2 parent
    IF running_gen1_op = 1 THEN
    running_total_gen1 := running_total_gen1 + running_total_gen2;
    End if;
    IF running_gen1_op = 2 THEN
    running_total_gen1 := running_total_gen1 - running_total_gen2;
    End if;
    IF running_gen1_op = 3 THEN
    running_total_gen1 := running_total_gen1 * running_total_gen2;
    End if;
    IF running_gen1_op = 4 THEN
    running_total_gen1 := running_total_gen1 / running_total_gen2;
    End if;
    --we need to "add" back the previous gen 1 parent
    IF running_gen0_op = 1 THEN
    running_total_gen0 := running_total_gen0 + running_total_gen1;
    End if;
    IF running_gen0_op = 2 THEN
    running_total_gen0 := running_total_gen0 - running_total_gen1;
    End if;
    IF running_gen0_op = 3 THEN
    running_total_gen0 := running_total_gen0 * running_total_gen1;
    End if;
    IF running_gen0_op = 4 THEN
    running_total_gen0 := running_total_gen0 / running_total_gen1;
    End if;
    -- we need to add the current member to the gen0
    running_total_gen0 := (running_total_gen0 + add_amount)*multiply_amount;
    END IF;
    if BUDGET_DETAILS_CV.GENERATION = 1 then
    --we need to "add" back the previous gen 3 parent
    IF running_gen1_op = 1 THEN
    running_total_gen2 := running_total_gen2 + running_total_gen3;
    End if;
    IF running_gen1_op = 2 THEN
    running_total_gen2 := running_total_gen2 - running_total_gen3;
    End if;
    IF running_gen1_op = 3 THEN
    running_total_gen2 := running_total_gen2 * running_total_gen3;
    End if;
    IF running_gen1_op = 4 THEN
    running_total_gen2 := running_total_gen2 / running_total_gen3;
    End if;
    --we need to "add" back the previous gen 2 parent
    IF running_gen1_op = 1 THEN
    running_total_gen1 := running_total_gen1 + running_total_gen2;
    End if;
    IF running_gen1_op = 2 THEN
    running_total_gen1 := running_total_gen1 - running_total_gen2;
    End if;
    IF running_gen1_op = 3 THEN
    running_total_gen1 := running_total_gen1 * running_total_gen2;
    End if;
    IF running_gen1_op = 4 THEN
    running_total_gen1 := running_total_gen1 / running_total_gen2;
    End if;
    -- we need to add the current member to the gen1
    running_total_gen1 := (running_total_gen1 + add_amount)*multiply_amount;
    END IF;
    if BUDGET_DETAILS_CV.GENERATION = prev_generation - 3 then
    -- we are Down 3 generations
    if BUDGET_DETAILS_CV.GENERATION = 0 then
    --we need to "add" back the previous gen 3 parent
    IF running_gen1_op = 1 THEN
    running_total_gen2 := running_total_gen2 + running_total_gen3;
    End if;
    IF running_gen1_op = 2 THEN
    running_total_gen2 := running_total_gen2 - running_total_gen3;
    End if;
    IF running_gen1_op = 3 THEN
    running_total_gen2 := running_total_gen2 * running_total_gen3;
    End if;
    IF running_gen1_op = 4 THEN
    running_total_gen2 := running_total_gen2 / running_total_gen3;
    End if;
    --we need to "add" back the previous gen 2 parent
    IF running_gen1_op = 1 THEN
    running_total_gen1 := running_total_gen1 + running_total_gen2;
    End if;
    IF running_gen1_op = 2 THEN
    running_total_gen1 := running_total_gen1 - running_total_gen2;
    End if;
    IF running_gen1_op = 3 THEN
    running_total_gen1 := running_total_gen1 * running_total_gen2;
    End if;
    IF running_gen1_op = 4 THEN
    running_total_gen1 := running_total_gen1 / running_total_gen2;
    End if;
    --we need to "add" back the previous gen 1 parent
    IF running_gen0_op = 1 THEN
    running_total_gen0 := running_total_gen0 + running_total_gen1;
    End if;
    IF running_gen0_op = 2 THEN
    running_total_gen0 := running_total_gen0 - running_total_gen1;
    End if;
    IF running_gen0_op = 3 THEN
    running_total_gen0 := running_total_gen0 * running_total_gen1;
    End if;
    IF running_gen0_op = 4 THEN
    running_total_gen0 := running_total_gen0 / running_total_gen1;
    End if;
    -- we need to add the current member to the gen0
    running_total_gen0 := (running_total_gen0 + add_amount)*multiply_amount;
    END IF;
    end if;
    END IF;
    End IF;
    END LOOP; -- End of Detail Loop
    --DBMS_OUTPUT.PUT_LINE(BUDGET_HEADERS_CV.SCENARIO||';'||BUDGET_HEADERS_CV.ACCOUNT||';'||BUDGET_HEADERS_CV.ENTITY||';'||BUDGET_HEADERS_CV.Month||';'||BUDGET_HEADERS_CV.Version||';'||BUDGET_HEADERS_CV.Currency||';'||BUDGET_HEADERS_CV.Year||';'||BUDGET_HEADERS_CV.Project||';'||BUDGET_HEADERS_CV.CC||';'||BUDGET_HEADERS_CV.Grplcl||';'||BUDGET_HEADERS_CV.Product||';'||BUDGET_HEADERS_CV.SalesRegion||';'||BUDGET_HEADERS_CV.ContractAnalysis||';'||BUDGET_HEADERS_CV.IC||';'||running_total_gen0);
    utl_file.put_line(output_file,BUDGET_HEADERS_CV.SCENARIO||';'||BUDGET_HEADERS_CV.ACCOUNT||';'||BUDGET_HEADERS_CV.ENTITY||';'||BUDGET_HEADERS_CV.Month||';'||BUDGET_HEADERS_CV.Version||';'||BUDGET_HEADERS_CV.Currency||';'||BUDGET_HEADERS_CV.Year||';'||BUDGET_HEADERS_CV.Project||';'||BUDGET_HEADERS_CV.CC||';'||BUDGET_HEADERS_CV.Grplcl||';'||BUDGET_HEADERS_CV.Product||';'||BUDGET_HEADERS_CV.SalesRegion||';'||BUDGET_HEADERS_CV.ContractAnalysis||';'||BUDGET_HEADERS_CV.IC||';'||running_total_gen0);
    /*BUDGET_HEADERS_CV.SCENARIO, BUDGET_HEADERS_CV.ACCOUNT, BUDGET_HEADERS_CV.ENTITY, BUDGET_HEADERS_CV.Month, BUDGET_HEADERS_CV.Version,BUDGET_HEADERS_CV.Currency, BUDGET_HEADERS_CV.Year, BUDGET_HEADERS_CV.Project, BUDGET_HEADERS_CV.CC, BUDGET_HEADERS_CV.Grplcl, BUDGET_HEADERS_CV.Product, BUDGET_HEADERS_CV.SalesRegion, BUDGET_HEADERS_CV.ContractAnalysis, BUDGET_HEADERS_CV.IC */
    END LOOP; -- End of Header Loop
    --DBMS_OUTPUT.PUT_LINE('Total');
    -- DBMS_OUTPUT.PUT_LINE('End Processing');
    utl_file.fclose(output_file);
    END;
    Edited by: JeremieR on Apr 18, 2011 5:02 AM

  • Anyone else see that MyVerizon Data Totals Do Not Match Detail?

    We have a 6 GB  share everything plan for 5 devices.  I used the My Verizon app on the phone before I went to bed last night  to look everyone's total data usage,  and it tells me  halfway into my billing cycle, that wer are at 2.5 gigs. All well and good.  But then not an hour later I am awaked by the beep of an incoming ttext message and  email from Verizon that says our usage is now 75% of  our allowance.  WHAT?
    Next AM I log into My Verzon on the PC, not the phone.. We are still at 2.5 gigs according to the grand total on the report.  I then go into each line to see who is using how much and at the bottom,  I select, download to spreadsheet, for each line. . I now have detailed,  date and minute info on how many kilobytes or megabytes were used for the billing period to date  I add them all up for each line and sum all the lines together and whaddaya know, our total usage is 3.9 gigs.  Thats 64% of  allocation, not 75%, but its sure more than 2.5 gigs,
    I place the call into customer service, how come  the text and email warnings do not match how much data you show in the My Verizon app or in the detailed spreadsheets of every single data transaction on each of our phones when placed into a spreadsheet. Initially the rep looked at the same general report I did and assured me my usage was only 2.5 gigs.  So why the warnings and why does the detail show something different from the grand totals in the app?
    Was placed on hold while they did research.  After a bit, the rep came back and said they don't know why the totals do not match, Verizon does think there may be a glitch with the warnings that go out,  however they are going to do some research and will call me back in four days.   Well, I figured this was a bigger problem on their side then one phone call would solve, so no suprise there.  The rep also opined that the detailed usage spreadsheets probably reflects non billable usage, that is, usage will on WIFI. Incredulous, I asked, does this mean Verizon is tracking how much data I use while I am on WIFI and not even on their network? (Am I and my family being spied on?)  Not sure, was the answer, they will get back to me on that one.
    I look forward to the promised call. 
    However, I am very concerned that with being on a limited data plan and nobody has any real idea how much data is used,  the tools furnished to us to measure how much we consume may be unreliable and totally inaccurate.  We will see what they say.  Anyone else?

    The app isn't always up to date. Neither is the website it will tell you the last time they have for each phone usage. We have multiple smartphones never had an issue will data billing being wrong. No Verizon doesn't count wi-fi usage. No Verizon is not spying on you. Verizon couldn't care less how many "lol cats" pictures you look at everyday. The data meter on my phone( not the Verizon app the actual data app on my Android phone ) matches what Verizon says I will say 97% or more.

  • Planning Application - Supporting Details

    Hi,
    We deleted around 4000 members from our planning application and later realised that the few members have budget values tagged to them and also supporting details are included for few of the members. Now we would like to bring back those members to our application. Could you please suggest the best method to bring back those members and the associated supporting details. We donot want to restore the entire the entire application. Is there a way to restore only that particular dimension and its members and the supporting details associated with them. If yes, could anyone of you let me know the process. Our relational DB is SQL 2005.
    Request your help for the closure
    Thanks,

    Assuming you have a backup of your SQL database somewhere (this would be the Planning repository), the following code will extract Supporting Detail:
    Supporting Detail
    SELECT
         "Plan Type" = P.TYPE_NAME,
         "Scenario" = O1.OBJECT_NAME,
         "Account" = O2.OBJECT_NAME,
         "Entity" = O3.OBJECT_NAME,
         "Month" = O4.OBJECT_NAME,
         "Version" = O5.OBJECT_NAME,
         "Year" = O6.OBJECT_NAME,
         "Activities" = O7.OBJECT_NAME,
         "Employee" = O8.OBJECT_NAME,
         "Value" = I.VALUE,
         "Position" = I.POSITION,
         "Generation" = I.GENERATION,
         "Operator" = I.OPERATOR,
         "SD" = I.LABEL
    FROM HSP_COLUMN_DETAIL D
         INNER JOIN HSP_PLAN_TYPE P
              ON D.PLAN_TYPE = P.PLAN_TYPE
         INNER JOIN HSP_COLUMN_DETAIL_ITEM I
              ON D.DETAIL_ID = I.DETAIL_ID
         INNER JOIN HSP_OBJECT O1
              ON D.DIM1 = O1.OBJECT_ID
         INNER JOIN HSP_OBJECT O2
              ON D.DIM2 = O2.OBJECT_ID
         INNER JOIN HSP_OBJECT O3
              ON D.DIM3 = O3.OBJECT_ID
         INNER JOIN HSP_OBJECT O4
              ON D.DIM4 = O4.OBJECT_ID
         INNER JOIN HSP_OBJECT O5
              ON D.DIM5 = O5.OBJECT_ID
         INNER JOIN HSP_OBJECT O6
              ON D.DIM6 = O6.OBJECT_ID
         LEFT OUTER JOIN HSP_OBJECT O7
              ON D.DIM7 = O7.OBJECT_ID
         LEFT OUTER JOIN HSP_OBJECT O8
              ON D.DIM8 = O8.OBJECT_IDYou'll want to modify it a bit to get it to work with your dimensions -- this is from an old project of mine.
    I have never tried to write Supporting Detail back in -- I know it has been done, just not by me. I would tread very carefully and only do it on a test database and be really, really, really sure you've got everything working just so. You could easily blow up your data.
    Another approach might be to restore that Planning app backup (making sure you made a backup of the current app), and then use LCM to export out Supporting detail, and then suck it back into the app that no longer has it.
    ^^^I like that idea a lot more even if it is a bit more tedious.
    With either approach, you are going to have to sync the Essbase data to the SD data -- hopefully you have a good Essbase backup as well.
    Regards,
    Cameron Lackpour

  • JavaScript:Modify Data form to expose multiple periods of Supporting Detail

    Good Evening,
    I am currently on a project that has a requirement that users can enter Supporting Detail for multiple periods, regardless of what intersection of data you enter.
    I know that one approach is to not store the Supporting Detail in Hyperion Planning and just have Excel "store" the supporting detail and load the totals via SV VBA.
    Example:
    Detail 1
    Detail 2
    Detail 3
    Total Amount  (gets loaded into Essbase)
    However, I went down the path of exploring different approaches aside from the one mentioned above and came up with creating a process of copying the SD via stored procedure in the Planning Tables as a second approach (although I know this isn't exactly best practice) or creating custom Java Script. I have seen the examples of "Forcing SD" on Data Form using Java Script, but is is possible to expose multiple months of Supporting Detail in a customized form?
    Any thoughts/inputs/best approaches would be greatly appreciated.
    Thanks!

    A quick simple example
    function customCellEnterPre(row, col, cell) {
         if(row == 3 && col ==1)
              doSupportingDetail();
         return true;
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Value Limitation on Hyperion Planning Supporting Detail

    Hi All,
    Is there a way how to set the limitation on Supporting Detail ? I try to input the 9.500.000.000 as the value in my Supporting Detail but it always changes to 9.223.372.036.854776, it's like the total in the Supporting Detail can't be more than 9.223.372.036.854776.
    I'm using Planning 11.1.2.2.304 anyway
    Really appreciate if anyone can help me
    Thanks !

    If you look at the planning table the value is defined as Float, but however the number you are looking at is the max of Long (not sure why it is, however I think it has to deal with 16 significant digit rule)
    http://docs.oracle.com/javase/6/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE
    Regards
    Celvin

  • Supporting details  vs Excel to "lock and send"

    If user update Supporting details into a Planning form cell, then use Excel to "lock and send" a different dollar amount to that same cell, who will have precedence?
    Is there a utility that will force/ synchronize Planning to roll up supporting detail's dollars into Essbase cell (thus overwriting L&S)?

    Hi,
    Supporting detail information is held in the planning relational repository, essbase holds the total number.
    If a user enters supporting details in planning and then locks and send data straight into essbase then planning supporting details will be out of sync.
    If you are using supporting details then you should try avoid this situation by entering data via planning or smartview.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • File name in msdb.dbo.backupset no longer matches the actual file name on the storage media. Error 3013 Restore Database is terminating abnormally.

    Thanks in advance for taking the time to read this and comment. Platform: Windows Server 2008 R2 Enterprise Edition SP1 (X64) Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation
     Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)Problem Description: The file name recorded in the msdb.dbo.backupset (sans the extension) no longer matches the actual file name written to the backup media which is
    in this case a NETAPP NAS storage share. Example:
    Mohave_backup_2014_03_14_233001_1158878.bak      (from NETAPP NAS filer)
    Mohave_backup_2014_03_16_233001_4167237             (from MSDB.dbo.backupset), as you can see, the last 7 digits (chars) of the file name are different, although the date and time are identical. The
    file names had previously been matching perfectly. The first occurance of this problem occured on 03/13/2014 at 5:00 AM MST. The error generated by the job was:
    Date  3/14/2014 10:29:23 AM
    Log  Job History (Refresh - Restore Mohave_93_DEV AD HOC)
    Step ID  1
    Server  OurDevServer
    Job Name  Refresh - Restore Mohave_93_DEV AD HOC
    Step Name  Restore Mohave_93_DEV
    Duration  00:00:01
    Sql Severity  0
    Sql Message ID  50000
    Operator Emailed  
    Operator Net sent  
    Operator Paged  
    Retries Attempted  0
    Message
    Executed as user: OurDomain\OurNetworkServiceLogin. Restore Mohave Prod to Mohave_93_DEV - ERROR: 3013 RESTORE DATABASE is terminating abnormally. [SQLSTATE 01000] (Message 50000).  The step succeeded.

    Olaf:
    Thanks for your reply. Sorry, my bad. I inadvertently copied wrong [name] form the msdb.dbo.backupset. On 3/13 and 3/14, the two file names did not match. In trying to select another example to show you this morning, I found that the names are now matching!
    What I was doing was to create dynamic t-sql to retrieve the latest prod backup of the database, and then restore it with move to the development server. This is an ad-hoc job that the developers can run by themselves whenever they require a refresh. Unfortunately,
    we only keep 3 days worth of backups for these databases, so the original disk file I was trying to use to restore no longer exists. Researching the original error, one of the error descriptions was that the restore could not find the file requested.
    I thought this very strange since I get the file name directly from the backupset table. Further research did indeed show that the file names were different, but unfortunately, I failed to save the details of the file names. Anyway, in looking for a new example
    to show you this morning, I have found that the file names are indeed matching exactly again. If this error pops up again, I will be sure to save all details and re-post.
    Thanks, regards and best wishes to you and yours, 

  • How do I get all the content on my IPod to sync with itunes after I reinstalled itunes after computer crashed, folders and songs no longer match?

    My computer crashed back in Feb or March of this year and I just recently reinstalled itunes on it.  Once reinstalled itunes updated software.  Once this was all done I noticed that alot of songs on my IPod were no longer in itunes.  Also, the folders in itunes no longer matched what are on my IPod.  itunes says the computer is active for itunes and many songs on my IPod are on itunes but many are missing.  How do I get itunes to just sync and match what is on my IPod to include all songs and folders.  Many of the missing songs on my IPod and not in itunes are ones I purchased from itunes so they should have them.  I am getting very discouraged with itunes.  I tried to do a support call and pay the fee to have them call to address but I am stationed oversees and they would not accept my overseas number as valid.
    Any help is greatly appreciated.  As stated, I just want the music now on itunes to match with my IPod to include folders.  Seems music got lost.  Any suggestions how to back up the music so if this happens again I do not have this issue.  I figured itunes would have my music or at a min just sync up what is on my IPod.
    Thanks gunner

    Probably a bit late to help in this thread, but the question is asked & answered frequently.
    *Recover media from iPod*
    See this post from Zevoneer for options on moving your iPod data back to your computer.
    http://discussions.apple.com/message.jspa?messageID=7217190#7217190
    Some of the tools linked to will only work if the iPod has a valid library. Others can scan the drive independently and some may even be able to rebuild a damaged library. The manual method towards the end should be able to recover your media regardless of the state of the library.
    tt2

  • How to copy Supporting details using business rule

    Is it possible to copy supporting details and attachment, cell text using business rules. We have Copy version option but i want to make it run using a script, is it possible, please suggest

    The supporting detail is held in the planning relational tables and business rules are run against essbase, using a business rule you would probably have to create a custom CDF.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Smartview / Supporting Details Functionality / VBA Excel

    Question Summary*: Within Excel, using VBA, is it possible to control the "*_Supporting Details_*" functionality (read / add / delete children, paste values command)?
    Detail*:
    --- Within Excel, using VBA, I am able to control the POV parameters using something like this:
    X = HypSetPOV("Sheet1", "Entity#" & theE, "Project#" & theP)
    where theE and theP are variables I've preassigned --- works flawlessly
    --- Within Excel, using VBA, I am able to load / show the "*_Supporting Details_*" form using something like this:
    Application.CommandBars(1).Controls("Hyperion").Controls("Supporting Details").Execute
    I then manually (takes too long) enter data to the form in order to itemize --- within a specific GL expense account --- the budget line item.
    --- Request: I have a pre-completed Excel worksheet with all the details. I want to be able to read / add / delete children within a specific line item (SUPPORTING DETAILS) using VBA.
    Can someone provide a specific example?
    I've tried using HypGetChildren, but is this the wrong method? From documentation, this method appears to be associated with member children, not* SUPPORTING DETAILS.
    I'm using this for Supporting Details nodes (children and siblings) --- it is required that I enter "Supporting Details" children (can have anywhere from 1 to 20 children) for this GL expense item (row).
    Here's my set-up...
    Oracle Hyperion Smartview Version = _9.3.1.5.0.025_
    MS Excel Version = _2003 (Service Pack 3)_
    Declarations Made = _\SmartView\bin\smartview.bas_ (successfully able to use - call - these methods and functions)
    Form Structure Row = One GL Expense Account (called "Meals Expense")
    Form Structure Column = Twelve --- with each representing a month (Jan, Feb, Mar...)
    Form Structure POV = Many --- and these are already set, I do not need help setting the POV programmatically
    Thank you for your consideration and guidance.
    Edited by: 888548 on Sep 29, 2011 8:36 AM
    Edited by: 888548 on Sep 29, 2011 8:39 AM

    Dear Mike,
    Thanks so much for your quick response -- this helps a lot.
    Follow-Up Question: Could a modified request be accomplished (as follows)?
    Modified Request*: Rather than programatically reading / deleting child nodes within the Supporting Details form, is there a way to programatically add a child node and paste values within the Supporting Details form in the same fashion that I'm able to load / show the Supporting Details form.
    Load / Show Supporting Details Form:
    ---- This works --> Application.CommandBars(1).Controls("Hyperion").Controls("Supporting Details").Execute*
    Click on the Add Child button Programatically:
    ---- This does not work --> Application.CommandBars(1).Controls("Hyperion").Controls("Supporting Details/AddChild").Execute*
    Click on the Paste Values button Programatically:
    ---- This does not work --> Application.CommandBars(1).Controls("Hyperion").Controls("Supporting Details/PasteValues").Execute*
    Click on the OK button Programatically:
    ---- This does not work --> Application.CommandBars(1).Controls("Hyperion").Controls("Supporting Details/OK").Execute*
    Thanks for your help and consideration.

  • Financial Reporting with supporting details row suppression doesn't work

    Hi,
    I've a report on Planning data with a conditional suppression on Row (Advance Set-up ) and it works exactly as I want. When I activate the supporting details and run the report... the suppression does NOT WORK ANY MORE.
    Can somebody help me ????
    Esample of the report (I have 3 dimension in the row):
    BUDGET Year
    Account 1 ActivityTot WorkTot 20
    Account 1 Activity1 Work1 10
    Account 1 Activity1 WorkTot 10
    Account 1 Activity2 Work1 10
    Account 1 Activity2 WorkTot 10
    Account 2 ActivityTot WorkTot 200
    Account 2 Activity1 Work1 100
    Account 2 Activity1 WorkTot 100
    Account 2 Activity2 Work1 100
    Account 2 Activity2 WorkTot 100
    Account TOT ActivityTot WorkTot 220
    Account TOT Activity1 Work1 110 <-- I want to suppress this
    Account TOT Activity1 WorkTot 110 <-- I want to suppress this
    Account TOT Activity2 Work1 110 <-- I want to suppress this
    Account TOT Activity2 WorkTot 110 <-- I want to suppress this
    I want to suppress in the Total Account all the rows with Activity and Work on leaf level.
    Condition of suppression:
    Level ACCOUNT > 0 and
    ( Generation ACTIVITY > 2 or Generation WORK > 2 )
    Without supporting detail it works, with supporting detail not. What's wrong ?????

    Another BB known issue 
    Users may not to able to take and restore data of the BB10 devices using BlackBerry Link if these ar...
    Scenario 2:
    While taking a backup using BlackBerry Link the following error is displayed:
    Note: This error appears if the device is activated on BES12 using Work Space onlyActivation profile. 
    Backup did not complete
    Verify that your device is turned on and connected to BlackBerry Link, and try again.

  • Can we Import Supporting Detail from Excel ?

    Can we import Supporting Detail from Excel

    Yes in forms, you have already asked the question - Can Supporting Detail can be viewed using the Smart View Add-in Essbase ?
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Recover Supporting Detail notes in Planning

    Our organization dimenion was restructured and before loading the new organization the old org dimension was dropped manually via Planning. We have exports of the data (all levels and lev-0 as well) on files. Where do Supporting Detail/Notes get stored in Planning or Essbase? Is there a way to recover the supporting detail from the exported file or some other way?

    Hi,
    The query needs really to be written to fit in with your application because it changes depending on how many dimensions you have
    In its simplest form you could extract with something like
    select item.label,item.value, dim1.object_name scenario, dim2.object_name account,
    dim3.object_name entity,dim4.object_name period,dim5.object_name version,
    dim6.object_name currency,dim7.object_name year
    from
    hsp_column_detail dtl, hsp_column_detail_item item, hsp_object dim1,
    hsp_object dim2, hsp_object dim3,hsp_object dim4,hsp_object dim5
    ,hsp_object dim6,hsp_object dim7
    where dtl.detail_id = item.detail_id
    and dtl.dim1 = dim1.object_id
    and dtl.dim2 = dim2.object_id
    and dtl.dim3 = dim3.object_id
    and dtl.dim4 = dim4.object_id
    and dtl.dim5 = dim5.object_id
    and dtl.dim6 = dim6.object_id
    and dtl.dim7 = dim7.object_id
    That is based on the standard dimensions and no custom dimensions, you would need to modify it depending what other information you want to include.
    Cheers
    John
    http://john-goodwin.blogspot.com/

Maybe you are looking for

  • Report for inbound delivery

    Dear all I want report for PO which inbound delivery is done but GR is not done? is there is any std .report? pls help

  • Networking with Mac and an XP PC

    I have a PC desktop and a MacBook, and I want to retreive files from the desktop. I've connected/networked them fine, but I can't seem to be able to navigate into the "Program Files" or the "Documents and Settings" folders, and find files in there. A

  • Move OWB Repository from a srvr running 9.2.0.6 to a srvr running 10.1.0.2

    I am attempting to move an existing OWB repository from a DB on a server running 9.2.0.6 to a DB on a server running 10.1.0.2. The Target and source servers are running Windows 2000 Advanced Server. All OWB components are 9.2. Until now all DB compon

  • Struts+hibernate+Oracle?

    ***log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).*** ***log4j:WARN Please initialize the log4j system properly.*** ***Exception in thread "main" org.hibernate.exception.GenericJDBCException: Cannot open connection*

  • FOI Documentation

    Hello all, Does anyone know of any Oracle documentation, a blog, website, that goes into detail about how to effectively work with FOI in MapViewer? Specifically, how best to establish base map, wms, and FOI while only showing FOI in MBR. I've got to