Grants vs Projects

I am currently involved in an r12 reimplementation for a HEI that uses the Oracle Grants module, and we are proposing to move to a totally project centric model for the accounting. However, there appears to be much confusion as to whether Grants and Projects modules are compatible. After reading around, my understanding is that Grants and Projects cannot be used in the same operating unit (as they are essentially different versions of the projects subledger), but that they can co-exist in differing operating units in the same legal entity under the same ledger?
If anyone could clarify this, that would be great and I would also like to hear if others have experience of implementing both Grants and Projects, in HEI's or elsewhere, or trying to use Grants for all project related expenditure.

Hey Alejandro -
Your Portfolio is what people will see when they view your profile and this is the most important part of being on Behance. Yours is found here: http://www.behance.net/AlejandroLorenzo
Collections are just a way that you can be making sets of work that you admire or want to save in some way. These are just ways to explore Behance, don't think of them as "collections of your work," that's what your Portfolio is. Collections are a way to save work you like from others. But, if you did want to add your own work to a collection, you'd just view your own project and click "add to collection" in the right hand side column.
Hope this helps clarify!

Similar Messages

  • Grant Accounting Project Funding

    Hi,
    Can any one provide a sample code for funding a project under an award using API ?
    Has anyone used GMS_AWARD_PVT.ADD_FUNDING API?
    Does the budgetary controls for the project need to be setup manually or does it have any API?
    Thanks

    create or replace procedure XX_PA_BUD(errbuf OUT VARCHAR2,
    retcode OUT VARCHAR2,
    x_project_id NUMBER,
    x_budget_version_name VARCHAR2,
    x_resource_list_id NUMBER,
    x_filename VARCHAR2) as
    v_api_version_number NUMBER; --:= PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM;
    v_commit VARCHAR2(1); --:= FND_API.G_FALSE;
    v_init_msg_list VARCHAR2(1); --:= FND_API.G_FALSE;
    v_pm_product_code pa_budget_versions.pm_product_code%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_pm_finplan_reference pa_budget_versions.pm_budget_reference%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_pm_project_reference VARCHAR2(10); --pa_projects_all. PM_PROJECT_REFERENCE%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_pa_project_id NUMBER; --pa_budget_versions.project_id%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM;
    v_fin_plan_type_id NUMBER; --pa_budget_versions.fin_plan_type_id%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM;
    v_fin_plan_type_name pa_fin_plan_types_vl.name%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_version_type pa_budget_versions.version_type%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_time_phased_code pa_proj_fp_options.cost_time_phased_code%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_resource_list_name pa_resource_lists.name%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_resource_list_id NUMBER; --pa_budget_versions.resource_list_id%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM;
    v_fin_plan_level_code pa_proj_fp_options.cost_fin_plan_level_code%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_PLAN_IN_MULTI_CURR_FLAG pa_proj_fp_options.plan_in_multi_curr_flag%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_budget_version_name pa_budget_versions.version_name%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_description pa_budget_versions.description%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_change_reason_code pa_budget_versions.change_reason_code%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_raw_cost_flag pa_fin_plan_amount_sets.raw_cost_flag%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_burdened_cost_flag pa_fin_plan_amount_sets.burdened_cost_flag%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_revenue_flag pa_fin_plan_amount_sets.revenue_flag%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_cost_qty_flag pa_fin_plan_amount_sets.cost_qty_flag%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_revenue_qty_flag pa_fin_plan_amount_sets.revenue_qty_flag%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_all_qty_flag pa_fin_plan_amount_sets.all_qty_flag%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_create_new_curr_working_flag VARCHAR2(1);
    v_replace_current_working_flag VARCHAR2(1); -- := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_using_resource_lists_flag VARCHAR2(1); -- DEFAULT 'N';
    v_finplan_trans_tab_in pa_budget_pub.FinPlan_Trans_Tab;
    v_finplan_trans_in_rec pa_budget_pub.FinPlan_Trans_Rec;
    v_finplan_trans_out pa_budget_pub.FinPlan_Trans_Tab;
    v_attribute_category pa_budget_versions.attribute_category%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute1 pa_budget_versions.attribute1%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute2 pa_budget_versions.attribute2%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute3 pa_budget_versions.attribute3%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute4 pa_budget_versions.attribute4%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute5 pa_budget_versions.attribute5%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute6 pa_budget_versions.attribute6%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute7 pa_budget_versions.attribute7%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute8 pa_budget_versions.attribute8%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute9 pa_budget_versions.attribute9%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute10 pa_budget_versions.attribute10%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute11 pa_budget_versions.attribute11%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute12 pa_budget_versions.attribute12%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute13 pa_budget_versions.attribute13%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute14 pa_budget_versions.attribute14%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_attribute15 pa_budget_versions.attribute15%TYPE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR;
    v_finplan_version_id NUMBER;
    v_return_status VARCHAR2(1);
    v_msg_count NUMBER;
    v_msg_data VARCHAR2(2000);
    v_data VARCHAR2(2000);
    v_msg_index_out NUMBER;
    API_ERROR EXCEPTION;
    v_resp_id NUMBER;
    v_user_id NUMBER;
    v_resp_appl_id NUMBER;
    vout_msg_count NUMBER;
    vout_msg_data VARCHAR2(200);
    vout_data VARCHAR2(2000);
    vout_return_status VARCHAR2(1);
    vout_msg_index_out NUMBER;
    v_operating_unit NUMBER;
    g NUMBER;
    a NUMBER;
    o NUMBER;
    f NUMBER;
    i NUMBER;
    v_task_id NUMBER;
    v_pm_task_ref VARCHAR2(25);
    v_resource_alias VARCHAR2(80);
    v_curr_code VARCHAR2(10);
    v_uom VARCHAR2(10);
    v_start_date VARCHAR2(11);
    v_end_date VARCHAR2(11);
    v_quantity NUMBER;
    v_rate NUMBER;
    v_burdened_cost NUMBER;
    v_resource_list_member_id NUMBER;
    v_top_task_name VARCHAR2(240);
    v_alias_name VARCHAR2(50);
    v_err_list_member_id NUMBER;
    v_err_cost NUMBER;
    v_err_qty NUMBER;
    v_err_rec NUMBER;
    v_err_uom VARCHAR2(10);
    total_records NUMBER;
    cursor v_top_task_cur is
    select distinct top_task
    from xx_pa_bid_calc
    where file_name = x_filename
    and top_task = 'Mobilization (Activity)';
    cursor v_plan_details_cur(v_top_task varchar2) is
    select sum(quantity) quantity,
    sum(total_amount) total_amount,
    uom,
    planning_value,
    top_task
    from xx_pa_bid_calc
    where top_task = v_top_task
    and file_name = x_filename
    and top_task = 'Mobilization (Activity)'
    and substr(upload, 1, 1) = 'Y'
    group by uom, planning_value, top_task;
    begin
    g := 0;
    a := 0;
    o := 0;
    f := 0;
    total_records := 0;
    v_resp_id := fnd_profile.value('resp_id');
    v_user_id := fnd_profile.value('user_id');
    fnd_file.put_line(fnd_file.log, 'Testing the global values:');
    fnd_file.put_line(fnd_file.log, 'Resp id:' || v_resp_id);
    fnd_file.put_line(fnd_file.log, 'User Id:' || v_user_id);
    fnd_file.put_line(fnd_file.log, 'Project_Id:' || x_project_id);
    -- Setting the global variables
    fnd_msg_pub.initialize;
    Pa_Interface_Utils_Pub.SET_GLOBAL_INFO(p_api_version_number => 1.0,
    p_responsibility_id => v_resp_id,
    p_user_id => v_user_id,
    p_msg_count => VOUT_MSG_COUNT,
    p_msg_data => VOUT_MSG_DATA,
    p_return_status => VOUT_RETURN_STATUS);
    fnd_file.put_line(fnd_file.log,
    'Set Global Info Return Status :' || VOUT_RETURN_STATUS);
    fnd_file.put_line(fnd_file.log,
    'Set Global Info MSG Count :' || VOUT_MSG_COUNT);
    fnd_file.put_line(fnd_file.log,
    'Starting the Create draft Plan Process:');
    fnd_file.put_line(fnd_file.log,
    PA_BUDGET_PUB.INIT_BUDGET;
    v_api_version_number := 1;
    v_commit := 'F';
    v_init_msg_list := 'F';
    v_fin_plan_type_name := 'Acquisition Bid';
    v_pm_product_code := 'MSPROJECT'; --'GOK';
    v_pm_finplan_reference := 10024;
    v_pm_project_reference := x_project_id;
    v_pa_project_id := x_project_id;
    v_fin_plan_type_id := 10024;
    v_version_type := 'COST';
    v_time_phased_code := 'G';
    --v_resource_list_name   :='Planning Resource List 02';
    v_resource_list_id := x_resource_list_id;
    v_fin_plan_level_code := 'L';
    v_PLAN_IN_MULTI_CURR_FLAG := 'N'; --'Y';
    v_budget_version_name := x_budget_version_name;
    v_description := x_budget_version_name;
    v_change_reason_code := NULL;
    v_raw_cost_flag := 'Y';
    v_burdened_cost_flag := 'Y';
    v_revenue_flag := 'Y';
    v_cost_qty_flag := 'Y'; --N
    v_revenue_qty_flag := 'N'; --'Y';
    v_all_qty_flag := 'Y';
    v_create_new_curr_working_flag := 'Y';
    v_replace_current_working_flag := 'N';
    v_using_resource_lists_flag := 'Y';
    v_attribute_category := NULL;
    v_attribute1 := NULL;
    v_attribute2 := NULL;
    v_attribute3 := NULL;
    v_attribute4 := NULL;
    v_attribute5 := NULL;
    v_attribute6 := NULL;
    v_attribute7 := NULL;
    v_attribute8 := NULL;
    v_attribute9 := NULL;
    v_attribute10 := NULL;
    v_attribute11 := NULL;
    v_attribute12 := NULL;
    v_attribute13 := NULL;
    v_attribute14 := NULL;
    v_attribute15 := NULL;
    v_finplan_trans_tab_in.delete;
    --setting the variables for finplan_trans_rec
    for v_top_task_rec in v_top_task_cur loop
    fnd_file.put_line(fnd_file.output,
    rpad('Project', 15, ' ') || ' ' ||
    rpad('UOM', 15, ' ') || ' ' ||
    rpad('Burd Cost', 25, ' ') || ' ' ||
    rpad('Resource', 25, ' ') || ' ' ||
    rpad('Task Name', 30, ' '));
    fnd_file.put_line(fnd_file.output,
    rpad('--------------', 15, ' ') || ' ' ||
    rpad('-------------', 15, ' ') || ' ' ||
    rpad('--------------------------', 25, ' ') || ' ' ||
    rpad('-------------------------', 25, ' ') || ' ' ||
    rpad('-------------------------------', 30, ' '));
    v_err_qty := 0;
    v_err_rec := 0;
    v_err_cost := 0;
    v_err_list_member_id := NULL;
    v_task_id := NULL;
    v_top_task_name := NULL;
    --Getting the task id
    Begin
    select task_id
    into v_task_id
    from pa_tasks
    where long_task_name = v_top_task_rec.top_task
    and project_id = x_project_id;
    exception
    when no_data_found then
    select task_id
    into v_task_id
    from pa_tasks
    where task_number = 'ERROR'
    and project_id = x_project_id;
    v_top_task_name := 'ERROR';
    when others then
    select task_id
    into v_task_id
    from pa_tasks
    where task_number = 'ERROR'
    and project_id = x_project_id;
    v_top_task_name := 'ERROR';
    END;
    select min(start_date), max(end_date)
    into v_start_date, v_end_date
    from xx_pa_bid_calc
    where top_task = v_top_task_rec.top_task
    and file_name = x_filename;
    v_pm_task_ref := v_task_id;
    v_top_task_name := v_top_task_rec.top_task;
    fnd_file.put_line(fnd_file.output, 'Task Id: ' || v_task_id);
    fnd_file.put_line(fnd_file.output, 'Task Name: ' || v_top_task_name);
    fnd_file.put_line(fnd_file.output, 'Start Date: ' || v_start_date);
    fnd_file.put_line(fnd_file.output, 'End Date: ' || v_end_date);
    for v_plan_details_rec in v_plan_details_cur(v_top_task_name) LOOP
    total_records := total_records + 1;
    v_alias_name := v_plan_details_rec.planning_value;
    v_resource_list_member_id := NULL;
    v_err_list_member_id := NULL;
    -- Getting the Resource Assignment.
    Begin
    select resource_list_member_id
    into v_resource_list_member_id
    from pa_resource_list_members
    where resource_list_id = v_resource_list_id
    and alias = v_plan_details_rec.planning_value
    --and object_id = x_project_id
    exception
    when no_data_found then
    select resource_list_member_id
    into v_resource_list_member_id
    from pa_resource_list_members
    where resource_list_id = v_resource_list_id
    and alias = 'Financial Elements'
    --and object_id = x_project_id
    v_alias_name := 'Financial Elements';
    when others then
    select resource_list_member_id
    into v_resource_list_member_id
    from pa_resource_list_members
    where resource_list_id = v_resource_list_id
    and alias = 'Financial Elements'
    --and object_id = x_project_id
    v_alias_name := 'Financial Elements';
    END;
    fnd_file.put_line(fnd_file.output,
    rpad(x_project_id, 15, ' ') || ' ' ||
    rpad(v_plan_details_rec.UOM, 15, ' ') || ' ' ||
    rpad(v_plan_details_rec.total_amount, 25, ' ') || ' ' ||
    rpad(v_alias_name, 25, ' ') || ' ' ||
    rpad(v_plan_details_rec.top_task, 30, ' '));
    if v_alias_name != 'Financial Elements' then
    f := f + 1;
    v_finplan_trans_tab_in(f).pm_product_code := 'MSPROJECT';
    v_finplan_trans_tab_in(f).task_id := v_task_id;
    v_finplan_trans_tab_in(f).pm_task_reference := v_task_id;
    v_finplan_trans_tab_in(f).pm_res_asgmt_reference := NULL;
    v_finplan_trans_tab_in(f).resource_alias := v_alias_name;
    v_finplan_trans_tab_in(f).currency_code := 'USD';
    v_finplan_trans_tab_in(f).unit_of_measure_code := v_plan_details_rec.UOM;
    v_finplan_trans_tab_in(f).start_date := to_date('20-NOV-2008',
    'DD-MON-YYYY'); --to_date(v_plan_details_rec.start_date,'MM/DD/YY');
    v_finplan_trans_tab_in(f).end_date := to_date('30-NOV-2008',
    'DD-MON-YYYY'); --to_date(v_plan_details_rec.end_date,'MM/DD/YY');
    v_finplan_trans_tab_in(f).quantity := v_plan_details_rec.quantity;
    v_finplan_trans_tab_in(f).raw_cost := v_plan_details_rec.total_amount;
    v_finplan_trans_tab_in(f).burdened_cost := v_plan_details_rec.total_amount;
    ---v_finplan_trans_tab_in(f).revenue:=NULL;
    v_finplan_trans_tab_in(f).resource_list_member_id := v_resource_list_member_id;
    v_finplan_trans_tab_in(f).attribute_category := NULL;
    v_finplan_trans_tab_in(f).attribute1 := NULL;
    v_finplan_trans_tab_in(f).attribute1 := NULL;
    v_finplan_trans_tab_in(f).attribute2 := NULL;
    v_finplan_trans_tab_in(f).attribute3 := NULL;
    v_finplan_trans_tab_in(f).attribute4 := NULL;
    v_finplan_trans_tab_in(f).attribute5 := NULL;
    v_finplan_trans_tab_in(f).attribute6 := NULL;
    v_finplan_trans_tab_in(f).attribute7 := NULL;
    v_finplan_trans_tab_in(f).attribute8 := NULL;
    v_finplan_trans_tab_in(f).attribute9 := NULL;
    v_finplan_trans_tab_in(f).attribute10 := NULL;
    v_finplan_trans_tab_in(f).attribute11 := NULL;
    v_finplan_trans_tab_in(f).attribute12 := NULL;
    v_finplan_trans_tab_in(f).attribute13 := NULL;
    v_finplan_trans_tab_in(f).attribute14 := NULL;
    v_finplan_trans_tab_in(f).attribute15 := NULL;
    v_finplan_trans_tab_in(f).attribute16 := NULL;
    v_finplan_trans_tab_in(f).attribute17 := NULL;
    v_finplan_trans_tab_in(f).attribute18 := NULL;
    v_finplan_trans_tab_in(f).attribute19 := NULL;
    v_finplan_trans_tab_in(f).attribute20 := NULL;
    v_finplan_trans_tab_in(f).attribute21 := NULL;
    v_finplan_trans_tab_in(f).attribute22 := NULL;
    v_finplan_trans_tab_in(f).attribute23 := NULL;
    v_finplan_trans_tab_in(f).attribute24 := NULL;
    v_finplan_trans_tab_in(f).attribute25 := NULL;
    v_finplan_trans_tab_in(f).attribute26 := NULL;
    v_finplan_trans_tab_in(f).attribute27 := NULL;
    v_finplan_trans_tab_in(f).attribute28 := NULL;
    v_finplan_trans_tab_in(f).attribute29 := NULL;
    v_finplan_trans_tab_in(f).attribute30 := NULL;
    else
    v_err_cost := v_err_cost +
    v_plan_details_rec.total_amount;
    v_err_qty := v_err_qty + v_plan_details_rec.quantity;
    v_err_list_member_id := v_resource_list_member_id;
    v_err_rec := v_err_rec + 1;
    v_alias_name := 'Financial Elements';
    v_err_uom := v_plan_details_rec.UOM;
    end if;
    END LOOP;
    if v_err_rec > 0 then
    f := f + 1;
    select resource_list_member_id
    into v_resource_list_member_id
    from pa_resource_list_members
    where resource_list_id = v_resource_list_id
    and alias = 'Financial Elements';
    v_finplan_trans_tab_in(f).pm_product_code := 'MSPROJECT';
    v_finplan_trans_tab_in(f).task_id := v_task_id;
    v_finplan_trans_tab_in(f).pm_task_reference := v_task_id;
    v_finplan_trans_tab_in(f).pm_res_asgmt_reference := NULL;
    v_finplan_trans_tab_in(f).resource_alias := v_alias_name;
    v_finplan_trans_tab_in(f).currency_code := 'USD';
    v_finplan_trans_tab_in(f).unit_of_measure_code := v_err_uom;
    v_finplan_trans_tab_in(f).start_date := to_date('20-NOV-2008',
    'DD-MON-YYYY'); --to_date(v_plan_details_rec.start_date,'MM/DD/YY');
    v_finplan_trans_tab_in(f).end_date := to_date('27-NOV-2008',
    'DD-MON-YYYY'); --to_date(v_plan_details_rec.end_date,'MM/DD/YY');
    v_finplan_trans_tab_in(f).quantity := v_err_qty; --v_plan_details_rec.quantity;
    v_finplan_trans_tab_in(f).raw_cost := v_err_cost; --v_plan_details_rec.total_amount;
    v_finplan_trans_tab_in(f).burdened_cost := v_err_cost; --v_plan_details_rec.total_amount;
    ---v_finplan_trans_tab_in(f).revenue:=NULL;
    v_finplan_trans_tab_in(f).resource_list_member_id := v_resource_list_member_id;
    v_finplan_trans_tab_in(f).attribute_category := NULL;
    v_finplan_trans_tab_in(f).attribute1 := NULL;
    v_finplan_trans_tab_in(f).attribute1 := NULL;
    v_finplan_trans_tab_in(f).attribute2 := NULL;
    v_finplan_trans_tab_in(f).attribute3 := NULL;
    v_finplan_trans_tab_in(f).attribute4 := NULL;
    v_finplan_trans_tab_in(f).attribute5 := NULL;
    v_finplan_trans_tab_in(f).attribute6 := NULL;
    v_finplan_trans_tab_in(f).attribute7 := NULL;
    v_finplan_trans_tab_in(f).attribute8 := NULL;
    v_finplan_trans_tab_in(f).attribute9 := NULL;
    v_finplan_trans_tab_in(f).attribute10 := NULL;
    v_finplan_trans_tab_in(f).attribute11 := NULL;
    v_finplan_trans_tab_in(f).attribute12 := NULL;
    v_finplan_trans_tab_in(f).attribute13 := NULL;
    v_finplan_trans_tab_in(f).attribute14 := NULL;
    v_finplan_trans_tab_in(f).attribute15 := NULL;
    v_finplan_trans_tab_in(f).attribute16 := NULL;
    v_finplan_trans_tab_in(f).attribute17 := NULL;
    v_finplan_trans_tab_in(f).attribute18 := NULL;
    v_finplan_trans_tab_in(f).attribute19 := NULL;
    v_finplan_trans_tab_in(f).attribute20 := NULL;
    v_finplan_trans_tab_in(f).attribute21 := NULL;
    v_finplan_trans_tab_in(f).attribute22 := NULL;
    v_finplan_trans_tab_in(f).attribute23 := NULL;
    v_finplan_trans_tab_in(f).attribute24 := NULL;
    v_finplan_trans_tab_in(f).attribute25 := NULL;
    v_finplan_trans_tab_in(f).attribute26 := NULL;
    v_finplan_trans_tab_in(f).attribute27 := NULL;
    v_finplan_trans_tab_in(f).attribute28 := NULL;
    v_finplan_trans_tab_in(f).attribute29 := NULL;
    v_finplan_trans_tab_in(f).attribute30 := NULL;
    end if;
    END LOOP;
    --fnd_file.put_line(fnd_file.log, 'task_id:'||v_finplan_trans_tab_in(1).task_id);
    pa_budget_pub.create_draft_finplan(p_api_version_number => 1.0 --v_api_version_number
    p_commit => v_commit,
    p_init_msg_list => v_init_msg_list,
    p_pm_product_code => v_pm_product_code,
    p_pm_finplan_reference => v_pm_finplan_reference,
    p_pm_project_reference => v_pm_project_reference,
    p_pa_project_id => v_pa_project_id,
    p_fin_plan_type_id => v_fin_plan_type_id,
    p_fin_plan_type_name => v_fin_plan_type_name,
    p_version_type => v_version_type,
    p_time_phased_code => v_time_phased_code,
    p_resource_list_name => v_resource_list_name,
    p_resource_list_id => v_resource_list_id,
    p_fin_plan_level_code => v_fin_plan_level_code,
    p_PLAN_IN_MULTI_CURR_FLAG => v_plan_in_multi_curr_flag,
    p_budget_version_name => v_budget_version_name,
    p_description => v_description,
    p_change_reason_code => v_change_reason_code,
    p_raw_cost_flag => v_raw_cost_flag,
    p_burdened_cost_flag => v_burdened_cost_flag,
    p_revenue_flag => v_revenue_flag,
    p_cost_qty_flag => v_cost_qty_flag,
    p_revenue_qty_flag => v_revenue_qty_flag,
    p_all_qty_flag => v_all_qty_flag,
    p_create_new_curr_working_flag => v_create_new_curr_working_flag,
    p_replace_current_working_flag => v_replace_current_working_flag,
    p_using_resource_lists_flag => v_using_resource_lists_flag,
    p_finplan_trans_tab => v_finplan_trans_tab_in,
    p_attribute_category => v_attribute_category,
    p_attribute1 => v_attribute1,
    p_attribute2 => v_attribute2,
    p_attribute3 => v_attribute3,
    p_attribute4 => v_attribute4,
    p_attribute5 => v_attribute5,
    p_attribute6 => v_attribute6,
    p_attribute7 => v_attribute7,
    p_attribute8 => v_attribute8,
    p_attribute9 => v_attribute9,
    p_attribute10 => v_attribute10,
    p_attribute11 => v_attribute11,
    p_attribute12 => v_attribute12,
    p_attribute13 => v_attribute13,
    p_attribute14 => v_attribute14,
    p_attribute15 => v_attribute15,
    x_finplan_version_id => v_finplan_version_id,
    x_return_status => v_return_status,
    x_msg_count => v_msg_count,
    x_msg_data => v_msg_data);
    fnd_file.put_line(fnd_file.log, 'Error Message:' || v_return_status);
    fnd_file.put_line(fnd_file.log, 'Message Count:' || v_msg_count);
    IF v_return_status = 'S' THEN
    commit;
    end if;
    IF v_return_status != 'S' THEN
    RAISE API_ERROR;
    END IF;
    EXCEPTION
    WHEN API_ERROR THEN
    FOR a IN 1 .. v_msg_count LOOP
    pa_interface_utils_pub.get_messages(p_msg_data => v_msg_data,
    p_data => v_data,
    p_msg_index => a,
    p_msg_count => v_msg_count,
    p_msg_index_out => v_msg_index_out);
    fnd_file.put_line(fnd_file.log,
    'API Error Message DATA:' || ' ' ||
    substr(v_data, 1, 500));
    fnd_file.put_line(fnd_file.log,
    'API Error Message MSG DATA:' || ' ' ||
    substr(v_msg_data, 1, 200));
    end loop;
    WHEN OTHERS THEN
    --fnd_msg_pub.initialize;
    FOR a IN 1 .. v_msg_count LOOP
    pa_interface_utils_pub.get_messages(p_encoded => 'F',
    p_msg_data => v_msg_data,
    p_data => v_data,
    p_msg_count => v_msg_count,
    p_msg_index_out => v_msg_index_out);
    fnd_file.put_line(fnd_file.log, 'v data:' || substr(v_data, 1, 200));
    fnd_file.put_line(fnd_file.log,
    'vout msg data:' || substr(v_msg_data, 1, 80));
    --o:=o+1;
    end loop;
    end;

  • When to consider Using Oracle Grants Accounting Over Oracle Projects Acct?

    Hello Experts / Dina,
    Could you please help me in understanding the situation where I must use Oracle grants Accounting rather than Oracle Project Accounting?
    I mean what is the driving feature of Oracle Grants Accounting which is missing in Oracle Project Accounting.
    Also if I implement Oracle Grants Accounting then is it possible for me to setup oracle project accounting ( costing / billing ) under same environment ? If Yes it is possible to implement under same Environment then is it possible to setup BOTH under same operating Unit?
    Please help.....
    Thanks
    :-)

    Hi Samba,
    I believe that the document Dean refers to is found in this MOS note:-
    Project Managment & Grants Accounting Are Certified To Work In Same Operating Unit [ID 878214.1]
    To address some other points:-
    1) Grants Accounting (GMS) uses many of the same database objects as Project Accounting (PA). The best way to think of it is as a "customisation" of Project Accounting; albeit one that has been created by Oracle. For example, when a new grant is created (called an Award, stored in GMS_AWARDS_ALL) a supporting record is also automatically created in PA_PROJECTS_ALL
    2) Because of 1), Grants Accounting and Project Accounting cannot be implemented and used independently within the same Operating Unit; Grants is built on Projects. However, some Projects features can still be used directly, such as elements of Project Management as described by the above document
    3) Grants tends to only be used within the higher education, research and public sectors. Organisations within these industries typically have complex project funding structures, and have a requirement for tight budgetary control enforced by the system. Grants provides functionality to cater for both of these requirements, better than Projects does on its own. This does of course come at a price; by implementing Grants there are some Projects features that are not available
    Please mark if useful / answered. Project (EU) Ltd has a wealth of experience implementing Grants and Projects; we are the first partner globally to have been recognised by Oracle as specialist Oracle Projects implementation experts. Please see our blog for more information or get in touch if you need any further assistance.
    Andy
    www.project.eu.com

  • Move Project (Award) budget amount from one project to another

    Hi,
    As per Oracle standard functionality, in Grants Accounting (Projects)
    -- Can the budget amount for a project under an award be moved to another project
    -- Can the budget amount for a project under an award be moved to another project another award
    - In general is there a way to move the funds between projects or awards ?
    Thanks!

    Hi,
    As per Oracle standard functionality, in Grants Accounting (Projects)
    -- Can the budget amount for a project under an award be moved to another project
    -- Can the budget amount for a project under an award be moved to another project another award
    - In general is there a way to move the funds between projects or awards ?
    Thanks!

  • Hi can any prepare TS for the FS ?ITS URGENT

    1.0     Functional Spec Header
    1.1     Business Requirement
    The management structure for reporting is currently maintained in Hyperion by the Financial Analysis and Planning group.  This management structure is critical throughout Cessna for managing the business.  The interface is needed to download the management structure hierarchy from Hyperion and load to SAP as a cost center group.
    1.2     Purpose/Objectives/Reason for Need
    The purpose of this interface is to ensure the management structure in SAP remains in sync with the management structure in Hyperion.  This interface will eliminate the need for manual changes to both Hyperion and SAP and also reduces the chance for error to occur when both systems are updated.  This interface will save time when making changes to the management structure.
    There is no record retention requirement for the management structure in Hyperion.
    1.3     Assumptions
    The management structure for reporting will managed by Financial Analysis and Planning and a process will be in place to coordinate changes to the structure.  This interface will be run automatically daily.
    1.4     Alternatives
    If the interface doesn’t exist, then changes to the management structure in Hyperion and SAP will have to be done separately and manually in both systems.  This will increase the chance of error that could result in the management structure being different in Hyperion and SAP causing confusion and unnecessary reconciliations.
    1.5     Similar FRICE Item
    None found
    2.0     Security Requirements
    2.1     User profiles allowed to use this development
    N/A
    It is not known at this time what role this transaction will reside.  Financial Analysis and Planning will be responsible for maintaining the management structure in Hyperion but Finance management has not decided what Finance group will be responsible for the upload into SAP.
    2.2     Authorizations Included
    Controlling Area = 1000
    Access granted to project team.
    There are standard transactions available to view and maintain cost center groups in SAP.  This ability to change groups will be restricted to a small group of people.  Many users will be able to display the structure and use it in reporting.
    This is not ITAR sensitive data.
    [Below the transaction level, what auth objects should this development be controlled by?  (plant, company code, etc.)]
    3.0     Functional Requirements
    3.1     Report/Form
    3.1.1     Input
    [Electronic picture(s) of selection screen and screen flow including success/error messages, icons, colors.]
    3.1.2     Processing
    [Electronic text and picture of processing steps, including if/case logic, authority checks and runtime issues.  A good way to show this is with flow charts or dummied up screen shots, including arrows and text to tell the story.]
    3.1.3     Output
    [Electronic picture of desired output, including sort, totals, hotspots, drill-down and other functionality like ALV.]
    3.1.4     Example Data
    [Demo of example data moving thru each step of processing, including usual, exception and error cases.]
    3.2     Enhancement/Modification
    3.2.1     Input/New Screens
    [Electronic picture(s) of input and/or new screen(s) and screen flow including success/error messages, icons, colors.]
    3.2.2     Processing
    [Electronic text and picture of both current and requested processing steps, including if/case logic, authority checks and runtime issues.  A good way to show this is with flow charts or dummied up screen shots, including arrows and text to tell the story.]
    3.2.3     Expected Results
    [Data to be created/updated/deleted.]
    3.2.4     Example Data
    [Demo of example data moving thru each step of processing, including usual, exception and error cases.]
    3.3     Interface/Conversion
    3.3.1     Source
    The source data for the management structure is maintained in Hyperion.  Currently, the management structure data is extracted from Hyperion using a XML file.  A XML file can be utilized to upload the structure into SAP as cost center groups.  John Shelton (phone 316-517-4260) and Mike LaBarge (phone 316-517-3887) are the SME’s for the Hyperion management structure.  The file will be stored in a format and location so the interface in SAP can run to check for the file.  If an updated file is found the interface will execute and update SAP.  If no file or an old file is found, the interface will not execute.
    [Electronic text and picture of source system as it pertains to requested interface/conversion, including details.]
    3.3.2     Translation
    The entire management structure hierarchy should be loaded into SAP overwriting whatever previously existed in the cost center groups.  The cost center group should contain all active cost centers.  There are additional alias fields in Hyperion which can be populated with the cost center group name.  The field length for cost center groups in SAP is 10 and group name will always start with CM_. This can also be downloaded to excel in addition to the management level name with will become the cost center group description field in SAP.  Management levels 3, 4, and 5 in Hyperion will be loaded as cost center groups in SAP.  There is a relationship between each of these management levels: 
    Hierarchy for Management Structure:
               Management Level 3
                         Management Level 4
                                  Management Level 5
    Level 3 is the top level. Level 4 is linked to 3 and level 5 is linked to 4. 
    An email should be automatically generated when the update has run and should be sent to the assigned Finance group responsible for the SAP management structure regardless of error status.
    [Electronic text and picture of translation steps, including if/case logic, authority checks and runtime issues.  A good way to show this is with flow charts or dummied up screen shots, including arrows and text to tell the story.]
    3.3.3     Target
    Daily the interface should check for a file to upload to SAP.  If no file or an existing file is found, the interface will stop processing.  If a new file is found the interface should execute and update the cost center group in SAP.  The cost center group name will not change (CM_MGTHIER).  The new file should overwrite the existing hierarchy in SAP.  This cost center group should contain all active cost centers in SAP and no cost center can appear more then once in the structure.  To validate this logic a completeness and ambiguity check should be completed after the management structure is loaded into SAP. 
    The completeness check in SAP is a feature in the standard transaction that will check all the cost centers assigned to the group against the active cost centers in master data table in SAP, (Table CSKS, Field KOSTL).
    The ambiguity check is a feature in the standard transaction that will check for duplicate records in the hierarchy.   This could be either the group name, or the cost center value.  It returns a report of the results and the user can manually adjust the cost center group to remove the ambiguity inconsistencies.  This program should be used when the interface loads a new management cost center group.  The hierarchy structure will need to be locked while the update is running.
    The function module K_HIERARCHY_TABLES_READ in SAP maintains the parent / child relationships of cost center groups, sub-groups, and cost centers.  This functional module can be utilized when loading the hierarchy data from the Hyperion extract file. 
    There are also a few BAPI’s available for loading the hierarchy;
    BAPI_COSTCENTERGROUP_ADDNODE
    BAPI_COSTCENTERGROUP_CREATE
    BAPI_COSTCENTERGROUP_GETDETAIL
    BAPI_COSTCENTERGROUP_GETLIST
    The following IDOC’s  can also be used for loading the hierarchy;
    IDOC_INPUT_COSTCENTERGROUP_ADD
    IDOC_INPUT_COSTCENTERGROUP_CRE
    The technical decision for how to load the hierarchy will come from the technical team.  The Functional Modules, BAPI’s, and IDOC’s mentioned above are for reference and can evaluated during the development of the technical spec.
    Example of SAP Cost Center Group Hierarchy:
    Ambiguity and Completeness Check:
    Transaction code KSH1.  Enter cost center group name in field and follow menu path: extras> check and help functions
    [Electronic text and picture of target system as it pertains to requested interface/conversion, including details.]
    3.3.4     Example Data
    [Demo of example data moving thru each step of processing, including usual, exception and error cases.]
    3.3.5     Error Handling
    The detail log should state the following:
         Number of records converted successfully
         Number of records sent to the error report
         Details of the errors – what caused the errors?
    If the completion check finds missing cost centers, or the ambiguity check finds duplicate records and an email should be sent to a group defined by Finance for the given error conditions.  These issues can be researched and corrected by a user with access to create/maintain cost center groups.
    If there is an error in processing the file (i.e. IDOC error), the interface should stop and return an error message to be researched by a technical resource who monitors interface activity.
    There are no required fields or conditional inputs when creating cost center groups.  If the file is formatted correctly the interface should process without incident.  Errors that occur because of duplicate or missing records can be addressed through ambiguity and completeness checks and be corrected by a user with access to the standard transaction.
    An email should be automatically generated when the update has run and should be sent to the assigned Finance group responsible for the SAP management structure regardless of error status.
    [FMEA (Failure Modes and Effects Analysis) on possible run conditions and how to address them.]
    4.0     Electronic Attachments/Documentation
    [Required for Functional: 1) Unit Test Plan, 2) Related BPPs or Instructional Pertinent Functional Info]
    Document Name     Location
    Field mapping file     Hierarchy data is not maintained in a table in SAP.  The functional module K_HIERARCHY_TABLES_READ maintains the relationships of the group including the hierarchy level and parent/child relationship.
    Unit Test Plan     There are approximately 1,000 active cost centers at Cessna.   The Unit Test plan can send a sample of the data, (one or two nodes and associated cost centers).  The full file is available and can used for a more robust unit test. 
    Sample Data                  
    FIN0116 - Hyperion to SAP Management Structure.vsd     Cessna3\cessnaim\Prod\Projects\Specifications\D2 Interface_Summaries\
    5.0     Technical  Requirements
    5.1     Report/Form
    5.1.1     Technical Objects
    [Tables, APIs, structures, EDI segments, data elements, domains, indexes, function Modules]
    5.1.2     Technical Strategy
    [Outline processing steps: include 5.1.2 items with fields, selection/join conditions, perf, err handling, control]
    5.1.3     Production Support
    [Batch: electronic job flow with technical names]
    5.2     Enhancement/Modification
    5.2.1     Technical Objects
    [Tables, APIs, structures, EDI segments, data elements, domains, indexes, function Modules, user exits]
    5.2.2     Technical Strategy
    [Outline processing steps: include 5.1.2 items with fields, selection/join conditions, perf, err handling, control]
    5.2.3     Production Support
    [Only include info not already found in spec]
    5.3     Interface/Conversion
    5.3.1     Source/Middleware/Target (WBI/Middleware Technical Implementation Details)
    WBI will call the BAPI (RFC function module) from middle ware and populates the data into BAPI.
              Interface Overview
                   This section describes the detailed interface design with all the required information regarding the source 
                   system, WBI Components and the destination application of the FIN0116 Hyperion Mgmt Structure to SAP
                   The FIN0116 Hyperion Mgmt Structure to SAP integrates management structure data from the source
                   system (Hyperion) to the target system (SAP) in near real-time. This section describes detailed information
                   regarding the WBI Components and its Connectivity.
              Interface Assumptions
    1.     Hyperion mgmt structure XML file will be placed in the directory where WBI have access to read and archive.
    2.     WBI (Middleware) is going to have FTP get access and FTP service account to the Hyperion File System.
    3.     All Hyperion XML files placed in the directory are going to have unique file name (Ex: HyperionFile_MMDDYYYY.xml)
            Interface E2E Flow
    Step 1     
    Hyperion mgmt structure XML data file will be placed in E:\Hyperion\SAP\Event directory on Hyperion Server..
    Step 2     
    The CES_FIN01_JText_POLConnector will be polling on the E:\Hyperion\SAP\Event directory, which resides on Hyperion file system; whenever there is a new file in the directory, the connector will process that file to WBI Server and Archive file to E:\Hyperion\SAP\Archive directory.
    Step 3     
    The CES_FIN01_JText_POLConnector will send the XML document to Interchange server (WBI).
    Step 4     
    Interchange Server (WBI) will process the XML data and map the Hyperion Mgmt data to SAP BAPI. WBI will send the SAP BAPI formatted mgmt structure data to ASD_CES_SAPFIN1_UPRConnector Agent.
    Step 5     
    The ASD_CES_SAPFIN1_UPRConnector Agent will call ZC_BAPI_COSTCENTERGRP_MANGMNT and pass mgmt data to it.
    Step 6     
    Interchange server (WBI) will receive a response from SAP application and the response can be either a success or a failure/Error.
    Step 7     
    If the transaction is success, do nothing end success the process.
    Step 8     
    If the transaction is failed in SAP, SAP will send the return object to WBI server.
    If error information received from SAP via return object or the transaction is failed in WBI (Middleware), WBI is going to send an error email notification to business email distribution list.
        WBI Components
         Please refer the attached interface spread sheet.
        Interface Mapping Document
       Please refer section 4.0 for mapping document.
         Error Handling and Logging
              Successful Transactions:-
          Once WBI receives a success return code from SAP, WBI will end the transaction as End Success.
    System Failure Transactions:-
    Step 1     Any ICS component is down on production server.
    Business Process/Data Failure Transactions:-
    Step 1     Error while executing Collaboration (Business Logic) or Mapping of Lawson data to SAP format
    WBI will send an Email Notification to Business Email Distribution List.
    Step 2     WBI Received a TYPE = W or E from SAP in return structure.
    SAP system should be able to raise an error and send an email to Business Email Distribution List
    SAP SAMPLE RETURN OBJECT STRUCTURE To WBI:-
    sap_return = 1
    TYPE = S
    ID = MM
    NUMBER = 90104
    MESSAGE = The Cost Center Group 90104 has been successfully created
    LOG_NO = CxBlank
    LOG_MSG_NO = 000000
    MESSAGE_V1 =
    MESSAGE_V2 = CxBlank
    MESSAGE_V3 = CxBlank
    MESSAGE_V4 = CxBlank
    PARAMETER = CxBlank
    ROW = 0
    FIELD = CxBlank
    SYSTEM = SD6CLINT223
    ObjectEventId = CxIgnore
    From the return object for the field “TYPE” the following are the possible values that SAP is returning.
    Type     Meaning
    S     Success
    I     Information
    W     Warning
    E     Error
    For all Warning or Error messages received from SAP, WBI needs to send an Email notification to the Email distribution List mentioned in Section bellow.
    Email Distribution Information
    EMAIL ADDRESS     Successful Transactions     System Failure Transactions     Business Process/Data Failure Transactions
      WBI Performance Considerations
        Collaboration General Properties
    Property Name     Value     Notes
    Maximum number of concurrent events     1     The GBO size is going be huge for this collaboration, so we want it to process 1 at a time, to minimize the use of system resources.
    Recovery Mode     Deferred     By setting the Recovery Mode to ‘Deferred’, it will increase the ICS performance and reduce the ICS startup time. For more questions, please refer WBI documentation.
    Max Event Capacity     1     We don’t want this collaboration to process more than 1 event at any given time, so we set this value to 1.
    CES_FIN01_JText_POL Connector Properties
    Property Name     Value     Notes
    AgentConnections     1     It is a system default value, and for daily batch process interfaces, don’t need more than 1 agent connections
    ConcurrentEventTriggeredFlows     4     As of now this connector will be used by 4 interfaces.
    ControllerEventSequencing     true     This is a default and not much of a use for this interface
    Max Event Capacity     8     To give buffer to the connector, we just doubled the ConcurrentEventTriggerFlows.
    Poll Frequency     10000     As of now, we defined this parameter to poll every 10 sec, once we move the interface to production we can change the Poll Frequency to 10 min or 30 min depends on the requirement.
    Poll Quantity     3     Though we define Poll Quantity to 3, we are not expecting more than 1 at anytime.
    JvmMinHeapSize     1m     System Default, need to be tuned based on interface performance.
    JvmMaxHeapSize     256m     System Default, need to be tuned based on interface performance.
    JvmMaxNativeStackSize     128k     System Default, need to be tuned based on interface performance.
    ASD_CES SAPFIN1UPR Connector Properties
    Property Name     Value     Notes
    AgentConnections     1     It is a system default value, and for daily batch process interfaces, don’t need more than 1 agent connections
    ControllerStoreAndForwardMode     true     By setting this value to true, if the SAP connector agent to SAP is down, then the transaction will wait until the agent is restored and once it restored, connector will successfully complete the transaction
    JvmMinHeapSize     1m     System Default, need to be tuned based on interface performance.
    JvmMaxHeapSize     256m     System Default, need to be tuned based on interface performance.
    JvmMaxNativeStackSize     128k     System Default, need to be tuned based on interface performance.
    5.3.2     Processing/Translation (SAP Technical Details)
    [Outline processing steps: include 5.3.2 items with fields, selection/join conditions, perf, err handling, control]
    Assumptions:
    1.     All data that is received by RFC Function Module is pre-converted and ready to upload to SAP.
    2.     A set of records will be populated to RFC function module table.
    3.     The Main Cost center group name will be ‘CM_MGTHIER’ and it will be a constant.
    4.     Cost center group names will be provided along with cost center groups.
    5.     Controlling Area is assumed to be '1000'.
    6.     If an invalid cost center is found, Cost center group will not be created or modified and the error message will be returned along with the invalid cost center.
    Process Flow:
    1.     Create new RFC function module ‘ZC_BAPI_COSTCENTERGRP_MANGMNT’ in SE37 transaction with importing parameters includes a table with all the fields in the input file structure.
    2.     Source code written in this function module to create cost center groups in ‘KSH1’ transaction using the BAPI ‘BAPI_COSTCENTERGROUP_CREATE’.  
    3.     If Cost center repeats error message will be displayed through RETURN parameter.
    4.     Errors generated while cost center group creation, will be displayed as the Return table in the output of the RFC function module.
    Program Structure and processing:
    1.     Create a new  RFC function module ‘ZC_COSTCENTERGRP_MANGMNT’ with below parameters
    Parameters     Type     Description
    Exporting          
    RETURN     BAPIRET2     Return Parameter
    Tables          
    CCGRP     ZCSF_CCGRP     Cost Center Groups
    2.     Pass the contents of table CCGRP into another internal table IT_CCGRP where group names come first.
    3.     Sort internal table IT_CCGRP by MGMT3_NAM, MGMT4_NAM and MGMT5_NAM fields.
    4.     Loop at table IT_CCGRP into a work area WA_CCGRP.
         If Cost center is not initial, Select KOSTL from CSKS table into a variable V_KOSTL where KOSTL = WA_CCGRP-CCID.
         If SY-SUBRC is equal to zero, then pass the following fields to the BAPI structure
    WA_ HIERARCHYVALUES-VALFROM = WA_CCGRP-CCID.
    WA_ HIERARCHYVALUES-VALTO      = WA_CCGRP-CCID.
    Append WA_ HIERARCHYVALUES to IT_ HIERARCHYVALUES.
         Else, populate an error message saying ' Cost center groups contain invalid Cost Centers' into RETURN table. And exit from the loop.
         At FIRST,  do the following,
    a.     Pass the following fields to create Cost center group ‘Cessna Management structure’ initially.
    WA_HIERARCHYNODES-GROUPNAME = ‘CM_MGTHIER’
    WA_HIERARCHYNODES- HIERLEVEL = ‘0’
    WA_HIERARCHYNODES- VALCOUNT = ‘0’
    WA_HIERARCHYNODES- DESCRIPT = ‘Cessna Management Structure’
    Append WA_HIERARCHYNODES to IT_HIERARCHYNODES.
         At new of MGMT3_NAM_NAM field,  do the following,
    a.     Pass the following fields, to create Management level 3 group
    WA_HIERARCHYNODES-GROUPNAME = WA_CCGRP-MGMT3_NAM
    WA_HIERARCHYNODES- HIERLEVEL = ‘1’
    WA_HIERARCHYNODES- VALCOUNT = ‘0’
    WA_HIERARCHYNODES- DESCRIPT = WA_CCGRP-MGMT3_DES
    Append WA_HIERARCHYNODES to IT_HIERARCHYNODES.
         At new of MGMT4_NAM field,  do the following,
    a.     Pass the following fields, to create Management level 4 group
    WA_HIERARCHYNODES-GROUPNAME = WA_CCGRP-MGMT4_NAM
    WA_HIERARCHYNODES- HIERLEVEL = ‘2’
    WA_HIERARCHYNODES- VALCOUNT = ‘0’
    WA_HIERARCHYNODES- DESCRIPT = WA_CCGRP-MGMT4_DES
    Append WA_HIERARCHYNODES to IT_HIERARCHYNODES.
         ADD V_VALCOUNT = V_VALCOUNT + 1.
         At end of MGMT5_NAM field,  do the following,
    a.     Pass the following fields, to create Management level 5 group
    WA_HIERARCHYNODES-GROUPNAME = WA_CCGRP-MGMT4_NAM
    WA_HIERARCHYNODES- HIERLEVEL = ‘3’.
    WA_HIERARCHYNODES- VALCOUNT = V_VALCOUNT.
    WA_HIERARCHYNODES- DESCRIPT = WA_CCGRP-MGMT5_DES
    Append WA_HIERARCHYNODES to IT_HIERARCHYNODES.
         At LAST,  do the following,
    a.     Call BAPI ' BAPI_COSTCENTERGROUP_CREATE' by passing the below parameters.
    CALL FUNCTION 'BAPI_COSTCENTERGROUP_CREATE'
      EXPORTING
        CONTROLLINGAREAIMP       = '1000'
      IMPORTING
         GROUPNAME                        = GROUPNAME
         RETURN                                 = RETURN
      TABLES
        HIERARCHYNODES           = IT_HIERARCHYNODES
        HIERARCHYVALUES          = IT_HIERARCHYVALUES.
    5.3.3     Technical Objects
    [Tables, APIs, structures, EDI segments, data elements, domains, indexes, function Modules, user exits, BAPIs]
    Function Modules:
    ‘ZC_COSTCENTERGRP_MANGMNT'
    ‘BAPI_COSTCENTERGROUP_CREATE’
    ‘BAPI_TRANSACTION_COMMIT’
    Tables: EKPO, CSKS     
    Structure: ‘ZCSF_CCGRP’
    FIELD NAME     DATA ELEMENT     DOMAIN     DATA TYPE     LENGTH     FIELD  DESCRIPTION
    MGMT3_NAM     ZCMGMT_N     GRPNAME     CHAR     15     Management level 3 Name
    MGMT3_DES     ZCMGMT_D     TEXT40     CHAR     40     Management level 3 Description
    MGMT4_NAM     ZCMGMT_N     GRPNAME     CHAR     15     Management level 4 Name
    MGMT4_DES     ZCMGMT_D     TEXT40     CHAR     40     Management level 4  Description
    MGMT5_NAM     ZCMGMT_N     GRPNAME     CHAR     15     Management level 5 Name
    MGMT5_DES     ZCMGMT_D     TEXT40     CHAR     40     Management level 5  Description
    CCID     KOSTL     KOSTL     CHAR     10     Cost Center
    CCDES     KLTXT     TEXT40     CHAR     40     Cost center Description
    5.3.4     Technical Overview and Strategy
    [Performance, error handling, control]
    Error Handling:
    Errors generated will be displayed as the Return table in the output of the RFC function module, when
    1.     Cost center in invalid.
    2.     Cost center group name repeats.
    3.     Cost Center repeats.
    5.3.5     Production Support
    [Describe scenarios in which the interface components should/should not run. (Source/Middleware/Target systems down, etc.)]
    6.0     Technical Development Objects
    [Include development objects that would be required in order for the business to be able to provide production support.]
    Package/Dev Class: ZCK_INT
    RFC Function Module Name: ZC_COSTCENTERGRP_MANGMNT
    Function Group Name: ZCFMC_COSTCENTERGRP_MANGMNT
    Structure: ZCSF_CCGRP

    SDN is the place to discuss technical problems..
    Please avoid such weird post.
    G@urav.

  • Budget validity error wen re-ordering PO- PO is error in process

    Hi all,
    SRM 5.0 ECS.
    I am facing few issues related budget check in PO .
    I tried adding a new line item in PO  to do a PO increase,the PO goes in error in process.When I see RZ20,the alert details show the following message:
    BUDGET VALIDITY FOR DATE XXXXX IS BLOCKED.
    I debugged the above error when the PO is ordered in SRM. and found that the MSG is GRANTMGMT 213 in ECC which is shown as the error with the bove text.
    But  now knowing this mesg ID and NO,how do I knowthe reason for which the error was thrown??
    What settings I need to check in SRM or ECC for the above budget related error???
    Thanks!
    Edited by: NMSRM1000 on Jan 20, 2011 4:13 PM

    You need to Check in ECC if the particular cost object ( Grant or Project) has a budget block. Once you remove the block , re-order the PO
    Thanks
    Kedar

  • Removing novelty voices

    We have a grant-funded project that uses text to speech with English Language Learners in middle school. We'd like to remove the novelty voices from the systems on our new laptops so students only have access to the Cepstral Voices we bought for them to use.
    How can we remove certain voices safely from the system?

    Carolyn Knox wrote:
    We have a grant-funded project that uses text to speech with English Language Learners in middle school. We'd like to remove the novelty voices from the systems on our new laptops so students only have access to the Cepstral Voices we bought for them to use.
    How can we remove certain voices safely from the system?
    Welcome to Apple's discussion groups.
    The voice files seem to be in /System/Library/Speech/Voices . Try moving the ones you don't want to another place on the disk. Test the system, then delete the moved voice files. I'd keep one copy of the deleted voice files in case you ever want to restore them.
    You might also consider locking the System Preferences so that a password is required to change the voice selected in the Speech panel. See the Security panel, "Require a password to unlock each System Preferences pane". For that matter, for such users you should lock as much as possible.

  • Authorization scheme methods/techniques

    Hi all,
    I'm currently using the Authorization Scheme that came with the Build a Menu Framework Application. Unfortunately, it doesn't work the way I want it to.
    Can someone share any other techniques on how to set up a authorization scheme. My application has users divided in different roles where some pages are accessible by 1 role then other pages by another role.
    Any suggestions will be appreciated.
    Thanks and Regards,
    Allen

    Hi,
    Let me give you my thoughts on this thread.
    You need to be very careful about the use of the term Authentication and Authorization.
    Authentication deals with making sure the user is who they say they are (normally by requesting a password).
    Authorization deals with making sure a user can only do what they are allowed to do.
    For Authentication you have a number of options. If none of the standard ApEx Authentication schemes work for you then you can create your own:
    Create a database function that accepts a username and a password and returns TRUE or FALSE. For testing our applications we use a very simple function:
    create or replace function "TESTING_SIGNON_FNC"
    (p_username in VARCHAR2,
    p_password in VARCHAR2)
    return BOOLEAN
    is
    CURSOR c_valid_password
    IS
    SELECT 1 FROM DUAL
    WHERE UPPER(p_username) = UPPER(p_password);
    l_valid_password NUMBER;
    BEGIN
    OPEN c_valid_password;
    FETCH c_valid_password INTO l_valid_password;
    IF c_valid_password%FOUND THEN
    CLOSE c_valid_password;
    RETURN TRUE;
    END IF;
    CLOSE c_valid_password;
    RETURN FALSE;
    END;
    Change the select to use whatever method you like.
    Then Create an Authentization Scheme with an 'Authentication Function' of 'return TESTING_SIGNON_FNC;'
    For Authorization you need to decide how you will control who can do what and how you maintain this. In our applications we need users (Administrators) of the application to be able to grant / revoke access to certain areas via the application UI.
    The solution we have developed has five database tables:
    SEC_PERSON
    SEC_ROLES
    SEC_FUNCTIONS
    SEC_ROLE_FUNCTIONS
    SEC_PERSON_ROLES
    SEC_PERSON holds the Person Details
    SEC_FUNCTIONS has the functions that we want to be able to grant ('create project' for instance)
    SEC_ROLES has the roles that we want to be able to Grant to people ('Project Manager' for instance)
    SEC_ROLE_FUNCTIONS has the functions assigned to a Role ('Project Manager' can 'Create Project')
    SEC_PERSON_ROLES has the roles a person has ('Fred' is a 'Project Manager')
    We have pages on each table to allow users to maintain the data.
    In ApEx we then define Authorization Schemes for each function we want to control:
    TPA-PRJ-PRJ-FED (TPA Application - Projects - Project Control - Full Edit) with the following SQL:
    select
    1
    from
    sec_person p,
    sec_person_roles pr,
    sec_roles r,
    sec_role_functions rf,
    sec_functions f
    where
    f.function_code = 'TPA-PRJ-PRJ-FED'
    and
    p.person_id = pr.person_id and
    pr.role_id = r.role_id and
    r.role_id = rf.role_id and
    rf.function_id = f.function_id and
    p.delete_flag = 'N' and
    pr.delete_flag = 'N' and
    r.delete_flag = 'N' and
    rf.delete_flag = 'N' and
    r.delete_flag = 'N' and
    sysdate between p.start_date and nvl(p.end_date,sysdate) and
    sysdate between pr.start_date and nvl(pr.end_date,sysdate) and
    sysdate between r.start_date and nvl(r.end_date,sysdate) and
    sysdate between rf.start_date and nvl(rf.end_date,sysdate) and
    sysdate between f.start_date and nvl(f.end_date,sysdate) and
    p.username = :APP_USER
    This Authorization scheme can then be applied to Tabs, Pages, Buttons, Columns etc. as required.
    Difficult to explain all this without pictures but I hope this helps.
    Martin

  • Necesito restringir via WBS el acceso a proyectos de una cartera

    necesito que un grupo de usuarios acceda a un nivel especifico del WBS pero en varios proyectos. hasta ahora puedo restringir que puedan ejecutar acciones en los WBS que no estan asignados, pero cuando se entran en sus proyectos, siguen viendo los otros niveles del WBS. el objetivo es que solo vean los WBS a los cuales estan asignados.

    users U1, U2, Un are all assigned to OBS element Str_Mngr. in its turn Str_Mngr is allocated as responsible manager to all Str type of WBS elements under various projects P1, P2, Pn. that is P1.Str, P2.Str, Pn.Str
    the same users U1, U2, Un may (or may not) hold other OBS assignments. for example to OBS element Proj_Mngr, who is allocated as responsible manager to projects P1, P2, Pn.
    it is important to edit the existing project access security profiles (or better yet create new ones) so as to use different profiles for different user-OBS assignments.
    in the above mentioned example,
    - a limited project profile (e.g. view-only) should be used for the U1, U2, Un assignments to Proj_Mngr
    while the same U1, U2, Un should use
    - a full-edit project profile for their assignments to Str_Mngr
    hope this helps.
    if i read your problem corectly, see if any of these apply:
    is it ok if users U1, U2, Un see WBS elements of other types (say Arh ) under projects P1, P2, Pn except financial details (such as prices and costs)?
    if not, then you would just have to create different projects for Str and Arh within the same EPS instead of WBS elements of the same project. is this feasable?
    access is granted by project and not individual WBS elements under projects. thus once the project is open, all WBS elements are visible (except maybe financial data)
    best of luck,
    Edited by: Tibi on May 29, 2010 2:31 PM

  • How to Add a Filter By field to a Report

    Hello, I am running Apex 3.x and I currently have in production, a standard report page with the following columns:
    Grant#, Grant Name, Project #, Project Name, Project Fiscal Year, Task #, Task Name
    A grant can have many projects, and a project can have many tasks.
    I have been asked to add a "Filter By:" field acting as a select List , with just these values: Show All, Show Projects and Tasks, Show Projects
    If "Show All" is selected, the report remains the same and displays all the column headings and data for all the fields above.
    If "Show Projects and Tasks" is selected, I am to refresh the page, and only show data (and column headings) for Project #, Project Name, Project Fiscal Year, Task #, Task Name.
    If "Show Projects" is selected, I am to refresh the page, and only show data (and column headings) for Project #, Project Name, Project Fiscal Year
    Could you please assist in directing me on how I can go about hiding these other columns and data if "Show All" is not selected.
    Many thanks,
    Laura

    Create a select list with those 3 values ( and make it a select with submit ), then in your report attributes, go to the conditional columns you have and set the condition accordingly, ex: for example:
    column Task # >> edit >> condition >> PLSQL expression
    :PX_FILTER != 'Show Projects'
    Where PX_FILTER is the new select list that you will create....
    Hope this helps,
    Sam

  • Grants-Projects/Awards Reconciliation & GL

    What are the main reasons for reconciliation problems between Projects and Awards, including summary and detailed information??
    Grants and GL reconciliation-main problems? The project and award segments in GL are necessary? If not, how to reconciliate Grants with GL?
    Thanks in advance
    ACF

    I have experience in intergrating project accounting to the general ledger in a data warehouse using discoverer to show the results.
    The solution I developed for my compnay is to ensure all entries from all sub-ledgers including manual journal entries are moved to the data warehouse tables have project information based on PA autoaccounting rules.
    The company I work for was interested in viewing reports that cubed cost centers (dept's.) to projects and to translate all entries (not just account balances) to USD for thier foriegn set of books. So, projects can be seen company wide in USD at lowest entry level. The solution I gave them solved the problem and they are able to view reports and evaluate costs by cost centers and projects on an enterprise wide application.
    If this is what you are looking for let me know.
    about my self : I have a B.S. in Computer Science (Theoretical Track) and 17 yrs of accounting and book keeping experience including consolidation and multi-currency sets of books.

  • Report on Funding Sources Affiliated with Projects in Grants Accounting

    We are trying to create a report that shows a listing of all of our funding sources and the Projects affiliated with them. A Funding Source can have 0 or more Projects. We are not sure where these links are made
    In the report we would like to see:
    Funding Source ID
    Funding Source Name
    Project ID
    Project Name

    Hi Chris,
    We need help implementing Grants Accounting and Projects Accounting Modules for a university client. Can you help? or refer us to a functional and a technical colleague(s) with good experiences implementing Grants Accounting? Much appreciate your help. Thanks in advance.
    Roger, (646) 736-6083 zx7013 and [email protected]

  • Capital projects and Grants Accounting

    We looking at the feasibility of creating capital projects in Grants Accounting as part of our R12 project. I need to know whether it is possible to combine non-sponsored capital project types with our existing sponsored projects funded by awards. I have read the White Paper "Oracle Project Management Implemented with Oracle Grants Accounting" but the practical implementation is not clear.

    All projects within Grants must be sponsored, even if they have a project type of capital. Due to the overlap in functionality, the use of Projects and Grants in the same OU is not permitted. As detailed in the white paper that you reference, some Projects functionlaity can be leveraged, but in limited capacity. So, you can set up your projects as capital projects in Grants (e.g. with a dummy customer), will this suffice? Is there a specific reason why the projects must be non-sponsored?
    Please mark this comment as useful if it has helped.

  • Project Server 2010 permissions granted through RBS are not flowing through to Project Sites.

    Hi,
    I have configured RBS as "The Project Owner is a descendant of the user via RBS"  its working fine for Projects.
    But users are  facing access denied issue when working with project sites RBS is not working for project sites.
    Can any  one Help me How can i grant permissions Automatically for project sites also as same like projects is it possible ?
    The Members in  Executives group can see all projects in organization but same like can they see all project sites ? 
    I have found one blog of
    RaymondRis he is recommending to do it manually as its not possible to grant Project site permissions Automatically.
    http://blogs.technet.com/b/raymond_ris/archive/2013/05/09/project-server-2010-permissions-granted-through-rbs-are-not-flowing-through-to-project-sites.aspx
    Thank You, Kumar KSV

    Kumar,
    The permissions to project sites is not cotrolled by the RBS, as you have discovered. It is controlled by the Security Category permisisons, and the settings if the permssions are auto synced. The permissions work like this:
    Project managers who have published a project or who have Save Project permissions on a project are added to the Project Managers (Microsoft Project Server) site group.
    Team members with assignments in a project are added to the Team members (Microsoft Project Server) site group.
    Other Project Server users who have View Project Site permission on a project are added to the Readers (Microsoft Project Server) site group. 
    As long as you use the Auto Sync of permisisons for project sites, i do not think there is any work around.
    Cheers,
    Prasanna Adavi, Project MVP
    Blog:
      Podcast:
       Twitter:   
    LinkedIn:
      

  • Shortdump on grant approval of project phases

    Hi,
    A phase in a project is created abd then released after assigning a suitable resource as responsible for approval and approval process is started.
    Resource logs on to project management view in portal, clicks on approvals tab to view list on approvals pending for his/her approval.
    System works well up to this point.
    When the resource opens the approval, enters a comments and clicks on grant approval button, we get a short dump.
    " Access via 'NULL' object reference not possible"
    However we do not get any short dump if resource rejects the approval, the system status correctly gets updated as rejected.
    Following are a detailed ST22 analysis of the shortdump
    Class- /WDA/LADOBE
    Termination occurred in the ABAP program "/1WDA/LADOBE=========
    in "IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT".
    The main program was "SAPMHTTP ".
    In the source code you have the termination point in line 216
    of the (Include) program "/1WDA/LADOBE==================CCIMP".
    The URL &A& possibly contains evil script
          cx_wd_general=>raise( msg = CL_WDR_TEXTS=>URL_CONTAINS_EVIL_SCRIPT  a = /1WDA/VINTERACTIVE_FORM_ACTIVE~mv_TEMPLATE_SOURCE ). "#EC NOTEXT
        endif.
        oldurl = /1WDA/VINTERACTIVE_FORM_ACTIVE~mv_TEMPLATE_SOURCE.
      >> property-UCA mv_FILENAME
      >> UCA ADOBE|INTERACTIVE_FORM|FILENAME
        concatenate /1WDA/VINTERACTIVE_FORM_ACTIVE~mv_TEMPLATE_SOURCE '.pdf' into mv_FILENAME. "#EC NOTEXT "#EC NOTEXT
      >> property-UCA /1WDA/VINTERACTIVE_FORM~mv_SERVICE_HANDLER
      >> UCA ADOBE|INTERACTIVE_FORM|SERVICE_HANDLER
        if /1WDA/VINTERACTIVE_FORM_ACTIVE~mv_TEMPLATE_SOURCE is not initial.
          if /1WDA/VINTERACTIVE_FORM~mv_SERVICE_HANDLER is not bound.
            create object /1WDA/VINTERACTIVE_FORM~mv_SERVICE_HANDLER
              exporting
                i_form_name = /1WDA/VINTERACTIVE_FORM_ACTIVE~mv_TEMPLATE_SOURCE.
          else.
          check, if the template source has been changed
            if /1WDA/VINTERACTIVE_FORM_ACTIVEmv_TEMPLATE_SOURCE <> /1WDA/VINTERACTIVE_FORMmv_SERVICE_HANDLER->m_form_name.
            reinit the handler class
              free /1WDA/VINTERACTIVE_FORM~mv_SERVICE_HANDLER.
              create object /1WDA/VINTERACTIVE_FORM~mv_SERVICE_HANDLER
                exporting
                  i_form_name = /1WDA/VINTERACTIVE_FORM_ACTIVE~mv_TEMPLATE_SOURCE.
            endif.
          endif.
        endif.
      >> property-UCA IFUR_NW5_ACTIVEXCONTAINER~CODEBASE
      >> UCA ADOBE|INTERACTIVE_FORM_ACTIVE|CODEBASE
        IFUR_NW5_ACTIVEXCONTAINERCODEBASE =  /1WDA/VINTERACTIVE_FORMmv_SERVICE_HANDLER->m_cab_file.
    (IT FAILS HERE)
    Thanks for looking at this issue

    Has some one experiences this issue before, Is there any fix for this problem??.
    Thanks for sharing your thoughts

Maybe you are looking for

  • Data storage and read

    Hello all, I got a problem in data storage and read. I used the combination of "Open data storage", "Write data" and "Close data storage" to store some data as an array as shown below. And used the inverted combination to read data as shown below: As

  • Trying to back up with time machine for first time. It keeps ejecting the disk a few minutes in. Any ideas?

    I am using a WD My Passport to try and do a time machine backup for the first time, on my iMac desktop. the first couopleo of times I did it, it was really slow and then crashed after a few mins. I started again as if it was a new external harddrive

  • Should I remove duplicate songs from itunes before connecting new ipad2

    Bought new iPad2.  New to Apple.  Have to connect to iTunes.  Should I remove all duplicate songs from iTunes first, before connecting new iPad 2?

  • A Workshop made Web Application can run on WebLogic Express?

    Hi We are evaluating the option to develop a web application and deploy it over around 500 sales offices in the country. Since the large number of installations we are considering use WebLogic express to handle the administration issues through manag

  • Apple backup Id unknown

    Screen reads  The attached device has a backup password set.  You need to disable th backup password in iTunes to continue. Start iTunes , remove the backup password and start this program again. So I go to I tunes  back up There is a check mark on e