Copy function without writing empty records in BI Integrated Planning

I've got the following data model:
- one source cube which acts as a buffer, holding only a small amount of new data records
- one target cube, which holds the whole amount of data
- both are on the same aggregation level
I want to do the following:
- copy the new data in the source cube to the target cube
- by doing this, I want only those records changed which are actually in the source cube. All other other data records of the target cube should stay unchanged
The problem is:
I tried this using the standard copy function, but if there are only a few data records in the source cube, the copy function sets all other records in the target cube to zero.
Question:
How can I change only the data records in the target cube which are copied from the source cube? I don't want the copy function to write empty records in the target cube for not copied records.

Hi Aline,
This is the normal functionality of the standard copy function. It will copy source to target if the characteristics matches and would post zeros to the other records in target.
I got a similar requirement and I had gone with FOX for copying the data.
Write the FOX to copy the key figures from source to target for all the characteristics in the target.
Regards,
Srinivas Kamireddy.

Similar Messages

  • Copy from one period to period range in Integrated Planning

    Hi ,
    Looking for help:
    Scenario:
    Copy the planned data  from one period to period range:
    From,
    Calendar Year (Varaible)=2010
    Caledar Month (Variable)=01
    Version (Variable)=XYZ
    To
    Calendar Year (Varaible)=2010
    Caledar Month (Variable)=02 to 12 (Created multi single value variable, **Interval  variable is not available in Planning Function)
    Version (Variable)=XYZ
    Used Copy in Planning Function: created 3 variables for From and 3 variables for To, created planning sequence tried to insert in the Workbook.
    VAR_NAME_1 -1 - Caledar Year variable from
    VAR_VALUE_1 - 1 - 2010
    VAR_NAME_2 - 1 - Calendar Month From
    VAR_VALUE_2 - 1 - 01
    VAR_NAME_3 - 1 - Vesion Variable From
    VAR_VALUE_3 - 1 - XYX
    VAR_NAME_4 - 1 - Caledar Year variable To
    VAR_VALUE_4 - 1 - 2010
    VAR_NAME_5 - 1 - Calendar Month To
    VAR_OPERATOR_5 - 1 - BT
    VAR_VALUE_LOW_EXT_5 - 1 - 02
    VAR_VALUE_HIGH_EXT_5 - 1 - 12
    VAR_SIGN_5 - 1 - I
    VAR_NAME_6 - 1 - Vesion Variable To
    VAR_VALUE_6 - 1 - XYZ
    Getting error message:
    Parameter VAR_Value(_EXT)_5 is missing for variable "Caledar Month To"  -
    Reading the records in period 01 but failed to generate/ write to period 02 to 12
    Please advise.
    Thanks

    Hi Deepti,
    Great.... thank you very much for your help. FOX code is working perfect,  I eliminated only  FOREACH S_KFNAM (I have only one KF in the Cube)
    Now the req. changed a little bit:
    User want to select the Cost Center- to copy data with above scenario. (CalYear, calendar month and version)
    I created a Filter - with Cost center and Controlling Area (Compounding), restricted Controlling area with Hierarchy and created Multiple single value Hierarchy Node variable for cost center.
    Created a planning sequence with the Filter and PF.
    I created a Work book for User to use this copy function (by Planning Sequence)
    SCENARIO;
    USER want to copy data in COSTCENTER:CC100000
    From: caledar year=2010, calendar month=01 and version=ABC
    To: calendar year=2010, calendar month = 02 to 12 and version=ABC
    VAR_NAME_1 1 FROM CAL YEAR
    VAR_VALUE_1 2010
    VAR_NAME_2 1 FROM CAL MONTH
    VAR_VALUE_2 1 01
    VAR_NAME_3 1 FROM VERSION
    VAR_VALUE_3 1 ABC
    VAR_NAME_4 1 TO CALYEAR
    VAR_VALUE_4 2010
    VAR_NAME_5 1 TO CALMONTH
    VAR_VALUE_LOW_EXT_5 1 02
    VAR_VALUE_HIGH_EXT_5 1 12
    VAR_NAME_6 1  TO VERSION
    VAR_VALUE_6  1 ABC
    VAR_NAME_7 1 HIERARCHY NODE VARIABLE
    VAR_VALUE_EXT_7 1 CC100000
    VAR_NODE_IOBJNM_7 1 0COSTCENTER
    Got Error:
    Please enter a valid value for 0COSTCENTER 
    Check the value"CC100000"(parameter: VAR_VALUE_EXT_7, variable ZMSV_CC)
    But reading the data and generating the data for all the cost centers.
    Issue:
    How to pass the variable values  to the Filter. Is my definition is wrong in the workbook?
    VAR_NAME_7 1 HIERARCHY NODE VARIABLE
    VAR_VALUE_EXT_7 1 CC100000
    VAR_NODE_IOBJNM_7 1 0COSTCENTER
    Thanks

  • Copy function simple question

    Dear all,
    i need to copy values from 2008 to 2009,
    from version 0 to version 1.
    in my aggregation level i have equipment type and months.
    when i create conditions do i have to write down all conditions.?
    should i just write :
    from 2008 version 0  to 2009 version 1?
    or:
    from  2008 version 0 January   EQTYPE1  to 2009 version 1 January EQTYPE1
    from  2008 version 0 February EQTYPE1 to 2009 version 1 February EQTYPE1
    from  2008 version 0 March EQTYPE1 to 2009 version 1 March EQTYPE1
    from  2008 version 0 April EQTYPE1 to 2009 version 1 April EQTYPE1....
    thanks

    Hi,
    In your aggregation level you have to include year and version as well.
    then include Year and Version in "Fields to be changed".
    If you are having only months in one of your characteristics to denote Jan, Feb etc.. then you don't need to include that in "Fields to be changed" and in the Copy function you can simply write
    "from 2008 version 0 to 2009 version 1"
    but if you have year also in your month characteristic for eg. if you have taken Fiscal Year / Period to denote your months where year is also part of the key then you have to map the old values of months also to new values in the copy function by writing January 2008 to januray 2009 and consecutively for all months .
    You don't need to include Equipment in "Fields to be changed" 
    Regards,
    Deepti

  • Copy function not working in nw2004s-ip

    Hi,
    I am using NW2004s BI-Integrated Planning. I am using the Planning Modeler tool.
    I am trying to create a copy function to copy actual data from 2006 to become plan data for 2007.
    There are no variables involved. I have specified the infoprovider, fiscal year/period and value type for reporting.
    The copy function reads as:
    FROM :
    Fiscal year / period: 001.2006; InfoProvider: CO-OM-CCA: Costs and Allocations; Value Type for Reporting: Actual
    TO:
    Fiscal year / period: 001.2007; InfoProvider: Plan Data; Value Type for Reporting: Plan
    The fiscal year/period value chosen in both cases is a V3 variant.
    I get the same error message every time
    " Inconsistent time characteristics: 0FISCPER,V3/001.2007 and 0FISCYEAR,V3/2006"
    Ultimately I want to copy to all periods of 2006 to 2007, but to get something working would be nice!
    What am I doing wrong?
    Any suggestions gratefully received (and points given).

    Hi Dave,
    We are experiencing the same problem. We've just implemented BW-IP and we are trying to configure through the Modeler a simple copy function from 0cca_c11 to a transactional InfoCube with plan data. Also changing characteristics as: 0fiscyear, 0vtype, 0version and nothing else, both InfoCubes are selected in the filter area, and I think the Multiprovider that we've created in BW is ok. Everything seems to be so straight forward but .. .nothing is working (we had this working in the previous BW-BPS).
    Can someone give us a hint of what we may be doing wrong, or a kind of checklist of the things that we have to validate so as to be sure to get this working.?
    (tips about the multiprovider in bw? , tips about the filter options?, tips aobut the copy function parameters?)
    Regards,
    Andrea.

  • Assignment of filter to planning function in integrated planning

    Dear experts
    I am a bit new in Integrated planning and have a following conceptual question regarding filter object in IP
    In IP it seems that filter is a substitute object for planning package in BSP.
    I however do not see any possibility to assign filter to a planning function except in a planning sequence. I would however imagine to have a functionality to dynamically select the filter when i want to execute a planning function via application (excel based or Web).
    It seems that filter is not even required if a planning function is executed seperately (not as part of planning sequence).
    I have tried to execute a simple copy function without having any filter at all and it works.
    Could someone pls. explain me as to the conceptual difference between object filter and object planning package.

    Hi,
    Filter is indeed used in IP similar to how planning package was used in BPS. There really is no difference 'conceptually'.
    What you have seen is the different options IP offers compared to BPS regarding planning function execution. You can execute planning function directly or using a planning sequence in an application (although in planning modeler, its only a planning sequence that can be executed, for eg., for testing purpose).
    If you just execute a planning function without specifying any restriction, it will operate on the entire set of planning data. Whether its a planning sequence or planning function, the data it operates on can be restricted by binding the various characteristics (or variables) using various DPs in the application. What kind of dynamic selection are you looking at?
    You can see following links if you have not read them already -
    http://help.sap.com/saphelp_nw70/helpdata/en/43/f0f8dc73b56bede10000000a11466f/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/44/33a31fd463060ce10000000a155369/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/43/f0f92373b56bede10000000a11466f/content.htm
    These are for WAD; you can find similar links for the BI Analyser.

  • Can not create planning function types (for process empty records)

    Hi! SAP Experts,
         I want to copy 0RSPL_FORMULA to another function types for processing empty records, ZRSPL_FORMULA. I checked this function type via RSPLAN, there is no error!.   But when i try to use it in planning modeler. We found the error message "Infoobject 1FORMULA is does not available in version A". Do we need to create this infoobject?... Anyone know, please let me know.
    Thanks,
    Sake

    Hi!,
    Thanks for your help but I've already put that parameter,HIDDENFORMULAVARTAB->1FORMULA, in my planning function, ZRSPL_FORMULA. I validated it and no error found. But when I go to planning modeler, in web browser, and try to create a new planning function based on ZRSPL_FORMULA. I found the problem as I mention in previous message, "infoobject 1FORMULA is not available in version A". I try to search this infoobject in my system. The result is there is no this infoobject in my system. So, my question is do i need to create it with myself? What kind of infoobject i have to create? Key Figures or Characteristics?
    Anyway, If I have to do this, why 0RSPL_FORMULA still used as normal.
    Brgds,
    Sake

  • No records written to the transactional cube with the copy function

    Hi, I am unable to copy data from the basic cube to transactional cube,
    I have developed following:
    1. Planning Area PA1 – for the basic cube
    2. Planning Area PA2 – for the transactional cube
    3. Multi planning Area MPA1 – over PA1 and PA2.
    4. Planning Level PL1 for MPA1. It includes all the chars and KF.
    5. Planning Package PP1 for PL1. No selections are made in this planning package.
    6. Planning Function PF1 for PL1. It is based on copy function and has Plng Area in the field to be changed.
    7. Parameter Group PG1 for PF1. I have selected Overwrite existing values option, in from planning area PA1 and in to planning area PA2.
    Now when I execute the planning function it displays following log with green status:
    Planning function PF1 (PF to copy data actuals to plan), parameter group PG1(PG to copy data) was carried out with no error
    500 data records were read, 0 of them were changed, 0 generated
    After this I hit the save button. A request is written to the transactional cube but there are no records in this request. Can anyone guide if I am missing something here or with correct steps
    Thank you,
    sam

    Whate ever charcateristic combinatins you have in the plg level will be copied from PA1 to PA2.
    Can you pl check the following:
    1. Do you have data  on the basic cube?  If so, take one set of characteristtic combinations and go to transactional cube and check this.
    2. Make sure the request in the basic cube is GREEN.
    Lets do one more thing.
    Tell me what distinguished PA1 and PA2?
    If you have any characteristic that distinghished them, then lets run a copy with that characteristic. You dont have to have plng area in the function / para group.
    Check the following. I will reply in a few mts, as i have a meeting.
    Ravi Thothadri

  • Item Conversion Template Issue for Oracle Migration - Copy functionality

    Hi,
    I am working on Migration project which is from Radius ERP to Oracle 11.5.10.2.
    Currently working on Item Conversion. This Item conversion having the fileds like (ORGANIZATION_ID,SEGMENT1,DESCRIPTION,ITEM_TYPE,COST_OF_SALES_ACCOUNT,SALES_ACCOUNT,ATTRIBUTE_CATEGORY,ATTRIBUTE1,ATTRIBUTE2,ATTRIBUTE3,ATTRIBUTE4,ATTRIBUTE5,ATTRIBUTE6,ATTRIBUTE7,ATTRIBUTE8,ATTRIBUTE9,ATTRIBUTE10,ATTRIBUTE11,ATTRIBUTE12,ATTRIBUTE13,ATTRIBUTE14,ATTRIBUTE15,GLOBAL_ATTRIBUTE10,REF_INVENTORY_ITEM_ID,REF_ORGANIZATION_ID).
    I have validated those fields and loaded into interfacing to Oracle Successfully in the master Org and Validated through Frontend.
    when I close the form, I will be receiving the below warning message and telling that Template id needs to be assign to the item before assigning item to the Org. The message is showing like
    "*You have not applied a template to this item, please apply a template before assigning this item to an ORG.*"
    Please find the below package which I wrote for this conversion requirement.
    The customer is saying like need to achieve the copy functionality based on the "REF_INVENTORY_ITEM_ID and REF_ORGANIZATION_ID".
    The Issue is am not able to handle the copy functionality and getting above message. kindly refer the package and suggest me where i am doing the mistake. Its high priority issue for me.
    Thanks in advance.
    CREATE OR REPLACE PACKAGE APPS.xxxx_inv_items_conv_pkg
    AS
    PROCEDURE xxx_item_conversion_proc (
    errbuf OUT VARCHAR2,
    retcode OUT VARCHAR2,
    p_org_id IN NUMBER,
    -- p_commit_point IN NUMBER,
    p_load_code IN VARCHAR2
    IS
    <<Local Variables Declaration>> <<For space limit deleted these variables>>
    CURSOR cur_item_master (pc_org_code VARCHAR2)
    IS
    SELECT itemstg.*
    FROM xxx_inv_system_items_stg itemstg
    WHERE itemstg.organization_id = pc_org_code
    AND itemstg.status_flag IS NULL;
    CURSOR cur_item_master_dup (pc_org_code VARCHAR2)
    IS
    SELECT itemstg.segment1, itemstg.organization_id
    FROM xxx_inv_system_items_stg itemstg
    WHERE itemstg.ROWID <
    (SELECT MAX (b.ROWID)
    FROM xxx_inv_system_items_stg b
    WHERE b.segment1 = itemstg.segment1
    AND b.organization_id = itemstg.organization_id
    AND b.organization_id = pc_org_code
    AND itemstg.status_flag IS NULL
    AND b.status_flag IS NULL);
    BEGIN
    IF p_load_code = 'Insert'
    THEN
    l_transaction_type := 'CREATE'; -- Default Value in I/F Table
    ELSIF p_load_code = 'Update'
    THEN
    l_transaction_type := 'UPDATE'; -- Default Value in I/F Table
    END IF;
    DBMS_OUTPUT.put_line ( 'Validation Starts At :'
    || TO_CHAR (SYSDATE, 'DD-MON-YYYY HH24:MI:SS')
    --Checking for Duplicate Records items
    BEGIN
    UPDATE xxx_inv_system_items_stg a
    SET a.status_flag = 'E',
    a.error_message = 'Duplicate Record'
    WHERE a.ROWID >
    ANY (SELECT b.ROWID
    FROM xxx_inv_system_items_stg b
    WHERE a.segment1 = b.segment1
    AND a.organization_id = b.organization_id)
    AND a.organization_id = p_org_id
    AND a.status_flag IS NULL;
    EXCEPTION
    WHEN OTHERS
    THEN
    DBMS_OUTPUT.put_line ('Exception in updating duplicates'
    || SQLERRM
    END;
    DBMS_OUTPUT.put_line ('CheckPoint: Duplicate Record');
    BEGIN
    SELECT organization_id
    INTO l_organization_id
    FROM org_organization_definitions
    WHERE organization_id = p_org_id;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    DBMS_OUTPUT.PUT_LINE(p_org_id||' Org Does Not Exist');
    -- p_retcode := '2';
    WHEN OTHERS
    THEN
    DBMS_OUTPUT.PUT_LINE('Exception in Getting Org Id'||'Cannot Proceed');
    -- p_retcode := '2';
    END ;
    DBMS_OUTPUT.put_line ('CheckPoint: Orgcode' || l_organization_id);
    /* IF p_retcode = '2'
    THEN
    RETURN;
    END IF;*/
    --Block             : Setting Master and Validation Orgs Flags
    BEGIN
    SELECT DECODE (master_organization_id, l_organization_id, 'Y', 'N'),
    master_organization_id
    INTO l_master_org,
    l_master_org_id
    FROM mtl_parameters
    WHERE organization_id = l_organization_id;
    EXCEPTION
    WHEN OTHERS
    THEN
    l_master_org := 'N';
    l_master_org_id := NULL;
    DBMS_OUTPUT.PUT_LINE(p_org_id||' Org Does Not Exist');
    END ;
    DBMS_OUTPUT.put_line ('master_organization_id');
    SELECT fnd_profile.VALUE ('USER_ID')
    INTO l_user_id
    FROM DUAL;
    -- Block : Set the SET_PROCESS_ID
    l_set_process_id := l_organization_id;
    l_insert_count := 0;
    LOOP
    BEGIN
    SELECT COUNT (segment1)
    INTO l_insert_count
    FROM mtl_system_items_interface
    WHERE set_process_id = l_set_process_id
    AND transaction_type = l_transaction_type
    AND process_flag = 1;
    EXCEPTION
    WHEN OTHERS
    THEN
    l_insert_count := 0;
    END;
    EXIT WHEN l_insert_count = 0;
    l_set_process_id := l_set_process_id + 10;
    END LOOP;
    DBMS_OUTPUT.put_line ('SET PROCESS ID -l_insert_count ' || l_insert_count);
    IF p_load_code = 'Insert'
    THEN
    BEGIN
    FOR recitem_data IN cur_item_master_dup (p_org_id)
    LOOP
    UPDATE xxx_inv_system_items_stg
    SET status_flag = l_processed_flag,
    error_message = l_error_message
    WHERE segment1 = recitem_data.segment1
    AND organization_id = recitem_data.organization_id
    AND status_flag IS NULL;
    COMMIT;
    END LOOP;
    EXCEPTION
    WHEN OTHERS
    THEN
    DBMS_OUTPUT.put_line ( 'Update of Duplicates Failed : '
    || SQLCODE
    || '--'
    || SQLERRM
    END ;
    END IF;
    FOR recitem_data IN cur_item_master (p_org_id)
    LOOP
    <<Local Variables Declaration>> <<For space limit deleted these variables>>
    IF p_load_code = 'Update'
    THEN
    l_error_message := 'Update Mode' || l_error_delimiter;
    END IF;
    --l_count := -1;
    BEGIN
    DBMS_OUTPUT.put_line ('CheckPoint: ItemValidationStart');
    SELECT DISTINCT inventory_item_id,
    restrict_subinventories_code,
    restrict_locators_code
    INTO l_inventory_item_id,
    l_restrict_subinventories_code,
    l_restrict_locators_code
    FROM apps.mtl_system_items_b msi
    WHERE msi.organization_id = l_organization_id
    AND msi.segment1 = UPPER (recitem_data.segment1);
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    l_count := 0;
    -- l_processed_flag := 'F';
    DBMS_OUTPUT.put_line ('inventory_item_id - AFTER MAIN LOOP' || l_inventory_item_id||'-'||l_processed_flag);
    DBMS_OUTPUT.put_line ('inventory_item_id - AFTER MAIN LOOP' || l_inventory_item_id||'-'||recitem_data.ref_inventory_item_id);
    WHEN OTHERS
    THEN
    l_count := -1;
    -- l_processed_flag := 'F';
    DBMS_OUTPUT.put_line ('inventory_item_id - AFTER MAIN LOOP' || l_inventory_item_id||'-'||l_processed_flag);
    END ;
    DBMS_OUTPUT.put_line ('inventory_item_id - AFTER MAIN LOOP'||recitem_data.ref_inventory_item_id);
    IF l_count = -1
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'Exception - Checking Item already Present'
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ('Exception - Checking Item already Present'||l_processed_flag);
    ELSIF (l_count > 0 AND p_load_code = 'Insert')
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'Item Already Exists In '
    || p_org_id
    || ' Organization '
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ('Exception - Checking Item already Present1'||l_processed_flag);
    ELSIF (l_count = 0 AND p_load_code = 'Update')
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'Item Not Present In '
    || p_org_id
    || ' Organization '
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ('Exception - Checking Item already Present2'||l_processed_flag);
    END IF;
    BEGIN
    SELECT count(*)
    INTO l_seg_count
    FROM apps.mtl_system_items_b msi
    WHERE msi.organization_id = l_organization_id
    AND msi.segment1 = UPPER (recitem_data.segment1);
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    l_seg_count := 0;
    l_processed_flag:='F';
    l_error_message :=
    l_error_message
    || 'Item Not Present In Oracle'
    || p_org_id
    || ' Organization '
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ('inventory_item_id - l_seg_count ' ||l_seg_count||'-'||l_processed_flag );
    WHEN OTHERS
    THEN
    l_seg_count := -1;
    l_processed_flag:='F';
    l_error_message :=
    l_error_message
    || 'Item Not Present In Oracle'
    || p_org_id
    || ' Organization '
    || l_error_delimiter;
    END ;
    IF p_load_code = 'Insert'
    THEN
    IF l_organization_id != l_master_org_id
    THEN
    BEGIN
    SELECT COUNT (1)
    INTO l_org_item_count
    FROM apps.mtl_system_items_b msi
    WHERE msi.organization_id = l_master_org_id
    AND msi.segment1 = UPPER (recitem_data.segment1);
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    l_org_item_count := 0;
    DBMS_OUTPUT.put_line ('l_org_item_count ' ||l_org_item_count||'-'||l_processed_flag );
    WHEN OTHERS
    THEN
    l_org_item_count := -1;
    END ;
    IF l_org_item_count = -1
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'Exception - Checking Item in Master '
    || l_error_delimiter;
    ELSIF l_org_item_count = 0
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'Item Does Not Exist in Master '
    || l_error_delimiter;
    END IF;
    END IF;
    END IF;
    DBMS_OUTPUT.put_line ( 'CheckPoint: Iteminmasterorg'
    || l_org_item_count
    IF (recitem_data.description IS NULL AND p_load_code = 'Insert')
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message || 'Description is NULL' || l_error_delimiter;
    END IF;
    IF (recitem_data.sales_account IS NOT NULL)
    THEN
    BEGIN
    SELECT code_combination_id
    INTO l_sales_account
    FROM gl_code_combinations_kfv
    WHERE code_combination_id= recitem_data.sales_account;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    -- l_processed_flag := 'F'; --QUESTION
    l_error_message :=
    l_error_message
    || 'Sales Account Not Setup '
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ( 'CheckPoint: Salesacct_Validation'
    || l_sales_account||'-'||l_processed_flag
    WHEN OTHERS
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'Sales Account Exception '
    || SQLERRM
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ( 'CheckPoint: Salesacct_Validation'
    || l_sales_account||'-'||l_processed_flag
    END ;
    END IF;
    IF (recitem_data.cost_of_sales_account IS NOT NULL)
    THEN
    BEGIN
    SELECT code_combination_id
    INTO l_cost_of_sales_account
    FROM gl_code_combinations_kfv
    WHERE code_combination_id =
    recitem_data.cost_of_sales_account;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'COGS Account Not Setup '
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ( 'l_cost_of_sales_account'
    || l_cost_of_sales_account||'-'||l_processed_flag
    WHEN OTHERS
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'COGS Account Exception '
    || SQLERRM
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ( 'l_cost_of_sales_account'
    || l_cost_of_sales_account||'-'||l_processed_flag
    END check_cogs_account;
    END IF;
    BEGIN
    select distinct organization_code
    into l_ref_org_code
    from org_organization_definitions
    where organization_id = recitem_data.ref_organization_id ;
    EXCEPTION
    WHEN OTHERS THEN
    l_ref_org_code:= NULL;
    l_processed_flag:='F';
    l_error_message :=
    l_error_message
    || 'Reference Org Not Present'
    || p_org_id
    || ' Organization '
    || l_error_delimiter ;
    DBMS_OUTPUT.put_line ('l_ref_org_code'|| l_ref_org_code||'-'||l_processed_flag);
    END;
    BEGIN
    select concatenated_segments
    into l_ref_inventory_item_code
    from mtl_system_items_kfv
    where inventory_item_id = recitem_data.ref_inventory_item_id
    and organization_id = recitem_data.ref_organization_id ;
    EXCEPTION
    WHEN OTHERS THEN
    l_ref_inventory_item_code :=NULL;
    l_processed_flag:='F';
    l_error_message :=
    l_error_message
    || 'Reference Item Not Present'
    || p_org_id
    || ' Organization '
    || l_error_delimiter;
    DBMS_OUTPUT.put_line ('l_ref_inventory_item_code'|| l_ref_inventory_item_code||'-'||l_processed_flag);
    END;
    IF (l_master_org = 'N' AND p_load_code = 'Insert')
    THEN
    BEGIN
    SELECT count(*)
    INTO l_description_count
    FROM mtl_system_items_tl
    WHERE organization_id = l_master_org_id
    AND inventory_item_id =
    (SELECT inventory_item_id
    FROM mtl_system_items_b
    WHERE organization_id = l_master_org_id
    AND segment1 = recitem_data.segment1);
    END ;
    IF l_description_count > 0 THEN
    l_processed_flag:='F';
    l_error_message :=
    l_error_message
    || 'Item Description Not Present'
    || p_org_id
    || ' Organization '
    || l_error_delimiter;
    END IF;
    END IF;
    IF l_processed_flag = 'S'
    THEN
    BEGIN
    INSERT INTO mtl_system_items_interface
    (organization_id,
    segment1,
    description,
    ITEM_TYPE,
    COST_OF_SALES_ACCOUNT,
    SALES_ACCOUNT,
    attribute_category,
    set_process_id,
    transaction_type,
    process_flag,
    copy_organization_code,
    copy_item_number,
    creation_date,
    created_by,
    last_updated_by,
    last_update_date
    --attribute_category
    , attribute1
    , attribute2
    ,attribute3
    ,attribute4
    ,attribute5
    ,attribute6
    ,attribute7
    ,attribute8
    ,attribute9
    ,attribute10
    ,attribute11
    ,attribute12
    ,attribute13
    ,attribute14
    ,attribute15
    ,global_attribute10
    VALUES (l_organization_id,
    recitem_data.segment1,
    recitem_data.description,
    recitem_data.ITEM_TYPE,
    recitem_data.COST_OF_SALES_ACCOUNT,
    recitem_data.SALES_ACCOUNT,
    recitem_data.ATTRIBUTE_CATEGORY,
    l_set_process_id,
    l_transaction_type, --,l_transaction_type
    l_process_flag,
    l_ref_org_code,
    l_ref_inventory_item_code,
    SYSDATE, l_user_id,
    l_user_id, SYSDATE
    -- l_attribute_category
    ,recitem_data.attribute1
    ,recitem_data.attribute2
    ,recitem_data.attribute3
    ,recitem_data.attribute4
    ,recitem_data.attribute5
    ,recitem_data.attribute6
    ,recitem_data.attribute7
    , recitem_data.attribute8
    ,recitem_data.attribute9
    , recitem_data.attribute10
    ,recitem_data.attribute11
    ,recitem_data.attribute12
    ,recitem_data.attribute13
    ,recitem_data.attribute14
    ,recitem_data.attribute15
    , substr(recitem_data.global_attribute10,1,length(recitem_data.global_attribute10)-1) --recitem_data.global_attribute10
    l_insert_count := l_insert_count + 1;
    /* IF (l_insert_count = NVL (p_commit_point, 10000))
    THEN
    -- l_set_process_id := l_set_process_id + 10; -- REVERT BACK CHANGE
    l_insert_count := 0;
    END IF;
    EXCEPTION
    WHEN OTHERS
    THEN
    l_processed_flag := 'F';
    l_error_message :=
    l_error_message
    || 'Error in Inserting Item '
    || SQLERRM
    || l_error_delimiter;
    END ;
    COMMIT;
    DBMS_OUTPUT.put_line ('CheckPoint: Insertion Completed in Intfacetable');
    END IF;
    BEGIN
    UPDATE xxx_inv_system_items_stg
    SET status_flag = l_processed_flag,
    error_message = l_error_message
    WHERE segment1 = recitem_data.segment1
    AND organization_id = recitem_data.organization_id
    AND status_flag IS NULL;
    COMMIT;
    DBMS_OUTPUT.put_line ('Error Message'||l_error_message);
    EXCEPTION
    WHEN OTHERS
    THEN
    fnd_file.put_line (fnd_file.LOG,
    'Error:Updating Item:'
    || SQLCODE
    || '-'
    || SQLERRM
    END;
    END LOOP; --FOR recitem_data IN cur_item_master
    DBMS_OUTPUT.put_line ( 'Validation Ends At :'
    || TO_CHAR (SYSDATE, 'DD-MON-YYYY HH24:MI:SS')
    DBMS_OUTPUT.put_line ('Number of records inserted into Table Successfully -->'|| l_insert_count);
    END;
    END xxxx_inv_items_conv_pkg;
    Edited by: 896170 on Apr 12, 2013 11:58 PM

    Issue got solved... changed the PO line amount as:
    <?xdoxslt:set_variable($_XDOCTX,'line_amt',xdoxslt:to_number(LINE_AMOUNT))?>
    Reference :Syntax for 'to_number'
    Regards
    Manikanta Panigrahi

  • DS 3.2 BW Load: Empty records in BW

    Hi All,
    i'm using DS 3.2 an BW 7.01 SP 5. I use the RFC Sever via Management Console and the configuration and connection between both is fine. ( my source was: https://wiki.sdn.sap.com/wiki/display/BOBJ/Loading+BW)
    After running the Infopackages i get a green request in the PSA but with empty records. I've tried switching between "Compare by name or by position" in the DS Designer mapping without success. I keep the mapping easy, i've tried with just a constant or just few Fields ...
    Thanks for any information
    Honore

    Thanks,  the setting UTF-8 solved the problem.
    Thanks a lot.
    Honoré

  • Function error:  Too many records

    I have writing a function that needs to return the total count of a sql statement. It will divide two calculated columns to get an average. I have two versions. Version 1 compiled successfully and I am trying to either run it in Reports or in the database and call it. I get an error stating that the function returns too many records. I understand that is a rule for stored functions but how can I modify the code to get it return one value for each time it is called?
    Here is the main calculation. SUM(date1-date2) / (date1-date2) = Avg of Days
    version1:
    create or replace FUNCTION CALC_OVER_AGE
    RETURN NUMBER IS
    days_between NUMBER;
    days_over NUMBER;
    begin
    select (determination_dt - Filed_dt), SUM(determination_dt - Filed_dt) into days_between, days_over
    from w_all_cases_mv
    where (determination_dt - Filed_dt) > 60
    and ;
    return (days_between/days_over);
    END CALC_OVER_AGE;
    version2:
    CREATE OR REPLACE FUNCTION CALC_OVER_AGE (pCaseType VARCHAR2)
    RETURN PLS_INTEGER IS
    v_days_between W_ALL_CASES_MV.DAYS_BETWEEN%TYPE;
    v_total NUMBER;
    days_over NUMBER;
    i PLS_INTEGER;
    BEGIN
    SELECT COUNT(*)
    INTO i
    FROM tab
    WHERE case_type_cd = pCaseType
    AND determination_dt - Filed_dt > 60;
    IF i <> 0 THEN
    select SUM(determination_dt-Filed_dt), days_between
    into v_total, v_days_between
    from tab
    where determination_dt - Filed_dt > 60;
    RETURN v_total/v_days_between;
    ELSE
    RETURN 0;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN 0;
    END CALC_OVER_AGE;

    Table Structure:
    WB_CASE_NR NUMBER(10)
    RESPONDENT_TYPE_CD VARCHAR2(10)
    INV_LOCAL_CASE_NR VARCHAR2(14)
    CASE_TYPE_CD VARCHAR2(10)
    FILED_DT DATE
    FINAL_DTRMNTN_DT DATE
    REPORTING_NR VARCHAR2(7)
    INVESTIGATOR_NAME VARCHAR2(22)
    OSHA_CD VARCHAR2(5)
    FEDERAL_STATE VARCHAR2(1)
    RESPONDENT_NM VARCHAR2(100)
    DAYS_BETWEEN NUMBER
    LAST_NM VARCHAR2(20)
    FIRST_NM VARCHAR2(20)
    DETERMINATION_DT DATE
    DETERMINATION_TYPE_CD VARCHAR2(2)
    FINAL_IND_CD VARCHAR2(1)
    DESCRIPTION VARCHAR2(400)
    DETERMINATION_ID NUMBER(10)
    ALLEGATION_CD VARCHAR2(1)
    ALGDESCRIPTION VARCHAR2(50)
    Output is for Reports, I am trying to get the last calculation, which is the Average Days. The reports is grouped on Case Types and has several bucket counts for each like this.
    Case Type Count All Completed Pending Over Age Avg Days
    A 5 3 4 2 15
    Z 10 7 6 3 30
    4 8 3 5 4 22
    To get the Avg Days, the Over Age calculation is used as well as the Days Between (Determination_Dt - Filed_Dt). That is the (date1-date2) example that I gave in my first post. So the calcuation would be the SUM(Days_Between) / Days_Between.

  • ASSIGN_TYPE_CONFLICT in copy-function

    Hi,
    I'm having a problem in BSP0.
    When I execute a copy-planning function (the option "execute with trace").
    BW is giving me the message:
    "0 data records were read, 0 of them were changed, 52 generated".
    The moment I click on the "save"-button, BW throws me the error message "ASSIGN_TYPE_CONFLICT" in a GP-program.
    The copy-function is based on a "multi planning area".
    The function just copies version "#" to a variable version, and 1 planning area to another one.
    Does anyone knows what causes this problem?
    Thank you.

    Hi,
    I checked the infoobject Version, and it exist in the destination cube.
    The infoobject Version doesn't exist in the source cube, that is why we copy from "#" to variable input.
    How can I check your first proposal?
    What I found strange is that the GP-program (that gives the error) wasn't regenerated.
    How can I do that?
    The report is GP4N5NAZ6...
    Generated report: infocube write
    Template: RSTMPLWIDTP
    RSAUInfocube: name of destination cube
    Author: AAAA
    Date: ...
    Do not change this report
    The error took place in
    FORM convert_v2_dtp
    Thanks

  • Preserving Current Owner file permissions using the copy function

    I've been trying to use ARD 3's Copy function to overwrite a single user's Home folder in a classroom environment made up of a few Macs.
    This is done with the aim of refreshing the Home folder every time a class is concluded.
    However, although the Copy function works and succeeds in overwriting the Home folder, when the client is logged in locally, all the applications suffer from permission issues.
    I've tried both the; Inherit from destination folder and; (ii) Preseve current owner, file permissions in the "Set item ownership to" option of the Copy window but neither appear to work.
    I've also attempted to mirror the target user's account by creating the same account on the admin machine to push the Home folder over but the permissions remain a mess later.
    Is there a way to get around this without having to implement lengthy UNIX commands?
    I know of the existence of remote management apps, e.g. Deep Freeze (http://www.faronics.com/html/DFMac.asp), but under a budget constraint, such options are undesirable at the moment.
    PowerBook G4   Mac OS X (10.4.3)  

    Drag the photo from the iPhoto window to the desktop or export as kind = JPEG
    As to too small - what is too small?  The pixel dimensions of the exported JPEG will be identical to the original TIFF - the file size is smaller because JPEGs are compressed - which of course reduces file size - which of course is the reason that JPEG exists
    LN

  • Copy function results in Error 1430 when the target path terminal is &ltNot A Path

    Hello all.
    I'm having a little bit of trouble with the Copy function under LabView 8.2.  If I wire <Not A File> to the target path terminal, I get an Error 1430 (The path is empty or relative.) from the Copy File function's error out terminal.  According the the manual, wiring <Not a File> to the target path terminal should cause the Copy function to display a dialog box prompting the user to select a file.
    I've attached a sample VI which demonstrates this issue.  Is the documentation for the Copy function incorrect, or is something I'm doing wrong in my VI causing the error?
    Thanks,
    Mark Moss
    Attachments:
    copy.vi ‏16 KB

    Hi Mark,
    Thanks for bring this to our attention. I believe the documentation is incorrect here, as you suggested. When nothing is wired to the target path terminal, it behaves as expected (prompting the user to select a target directory).
    I will look into this further and report this issue to our LabVIEW documentation team.
    Sam
    -Sam F, DAQ Marketing Manager
    Learn about measuring temperature
    Learn how to take voltage measurements
    Learn how to measure current

  • FTPS: Writing empty files

    Hi Gurus,
    I have PROXY -> XI -> File scenario and we have to use FTPS to secure the connection.
    I have done the following steps -
    1. Imported the public key certificate from 3rd party FTP server into the Trusted CA section of the Keystore in visual Admin. The CN name in the certificate is same as the server name maintained in communication channel.
    2. In File receiver Comm channel -
          a. I have selected the connection security as FTPS for control and data connection.
          b. command order is default command order.
          c.. Use X.509 certificate is unticked and no certificate is selected.
          d. A valid user name and password entered in comm channel. (the password is correctly entered)
          e. Target directory maintained as /xxx/xxx (which is the default directory of the user)
    3. The third party server can do FTPS as I am successfully able to connect and transfer files to the directory on that server using File-Zilla tool. When I try and connect using FTPS using File-Zilla, it prompts me for the certificate and once I accept the certificate, I can see the files in the folder. I used the same user id and password in FileZilla that I have used in comm. Channel.
    When I run the scenario (we have PI7.0), its writing empty files in the folder on the target server. When checked in RWB its throwing error - Error occurred while connecting to the FTP server "xxxx.xxxx.com:21": iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier.
    If I change the target directory from the /xxx/xxx to '/' (without quotes) then no file is written and I get error - An error occurred while connecting to the FTP server 'xxx.xxx.com:21'. The FTP server returned the following error message: 'com.sap.aii.adapter.file.ftp.FTPEx: 553 Could not create file.'. For details, contact your FTP server vendor.
    The permissions for the folder are 777 and the file name is as simple as abc.xml.
    My contact on the target server is not able to help either as I am able to connect to his server using FTPS.
    Not sure whats going wrong. Any help will be appreciated.
    Thanks,
    Rahul.

    Hi Rahul,
    Try selecting the keystore and X.509 certificate that you loaded in VA, in the communication channel.
    I think you need to specify this certificate in communication channel for verification.
    Also please check Q24 of Note 821267 - FAQ: XI 3.0 / PI 7.0/ PI 7.1 File Adapter (I think you loaded the certificate to trustedCA as described in this note)
    if didnt work check your command order AUTH TSL,USER,PASS,PBSZ,PROT
    have look into this thread as well Re: FTP/SSL Connection Problem for FTP Receiver Adapter
    regards,
    francis

  • COPY function on a Multiprovider - - Not saving data

    Hi,
    Im facing a wierd problem.
    Im tryin to run the COPY function on a Multiprovider.
    I've selected 2 fields as 'To be Changed' : 0INFOPROV and 0VTYPE. and 1 KF (ZACCINS) to be copied.
    I tried to run the PF through a Planning Sequence in 'Execute with Trace  Mode'. The result of which is shown below for 1 block.
    Series  Data  ChangeInd  ValueType ZACCINS Infoprovider
    1      Before      Unchanged 10           2,000.00  ZHR_R10
    1      After         Unchanged 10           2,000.00 ZHR_R10
    2      After          New          20           2,000.00 ZHR_R20
    3      Reference Data           10           2,000.00 ZHR_R10 .
    So far so good.
    Now I clicked on Save Plan data. Now when I try to view the Contents of the Target Cube (ZHR_R20), it does not display any data.
    Just to cross check, I have created a query on the Multiprovider and tried to call the same PF through the Analyzer. On click of the button, the system displays the "NEW" rows that were generated. Now, on clicking 'SAVE AREA', the newly generated rows disappear!!
    Again to cross check, I have deleted old requests in RSA1 for ZHR_R20 and tried to execute the function again wherein a new request was generated. On changing the Request to Green(Status OK),the  Added Records and TRANSFERED RECORDS are shown as 5.( the number of records in Source cube which im trying to copy = 5 in ZHR_R10).
    Have also checked the Fact table of ZHR_R20  but could not find any entries in the table... Not sure where the problem could be !!
    Regards
    Shyam
    System info as follows:
    SAP_BW     700     0013     SAPKW70013     SAP NetWeaver BI 7.0

    Hi Ravi,
    The parameters are set propely:
    InfoProvider: Staff Costs Actual; Value Type for Reporting: Actual - From Change
    InfoProvider: Staff Costs Plan; Value Type for Reporting: Plan - To Change .
    Can you pls explain why do you think the function was not executed properly.. Iam absolutely clueless with this behaviour ... I have been tryin many number of times but in vain. The behaviour is the same. Each time I execute the PF, the Transferred records and Added records count keep on increasing .. but with no contents in the cube... .
    Rgds
    Shyam

Maybe you are looking for

  • Resolve installed Flash player not excuted for all the Vista users on my PC?

    I have a Windows Vista 32-bits system. I have created 2 admin and 2 standard users. Internet Explorer 9 (IE9) 32 bit is installed but also Chrome and Firfox are used. For 1 admin user Flash works fine when accessing a site in IE9 that requires Flash.

  • Buttons Not Active?

    Hi, after an upgrade from ERP2004 to ERP2005 I find that my BSPs are displayed (and enabled) but nothing happens when I press buttons and some MIME objects are not displayed. Have I missed something in SICF? What could be the cause of this problem? T

  • WBS system status

    Dear Experts, We cannot perform settlement due to "Asset 2000 5010000125-0 is incomplete, check the asset". What must we do so that we can proceed with the settlement? Helpful answer will be rewarded. Thanks in advance.

  • Help with some ABAP code

    I am trying to fill the quantity value if it is blank by looking for a record with the key and putting it's value in it.  the code is below but the part whee it says where order_qty > 0 is not working.  It just hops out even if it is. CLEAR: T_SCHED_

  • Updates and plugins

    Hi I am currently using cs3 and someone send me a file that I was working on and they made some minor changes.  They were also using cs3, but when I tried to open the file, I could not open.  I recieved an error that said that I did not have the plug