Urgent 100 days selective deletion & loading

Hi All,
we have some issues regarding our architecture, now we are going to stabilize our project can any one through light how to solve these issues.
Changes done for Service ticket, 100 days after the Creation date is not reflected in BW
If service ticket is changed after 100days from created date, the updated values is not available in BW at Report level for that particular service ticket.
It will be applicable for following subject areas.
     1. Service Tickets ( 100 days )
     2. Complaints ( 100 days )
     3. Document flow analysis ( 45 days )
     4. SOM Analysis ( 100 days )
Reasons for 100 days selective loading
1. Volatile characteristics
We have characteristics that will change to multiple values and many times in CRM side. E.g. Status , Accessory & category etc…..
Why no delta load to cube
If we do the delta load from ODS to cube we will get multiple records in cube level as characteristics have multiple values. ( which is the Out of the box functionality )
Business requirement is to see only latest change to transaction, and not to have the history of transaction.
Why do we do full load with deletion     
To get only latest record in report we need to have full load of cube from ODS  after deletion of cube. If we run full load from ODS to cube, the load will happen from active data table where we will be having one record per transaction which is latest one.
The old record in cube has to be deleted to avoid duplicate records in cube.
Why 100 days
If we do full load of all data from ODS to cube, it will take more time to load due to huge volume of records. Hence we load for a particular period ( ie life cycle time ).
The life cycle of service ticket normally will be with in 100 days. If its in INPORCESS it gets to CLOSED status in 10 days and then the auto close program will set the status to COMPLETED after 90 days.
Edited by: pavan kumar on Mar 25, 2008 12:19 PM
Edited by: pavan kumar on Mar 25, 2008 12:28 PM
Edited by: pavan kumar on Mar 27, 2008 3:07 PM

Hi Pavan,
This can be handled by a Design Change.
All you need to do is make a copies of the InfoCube that you are using currently and make them as
1. Cube 1 to hold Fiscal Year data for 2006.
2. Cube 2 to hold Fiscal Year data for 2007.
3. Cube 3 to hold Fiscal Year data for 2008.
(If you want to hold 3 years data and can change it as per your requirement)
Depending on your requirement you can also do this kind of physical partitioning for Calmonth or Calquarter also.
When you are loading data, you have to load only 2006 data to Cube 1 and 2007 data to Cube 2 and 2008 data to Cube 3 by controlling the load in the InfoPackage selections.
You can build a MultiProvider on top, if Business wants to report on the complete Data Set.
You can do this kind of Physical Partitioning of data like the above example and use it as the case may be.
Regards,
Tom.

Similar Messages

  • Selectively deleting load from ODS using Process Chain

    Hi All,
    I have a requirement in which I have to delete the last load of the current month if any and leave the load of the last month untouched which has to be done using process chain.
    I will try to elaborate the condition required like say we have a data for June in the ODS already (date 10) and when the load for July will come it will not touch the June data but on 2 July the load of first July will be deleted without touching the load from June 10. (The PC will run for the first 10 days of the month).
    How can this be implemented, There seems to be some FM for this but are there any other method by which the same can be implemented without much use of ABAP.
    Any relevant suggestion would be awarded points
    Regards,
    Samved

    Hi Bhanu,
    Thanks for the reply.
    I tried to generate the program but that can be used for selective deletion from the ODS i think soo.
    But my requirement is basically to delete the complete request from the ODS and not any selective deletion and at the same time I cannot use the complete deletion option as that will delete the request from the last month also.
    Are there any optioin at the level of Info package which can be used for these type of deletion.
    Regards,
    Samved

  • Selective Deletion and Data Load from Setup Tables for LIS Extractor

    Hi All,
    We came across a situation where one of the delta in PSA was missed to load in DSO. This DSO updates another cube in the flow. Since it has been many days since this miss come in our knowledge we need to selectively delete data for those documents from DSO & Cube and then take a full load for the Documents filling the setup table.
    Now what will be the right approach to load this data from setup table > DSO > cube. There is change log present for those documents and a few KPI's in DSO are in summation mode.
    Regards
    Jitendra

    thanks Ajeet!!!!
    This is Sales Order extractor, the data got loaded to ODS just fine, but since the data is coming to ODS from different extractor. Everything is fine in ODS, but not in the cube. Will Full repair request and Full load would it make difference when the data is going to cube? I thought that it would matter only if I am loading to ODS.
    what do you mean "Even if you do a full load without any selections you should do a full repair ".
    thanks.
    W

  • Selective Deletion Before Data Load

    Hi Experts - I need to do the data load into Oracle data Warehouse. Before loading data , I need to do some selective deletion from the target table.
    In the source dataset I have a date column where I have Max and Min Date . I need to delete the data from the target laying between this Min and Max date.
    Any Idea how to do this selective deletion.
    Thanks
    R

    Create a workflow, and declare two local variables, $DateMin and $DateMax, of either date or datetime datatypes, as appropriate.  Create a script:
    $DateMin = sql('DS','select min([datetime field]) from [incoming table]');
    $DateMax = sql('DS','select min([datetime field]) from [incoming table]');
    Add a dataflow to your workflow, and connect it downstream of the script.  Add two parameters to the dataflow -- let's say you call them $P_DateMin and $P_DateMax. Back in your workflow, in the "Calls" tab of the Variables & Parameters window, set the mapping of the two dataflow input parameters to your two local workflow variables.
    In your dataflow: perform a selection of the primary key (the column(s) which constitute the pk) of your target table, filtering on your two input parameter values ($P_DateMin and $P_DateMax.  If you want to be on the safe side in terms of preventing blocking issues, send these records into a Data Transfer transform (file preferred, but up to you). Then, downstream from the Data Transfer transform, send the records into a Map Operation transform, mapping 'Normal' to 'Delete'. Then, simply send them into your target table.
    You could, of course, just write a SQL script to delete the records, but those are to be avoided as breaking lineage & impact chains.
    If all your date or datetime stamp fields on your target table are "whole" dates, with no time portion, and you have a smallish number of dates between your min. and max. dates, and you have a large number of records to delete between those dates, and your target table has an index on the date stamp column, then another approach would be to generate records, one per day, using a Date Generation transform, still making use of your two dataflow parameters. You'd declare the date field so generated to be the (false) primary key, map the records to deletes w/ the Map Operation transform, and then send them into your target, with the "Use input keys" option selected.

  • How to go for selective deletion if the request is rolled up???.. URGENT!!!

    hi all,
    we a have a data target which was compressed and rolled up...
    please do suggest us how to go for selective deletion  if the data target was rolled up???
    on what basis we need to do the selective deletion ??
    thanks for ur understanding...
    suggestions would be highly rewarded
    regards
    Prince

    Hi,
    in the subsequent datatargets of your ODS:
    if the requests are only rolled up, then you can delete those requests; now if your aggregates are collapsed then you'll have to dactivate them and reactivate them after. If not you can simply delete them.
    then delete all the requests from your ODS up to the request right after the missing one. This will deactivate you ODS delta init. This is not a problem since when you'll have finished with the above your ODS and subsequent targets will have a consistent status in terms of data.
    Reinit your ODS delta without datatransfer, reconstruct your missing request and the subsequent requests in your ODS.
    Reactivate them (not all together as a single activation, but separately).
    Then load the delta into your subsequent targets.
    Now if the subsequent datatargets are collapsed then you'll have to either reinit with full load or selective delete them. the missing request in your ODS still must be reloaded before!
    If you go for selective deletion you'll have to find the right selection criteria based on the data of your ODS. For instance if you can ensure that only a selected period is incorrect (all the ODS requests from the missing one to the last only contain data for JAN08) then you can selectively delete JAN08 from your subseq targets and perform a FULL load selecting JAN08 from your ODS.
    Then perform an INIT without data transfer... you can then continue your deltas as usual....
    hope this helps....
    Olivier.

  • No Selective Deletion on Inventory Cube 0IC_C03 via Calendar Day

    Hi,
    I need to repair my Inventory Cube <b>0IC_C03</b> for a certain date. To do that, I need to perform a <i><b>Selective Deletion</b></i> on the Cube and perform a <b>FULL REPAIR REQUEST</b> limited on that day only.
    But to my surprise, I could not find a Calendar Day entry in the "<i>DeletionSelection</i>".
    Is there a workaround or do I need to switch on anything?
    --Jkyle

    Hi Roberto,
    You are too humble! Everybody knows you are the <b>ONE</b>
    (he heh from the <b>MATRIX</b> movie)
    Anyway, I dont think Export Datasource would help. As you may know, Inventory Cube <b>0IC_C03</b> uses 2LIS_03_BX and 2LIS_03_BF data sources. This <b>CUBE</b> is somehow special.
    To cut this problem short, I'll go straight to the point. <i>How could I perform INIT via 2LIS_03_BX and 2LIS_03_BF w/o R/3 downtime at all</i>? The reason I came to this <i>Selective Deletion</i> thing is to patch up the mess the INIT would introduce when there are users around by using a REPAIR FULL REQUEST only for that single day...
    I hope you get what I mean...
    Thanks!
    --Jkyle

  • Selective Deletion on Inventory Cube 0IC_C03 via Calendar Day

    Hello Group
    I am trying to do a selective delete to our inventory cube 0IC_C03 and found there is not an option to select day.
    Does anyone have any thoughts on how do delete using day? Please note that my cube has been compressed and I do not have a request in the cube.
    Thanks
    Frank

    Hi Frank,
    REPORT  ZRSDRD_SEL_DELETION                     .
    DATA:
        l_thx_sel   TYPE rsdrd_thx_sel,
        l_sx_sel    TYPE LINE OF rsdrd_thx_sel,
        l_s_range   LIKE rsdrd_s_range,
        l_t_range   TYPE rsdrd_t_range,
        l_t_msg     TYPE rs_t_msg.
    ******************* 0CALDAY *****************
    l_s_range-sign   = 'I'.
    l_s_range-option = 'EQ'.
    l_s_range-low    = '20030308'.
    *l_s_range-high   = .
    l_s_range-keyfl  = 'X'.
    APPEND l_s_range TO l_t_range.
    l_sx_sel-iobjnm   = '0CALDAY'.
    l_sx_sel-t_range  = l_t_range[].
    INSERT l_sx_sel INTO TABLE l_thx_sel.
    CLEAR l_s_range.
    REFRESH l_t_range.
    ************** 0PLANT **********************
    l_s_range-sign   = 'I'.
    l_s_range-option = 'EQ'.
    l_s_range-low    = 'PLNT'.
    *l_s_range-high   = .
    l_s_range-keyfl  = 'X'.
    APPEND l_s_range TO l_t_range.
    l_sx_sel-iobjnm   = '0PLANT'.
    l_sx_sel-t_range  = l_t_range[].
    INSERT l_sx_sel INTO TABLE l_thx_sel.
    CLEAR l_s_range.
    REFRESH l_t_range.
    ************** 0MATERIAL ****************
    l_s_range-sign   = 'I'.
    l_s_range-option = 'EQ'.
    l_s_range-low    = 'MATERIAL'.
    *l_s_range-high   = .
    l_s_range-keyfl  = 'X'.
    APPEND l_s_range TO l_t_range.
    l_sx_sel-iobjnm   = '0MATERIAL'.
    l_sx_sel-t_range  = l_t_range[].
    INSERT l_sx_sel INTO TABLE l_thx_sel.
    CLEAR l_s_range.
    REFRESH l_t_range.
    CALL FUNCTION 'RSDRD_SEL_DELETION'
         EXPORTING
              I_DATATARGET      = 'ZICRT_C37'
              I_THX_SEL         = L_THX_SEL
              I_AUTHORITY_CHECK = 'X'
              I_THRESHOLD       = '1.0000E-01'
              I_MODE            = 'C'
              I_NO_LOGGING      = ''
              I_PARALLEL_DEGREE = 1
              I_NO_COMMIT       = ''
         CHANGING
              C_T_MSG             = L_T_MSG.

  • Dynamic selective deletion of last working day in cube

    Hi experts
    I have studied this document:
    http://scn.sap.com/community/data-warehousing/netweaver-bw/blog/2013/08/06/selective-deletion-in-process-chain
    We need to delete each month at the 6th working day all records of the last working day of the previous month.
    Thereafter we will have to reload the last working day of the previous month again.
    This means there are 2 steps to do:
    1. step:
    create program as described in the link above; this z-program will be used in process chain variant.
    2. step:
    ABAP variable in infopackage which will reload the last working day of previous month.
    Do you have the correct coding samples for both steps available?
    Thanks.

    Hi Thomas,
    I just realized that you should use LT_THX_SEL instead of L_THX_SEL. I corrected your code as:
    REPORT GP00733D41Q8YF4PERY61Y1HNAP .
    TYPE-POOLS: RSDRD, RSDQ, RSSG.
    DATA:
      L_UID       TYPE RSSG_UNI_IDC25,
      L_T_MSG     TYPE RS_T_MSG,
      L_THX_SEL   TYPE RSDRD_THX_SEL.
      L_UID = '00733D41Q8YF4PERYNZWX2EY9'.
      IMPORT I_THX_SEL TO L_THX_SEL
        FROM DATABASE RSDRBATCHPARA(DE) ID L_UID.
    *  DELETE FROM DATABASE RSDRBATCHPARA(DE) ID L_UID.
      data: wa_tab type RSDRD_S_RANGE.
    data: lt_tab type RSDRD_T_RANGE.
    wa_tab-sign = 'I'.
    wa_tab-option = 'EQ'.
    wa_tab-keyfl = 'X'.
    wa_tab-low = '20140101'.
    append wa_tab to lt_tab.
    clear l_thx_sel.
    LT_THX_SEL-IOBJNM = '0CALDAY'.
    LT_THX_SEL-TRANGE[] = LT_TAB[].
    INSERT LT_THX_SEL into table L_THX_SEL.
      CALL FUNCTION 'RSDRD_SEL_DELETION'
           EXPORTING
                I_DATATARGET      = 'ZCFM_C11'
                I_THX_SEL         = L_THX_SEL
                I_AUTHORITY_CHECK = 'X'
                I_THRESHOLD            = '1.0000E-01'
                I_MODE                 = 'C'
                I_NO_LOGGING           = ''
                I_PARALLEL_DEGREE      = 0
                I_NO_COMMIT            = ''
                I_WORK_ON_PARTITIONS   = ''
                I_REBUILD_BIA           = ''
                I_WRITE_APPLICATION_LOG   = 'X'
           CHANGING
                C_T_MSG                     = L_T_MSG.
      export l_t_msg to memory id sy-repid.
      UPDATE RSDRBATCHREP
        SET  DELETEABLE = 'X'
    I hope that will be the final solution Thomas.
    Regards
    Yasemin...

  • Selective deletion for Inventory Load

    Hi Guru's
    I have done loading for Inventory cube 0IC_C03 using the 2LIS_03_BF with Delta load and made mistake in last delta load Compression(No Marker Update).. till July 2011 the Data is fine for our report for calculating the TOTAL QUNATITY STOCK..  so we planned to done the selective deletion for August 2011 to till date.. but we cant find the Time Characteristics in selection to done Selective deletion. Please share your valuable ideas...
    Thanks,
    Satish.M.R

    Hi,
    You can delete all the requests from the cube which have been updated from 1st of August onwards.
    Just go to the MANAGE screen of the cube and select all the requests which are loaded from 1st of August onwards and delete all of them.
    Navesh
    Edited by: navsamol on Oct 6, 2011 7:00 AM

  • Selective deletion on info cube taking long time.

    We have a cube with line item dimension and partioned on Fiscal year. When we are doing selective deletions on the cube on 0fiscper (removing the old redundant data) it is taking quite long time (approx 10 hours) to do this selective deletions as there is huge data in the E fact table ,Request older than 4 days are compressed in the cube and it has some millions of records in this table.
    Is there any way we can improve the performance of this selective deletion? Any improvements suggestions we are on sap BW 3.5 system.

    Hi,
    The issue is very specific .
    I recommend to check if there are defined matching indexes which fit to the where clauses of the delete statements. This will make the access to the record most effient.
    All other indexes need to be just deleted for the time-being and re-created after the clean is completed. This will save the time for updating the indexes.
    The deletes should be performed in bulks - i.e. many, e.g. 25, 100, more at once. If deletes sqls are send from ABAP to database one by one there is huge overhead in the network traffic time.
    Best Regards,
    Sylvia

  • Photoshop file corruption (selections deleted from layers)

    I was working on 5 photoshop files today. Photoshop stared previewing one of the files very oddly (when you zoomed in nothing was there).
    I saved all open files and quit Photoshop.
    Upon opening Photoshop all files had random selections deleted from the layers (please see attached)
    I have basically lost a full days work.
    has anyone had anything similar??
    Photoshop CS5 version 12.0.2

    Yes, I have this corruption issue as well. For me, it is not reproducable (no specific action causes it that I have found), and intermittant (happens inconsistently but not infrequently, maybe once or twice a month out of hundreds of files and working hours). It seems like it more often happens in layer masks first, but once the corruption starts, it shows in layer image data as well. Often it looks blocky like you are seeing, and also as you mention, cached zoom levels don't show the corruption.
    I hesitate to call it corruption, but it seems to be the case—once it shows up in an open file, going back in history does NOT undo the corruption, and if you save, your image is screwed. Only way to avoid losing lots of work is to save often and close without saving when you notice corrution, then go back to where you were last time you saved. I have noticed that once you see corruption, you have to re-launch PS even if you close and re-open the file. Otherwise additional corruption will happen almost immediately.
    It smells like a RAM related issue, but it's the ONLY issue I have on any of the workstations I use where I've noticed the PS corruption issue, so if it's RAM corruption then it's something PS and only PS does to my RAM. I do a lot of heavy processing with large files, so if I had any bad RAM, I'm pretty sure I'd have noticed by now.
    I'm working on files over a local network (nearly always, all day every day). I've had the issue on multiple Macs, multiple OS versions, multiple versions of PS (since CS3, it seems like.) I do use more levels of undo that default but well within available range (100 undos--PS allows up to 1000). And my History & Cache settings are default.
    I'm glad to hear I'm not the only person with this issue. It would be nice to see it fixed.

  • Selective deletion and repair full request!!!

    Hi,
    I have one DSO which is receiving deltas from Std extractor and is also serving deltas to many data targets (Both DSO and Infocubes)
    Now there comes the need of deleting data in DSO by means of year ( selective deletion )
    I know that i need to adjust the data flow from DSO to other data targets myself!!
    So after doing selective deletion in DSO, can i update datatargets ( of 3.5 version ) with full update so that data is adjusted in correct format for the subsequnet data targets?
    or is there any better option??

    Hi Sujith,
    Difference between Repair Full and  Full Load ;
    1. When we want to pull the history data from the source system(SAP R/3) for the first time till yesterday and trigger / enable the Delta load.
    For Eg; for your client,when the implantation was done ,when the GO Live started, all the history data(sales,Material,Finance etc) would have pulled from the source systems into BW system and enabled the delta load from next day.
    Note: In this scenario ,We use Full Load only for the one time.
    2. In most of the scenarios we will use Full Load for the master data (Daily Load). In few scenarios we will use Full Load for the transaction Data Loads. For Eg: in case if there are no changes happening in transaction data daily (like sales data) ,then we go for Full Load for transaction Data Load also.
    3. If someone has deleted the data in the data target by mistake which was loaded using 'Full Load' ,then we can go for re-loading the lost data using the same normal 'Full Load' option. In this case if you are using a DSO in between PSA and Infocube then if you don't use the selection parameters(Company Code,Profit Center, Sales Organization etc) for the lost data ,then also it's fine. Because DSO has overwrite option. In case ,if you don't have DSO,then you have to use the selection parameters on infopackage/DTP level depending on from which level you are trying to get the data back. i.e Source System or PSA.
    4. We have scenario where the data which was loaded using DELTA load has been deleted from the data target, OR due to DELTA load failure the data didn't get loaded into the data target. Now,we want to get the lost DELTA data back into the target. In this case we can go for using both 'Repair Full' and also 'Full Load'. but depends on the below conditions;
    If we want to use 'Full Load' to get the lost DELTA data,then we should block the users in source system(SAP R/3) from posting the data,and clean up the delta queue . Then stopping the daily process chain in BW system which will bring the DELTA data. Then we can use' Full Load' option.
    But, If we don't want to disturb the daily DELTA load and if we don't want to block the users in source system, then we should use 'Repiar Full Request". Using this option, the daily DELTA load will not get affected.
    Please let me know you are clear with my points.
    Regards,
    Asha

  • How to do a infocube selective deletion in a process chain ?

    Hi all,
    I encounter a little diffculty : I have a process chain that allow me to load daily R/3 datas into a BW/APO infocube, that works perfectly. The problem is that the volume of datas naturally keeps on growing, so I'd want to create a new step in the process chain, that would allow to make selective deletion in the cube.
    For example, after every data loading in the infocube, datas of the cube that are dating of more than x days  should be removed. I just can't find a process that allows me to do that, but only"complete deletion of data target contents", or "delete overlapping requests from infocube".
    I'm quite sure there's an easy way to do that but.... Anyone go an idea please ?
    Many thanks !
    Fabrice

    Hi Fabrice,
                          To my knowledge, there is no standard process type in process chian that can do this. You can include a program that can delete the old records. I am sure it is a simple login in it. You can do selective deletion in infocube manually but I wish we have a variant that can be created at this screen and refer in a process type. But at this time, I see only the program as solution.

  • Selective deletion based on Calendar Year/Month in process chains

    Hi all,
    I have a requirement from the business wherein I have to delete the past months data before I load the same data into 6 infocubes using a process chain.
    I checked the forums to understand how selective deletion is used in a process chain and I have come to know that RSDRD_DELETE_FACTS program or DELETE_FACTS Tcode can be used to generata a G* program that performs the deletion.
    I am to integrate this generated program in my process chain. I have 0CALMONTH(Calendar Year/Month) as the time characteristic in all my infocubes and therefore the only time characteristic available for selective deletion.
    My problem is that I am unable to create a dynamic selection for the Calendar Year/Month such that it takes the previous month.To be exact I am unable to use the "D" option in the Selection Variable column for this characteristic.
    Please can somebody help me out with this.

    Hi,
    Use this ABAP program code in your Process Chain...
    Type Pools
        TYPE-POOLS: rsdrd, rsdq, rssg.
    Local Internal Tables
        DATA: lit_msg     TYPE rs_t_msg,
                    lit_sel     TYPE rsdrd_thx_sel.
    Local Work Area
        DATA : lwa_sel_kf1     TYPE rsdrd_sx_sel,
                   lwa_range_kf1  TYPE rsdrd_s_range.
    Local Constants
        CONSTANTS :    lc_i(1)      TYPE c  VALUE 'I',
                                 lc_x(1)      TYPE c  VALUE 'X',
                                 lc_eq(2)     TYPE c  VALUE 'EQ',
                                 lc_kf1(11)   TYPE c  VALUE '0CALMONTH'.
        CONSTANTS :   lc_cube      TYPE rsddatatarget VALUE 'Z_C21'.
    Delete Existing cube records
    Key Field 1 (CALMONTH)
          lwa_range_kf1-sign    = lc_i.
          lwa_range_kf1-option  = lc_eq.
          lwa_range_kf1-high    = space.
          lwa_range_kf1-keyfl   = lc_x.
          lwa_range_kf1-low     = <Value of CALMONTH>.
          APPEND lwa_range_kf1 TO lwa_sel_kf1-t_range.
          CLEAR  lwa_range_kf1.
           lwa_sel_kf1-iobjnm = lc_kf1.
          INSERT lwa_sel_kf1 INTO TABLE lit_sel.
          CLEAR : lwa_sel_kf1.
    Selective Deletion through FM
          CALL FUNCTION 'RSDRD_SEL_DELETION'
            EXPORTING
              i_datatarget      = lc_cube
              i_thx_sel         = lit_sel
              i_authority_check = space
              i_mode            = lc_c
              i_no_enqueue      = lc_x
            CHANGING
              c_t_msg           = lit_msg
            EXCEPTIONS
              x_message         = 1
              inherited_error   = 2
              invalid_type      = 3
              OTHERS            = 4.
          IF sy-subrc = 0.
            REFRESH : lit_sel[],
                      lit_msg[].
          ENDIF.
    Thanks,
    Saru

  • How to make a selective deletion in my desktop!

    Hy guys!
    There are any application to make a selective deletions of files and folders?
    Each end of day i need to delete all files present in my Desktop, except the folders setted to be kept.

    You need to use some sort of criterion. Many exist, including:
    tell application "Finder"
    delete (every file of desktop whose name is not in {"file 1 to keep.txt", "file 2 to keep.jpg"})
    end tell
    No folders will be deleted by the script as written.
    (75632)

Maybe you are looking for