Error during loading and deletion of write-optimized DSO

Hey guys,
I am using a write optimized DSO ZMYDSO to store data from several sources (two datasources and one DSO).
I have disabled the check of uniqueness in the DSO, but I defined a semantic key for the fields ZCLIENT, ZGUID, ZSOURCE, ZPOSID which are used in a non-unique index.
In the given case, I want to delete existing rows in the DSO. I execute these steps in the endroutine. Here the abstract coding:
LOOP AT RESULT_PACKAGE ASSINING <RESULT_FIELDS>.
u201Csome other logic [u2026]
DELETE /BIC/AZMYDSO00
WHERE /BIC/ZCLIENT = RESULT_FIELDS-/BIC/ZCLIENT
     AND /BIC/ZGUID = RESULT_FIELDS-/BIC/ZGUID
AND /BIC/ZSOURCE = RESULT_FIELDS-/BIC/ZSOURCE
AND /BIC/ZPOSID = RESULT_FIELDS-/BIC/ ZPOSID.
ENDLOOP.
COMMIT WORK AND WAIT.
During the Loading (after the transformation step in the updating step), I get the messages (not every time):
1.     Error while writing the data. (RSAODS131)
2.     Could not Save DataPackage xy in DataStore ZMYDSO (RSODSO_UPDATE027).
Diagnosis: DataPackage XY could not be saved. Reasons therefore could be violation of key uniqueness (duplicate data) or general database error.
3.     Error in the substep of updating DataStore.
I have checked the system log (SM21) and the system dumps (ST22) but I could not find an exact error description.
I guess, I am creating some inconsistencies or locks (I also checked the SM12) so that the load process interrupts. But I also tried a serial updating within the DTP (I reduced the number of batch processes to 1). No success.
Perhaps the loading of one specific package could take a longer time so that the following package would overtake the predecessor. Could that be a problem? Do you generally advise against the deletion of rows within the endroutine?
Regards,
Philipp

Hi,
is ZMYDSO the name of the DSO?
And is this the end routine of the transformation while loading the same DSO?
if so we never do such a thing.
you are comparing the DSO with the data that is flowing in and then deleting the data from the DSO...
Which doesnt actually make any sense... because when loading the data to a DSO (or a cube or any table) the DSO (or cube) will be locked exclusively for any modifications of data. You can only read data from it.
If your requirement is that existing duplicate records need not arrive in the DSO then you can delete the data from the SOURCE_PACKAGE in the start routine like below
SELECT FIELDS FROM /BIC/AZMYDSO00 INTO INTERNAL_TABLE WHERE <CONDITION>.
LOOP AT INTERNAL_TABLE.
   DELETE SOURCE_PACKAGE
  WHERE SOURCE_PACKAGE-/BIC/ZCLIENT = INTERNAL_TABLE-/BIC/ZCLIENT
     AND SOURCE_PACKAGE-/BIC/ZGUID = INTERNAL_TABLE-/BIC/ZGUID
  AND SOURCE_PACKAGE-/BIC/ZSOURCE = INTERNAL_TABLE-/BIC/ZSOURCE
  AND SOURCE_PACKAGE-/BIC/ZPOSID = INTERNAL_TABLE-/BIC/ ZPOSID.
ENDLOOP.
or if your requirement is that you need to delete the old data from the DSO for the same key which is arriving newly in order to load the new data into the DSO in that case, you could do something like this in the start routine
SELECT FIELDS FROM /BIC/AZMYDSO00 INTO INTERNAL_TABLE FOR ALL ENTRIES IN SOURCE_PACKAGE
WHERE /BIC/ZCLIENT = SOURCE_PACKAGE-/BIC/ZCLIENT
     AND /BIC/ZGUID = SOURCE_PACKAGE-/BIC/ZGUID
AND /BIC/ZSOURCE = SOURCE_PACKAGE-/BIC/ZSOURCE
AND /BIC/ZPOSID = SOURCE_PACKAGE-/BIC/ ZPOSID.
* now update the new values you want to write in the loop
LOOP AT INTERNAL_TABLE INTO WORK_AREA.
"CODE FOR MANIPULATION of WORK_AREA
*write a modify statement to update the RESULT_PACKAGE.
MODIFY RESULT_PACKAGE FROM WORK_AREA TRANSPORTING FIELDS.
ENDLOOP.
hope it helps,
Regards,
Joe

Similar Messages

  • Multiple data loads in PSA with write optimized DSO objects

    Dear all,
    Could someone tell me how to deal with this situation?
    We are using write optimized DSO objects in our staging area. These DSO are filled with full loads from a BOB SAP environment.
    The content of these DSO u2013objects are deleted before loading, but we would like to keep the data in the PSA for error tracking and solving. This also provides the opportunity to see what are the differences between two data loads.
    For the normal operation the most recent package in the PSA should be loaded into these DSO-objects (as normal data staging in BW 3.5 and before) .
    As far as we can see, it is not possible to load only the most recent data into the staging layer. This will cause duplicate record errors when there are more data loads in the PSA.
    We all ready tried the functionality in the DTP with u201Call new records, but that only loads the oldest data package and is not processing the new PSA loads.
    Does any of you have a solution for this?
    Thanks in advance.
    Harald

    Hi Ajax,
    I did think about this, but it is more a work around. Call me naive but it should be working as it did in BW3.5!
    The proposed solution will ask a lot of maintenance afterwards. Beside that you also get a problem with changing PSA id's after the have been changed. If you use the posibility to delete the content of a PSA table via the process chain, it will fail when the datasourcese is changed due to a newly generated PSA table ID.
    Regards,
    Harald

  • Request Deletion from Write-optimized DSO

    Hello,
    With the new Write-optimized technology, it is possible to delete manually "older" requests from the W-O DSO.
    Could anyone of you think of an automated process to delete "old" requests from a W-O DSO (not the entire content , the most recent should still be available.
    For instance : delete everyday the request older than 7 days.
    Already checked solutions :
    - Selective deletion at the administration level of the DSO -> cannot be repeatedly scheduled
    - Copying the Selective Deletion generated program to make one's own program and schedule it (system cannot "remember" the generated program)
    - Diverse SAP Function Module -> do not work for this scenario (like RSSM_DELETE_REQUEST, only for cubes, RSSM_PROCESS_REQUDEL_ODSO or    RSSM_DELETE_REQUEST, where you need to specify the Request number
    - We do not want to include a delete job in a routine at the Transformation level.
    - We do not want to complicate the Data Model by creating a new intermediate DSO allowing to flush the DSO at each load..
    Any other ideas??
    We are on Version 7.0, SP 13.
    Many thanks!
    amanda

    Hi ,
    We have worked on similar business requirement .We wrote a report program in SE38 and running it via a process chain .
    If you want i can help you to write code for same .
    It will be a two step process :
    1.deleting request from RSICCONT so that it get deleted from manage tab.
    2.deleting data from active table of that WDSO .
    Code for Program :
    data  :v_time  type c length 17,
              v_date like sy-datum .
    ( N) = 7  put no of days here before which you want to delete records
    v_date = sy-datum.
    subtract 7 from v_date.
    concatenate  v_date   sy-uzeit  into v_time.
    delete from  rsiccont where icube = wdso_name and timestamp LT v_time .
    delete from  wdso_active_table_name where rstt_tsmp LT v_time.
    It will do your work .
    Regards ,
    Jaya

  • Unable to delete request from write-optimized DSO (Error during rollback)

    Hi Gurus,
    I am trying to delete a delta request from a Write-Optimized DSO. This request was uploaded with a DTP from another Write-optimized DSO.
    The actual overall status of the request is RED and the description of that status is now: 'Error during rollback of request DTPR_4JW6NLSVDUNYY3GTD6F4DQJWR; only rollback allowed'.
    I checked the log of all Request Operations in DataStore (from the same line where the red request is now) and I see my several attemps to delete this request under a RED radiobutton with the title Rollback.  The details for this error are the following:
    Could not delete request data from active table
    Message no. RSODSO_ROLLBACK114
    Diagnosis
    The system could not delete the request data from the active table of a write-optimized DataStore object.
    System Response
    Write-optimized DataStore object: DTFISO02
    Active table: /BIC/ADTFISO0200
    Request: DTPR_4JW6NLSVDUNYY3GTD6F4DQJWR
    Procedure
    Search for Notes containing the key words "Delete write-optimized DSO PSA"
    I am relatively new to SAP BI 7.0 and I do not know how to delete this request.  Any help will be highly appreciated !!
    Leticia

    Hi Leticia:
    Take a look at the SAP Notes below.
    Note 1111065 - "701: Delta consistency check for write-optimized DSOs"
    Note 1263877 - "70SP20: Delta consistency check for write-optimized DSOs"
    Note 1125025 - "P17:PSA:DSO:ODSR missing in PSA process for write-opt. DSO"
    Additionally, some ideas from the alternative presented on the blog by KMR might help you.
    "How to generate a selective deletion program for info provider"
    Regards,
    Francisco Mílán.

  • Duplicate Error while loading data to Write Optimized DSO

    Hi,
    When i do a dataload for Write Optimized DSO, I am getting an Error as "Duplicate Data Record Detected".  I have Sales Document Number, Fiscal Year Variant & Billing Item as Semantic Key in the DSO. 
    For this DSO, I am getting data from a Test ECC system, in which most of the Sales Document Number column is Blank for this Datasource.
    When i go into the Error Stack of the DSO, all the rows whichever has Sales Document number as Blank are displayed.  For all this rows, the Item Number is 10.
    Am i getting this Duplicate error as the Sales Document Number is Blank & Item number is 10 for all of them?  I read in Threads that Write Optimized DSO doesnt care about the Key Values, it loads the data even if the Key values are same.
    Any help is highly appreciated.
    Regards,
    Murali

    Hi Murali,
    Is the Item Number a key field ?
    When all the key fields are same then data gets aggreagted depending on the setting done in the transformation for the key figures. These 2 options for key figures are :
    1. Add up the key figures
    2. Replace the key figure
    Since the Sales Document No is blank and Item Number is same then their is a possibility that the key figures for these records might get added up or replaced and thus due to this property of SDSO it might not be throwing error.
    Check the KF value in the SDSO for that Sales Doc No and Item No. and try to find out what is the value for KF. It may have addition of all the common data fields or the KF value of last common record.
    Regards
    Raj Rai

  • Error while deleting data from a write optimized DSO using a Process Chain?

    Dear Bwers,
    I am facing a strange error while using process chains to delete data from data target which is a write optimized DSO. The process shows as failed but the data gets deleted in the DSO. The error message is as below. Did anybody have a similar problem? Any suggestions.
    Thanks
    Raj
    Error while deleting content of InfoCube/DataStore object ZLSD_G03
    Message no. RSDODSO153

    Please, check if you get any short dump in ST22 related to this issue.

  • Unable to delete data target contents of Write-Optimized DSO in Process Chain

    Hi Experts,
    We are using SAP Net Weaver BW 7.01 version and we need to delete the entire data target contents of Write-Optimized DSO in the process chain before the next data load.
    I included this step in process chain but still it is failing with errore message"Message not found (in main memory), Drop Cube Failed In Data Target"
    This process type is working during BW 7.0 version but not in BW 7.01 version.
    However i found that we can use the program RSSM_DELETE_WO_DSO_REQUESTS to delete old requests in the Write-Optimized DSO for BW 7.01 SP07 as per SAP Note 1437407 but still it's not working even after implementing this program as the Prerequisite to delete the request is the data mart status should be updated where it is not happening for the program.
    We had an process type option to 'delete the requests from Write-Optimized DSO' directly in BW 7.3 but still not available in 7.01 version.
    Could you please suggest me on how to resolve this issue in BW 7.01?
    Many thanks for your help in advance.
    Regards,
    Madhu

    Create ABAP program as attached code.
    Then you can use that ABAP program in process chains through ABAP variant
    ABAP varaint should have following properties
    Select call mode as Synchronous; call from Local; and Program
    Give your ABAP program name in "program name" and create one program variant for each write optimized DSO.
    Please refer how to use ABAP program in process chains for further details.
    Hope this helps

  • Problem loading data into write optimized dso.....

    Hi ,
    I am having problem loading the data from PSA to write optimised DSO
    I have changed the normal DSO into a Write Optimised DSO. I have 2 data sources to be loaded into the write optimized DSO. One for Demand and one for Inventory.
    The loading of Demand data from PSA to DSO happens fine with out any error.
    Now while loading the Inventory data from PSA to DSO , i get the below errors
    "Data Structures were changed. Start Transaction before hand"
    Execption CX_RS_FAILED Logged
    I have tried reactivating the DSO, Transformation, DTP and tried to load the data again to the write optimised DSO, but no luck, I get the above error message always.
    Can some one please suggest me what could be done to avoid the above error messages and load the data successfully.
    Thanks in advance.

    Hi,
    Check the transformations is there any routines written.
    Check your Data struture of cube and DS as well.
    Is there any changes in structure.
    Data will load upto PSA normally, if is there any changes in struture of DSO, then the error may occur.just check it.
    Check the below blog:
    /people/martin.mouilpadeti/blog/2007/08/24/sap-netweaver-70-bi-new-datastore-write-optimized-dso
    Let us know status.........
    Reg
    Pra

  • Load Data with 7.0 DataSource from Falt file to Write Optimized DSO

    Hi all,
    we have a problem loading data from flat file using the 7.0 datasource.
    We have to load a flat file (monthly) into a WO DSO. The infopackage load file in full mode into the Datasource (PSA) and the DTP Load in delta mode data from datasource into the WO DSO.
    When i load the second file in the Datasource, the DTP load all data present in the Datasource and not only the new one as aspected using Delta mode.
    Has anyone any tips to help me?
    Thank you for help.
    Regards
    Emiliano

    Hi,
    Iam facing the similar problem.
    Iam using Write Optimized DSO and i have got only 1 req in PSA (have deleted all previous req from PSA and DSO).
    When iam doing a delta load from PSA to DSO, i expect to see only that 1 req to get loaded into DSO.
    But, its picking up the data from 3 other reqests and doubling the records...
    Can you please help me, how did you managed to get out of that isue?
    Cheers,
    Nisha

  • Write optimized dso - Stand DSO loading by Delta Req by req is not working

    Hi All,
    We have a data flow which has 1st layer having write optimized dso and then we are loading data to Standard DSO.
    We are using Delta DTP to load the data with the option "Get All New Data Request By Request", but it is not working.
    Suppose if  i have 2 requests which are need to update to Standard Dso from Write Optimized Dso, it is updating in single request. We are on SAP BW 701 patch level is 005.
    Please suggest me ....

    Hi Prasanna,
    For reasons of downward compatibility, the system behaves differently for DTPs that were created before "SAP NetWeaver 7.0 Support Package Stack 13"
    DTPs for which the indicator is set only get the first new request, even if there is more than one new source request at the time of processing. This restricts the way in which these DTPs can be used in process chains, because requests accumulate in the source and the target may not contain the current data. The Retrieve Until No More New Data indicator is therefore displayed for these DTPs.
    I Suggest you to set this indicator and activate the DTP.
    If you set the Retrieve Until No More New Data indicator and then activate the DTP, once it completes processing, a DTP request checks whether there are any further requests in the source. If the source contains more requests, a new DTP request is automatically generated and processed. Once the DTP is activated, the indicator is no longer visible in DTP maintenance.
    This applies when the DTP is started by a process chain and also when you start the DTP directly from DTP maintenance.
    The indicator is set by default for new DTPs that get data request by request.
    If you do not select the indicator, the label for the Get All New Data Request By Request indicator changes to Get One Request Only. Once the DTP is activated, only this indicator is displayed in DTP maintenance.
    Regards,
    Sudheer.

  • Delta loading procedure from Write Optimized DSO to Infocube

    Hi All,
    We are using Write optimized DSO in our project to which I am loading data using Standard DSO 0FI_GL_12
    From Write optimized DSO, we are loading delta records into Infocube, please provide your inputs to my following questionnaire:
    1) I am quite interested to know how the delta records gets loaded into infocube whenever we are using 'Write optimized DSO' as we don't have any image concept in Optimized DSO
    Ex: If am using Standard DSO, we have Change log table and image concept will allow to get updated value to Cube
    let us assume
    Active Table
    111            50
    111            70 (overwrite)
    Change Log Table
    111            -50        (X -- Before Image)
    111             70    ( '  ' -- After Image) symbol for after image is 'Space'
    So if we load this record to the target as a delta the above two records from change log table will get loaded to the CUBE and Cube will have 70 as the updated record
    If am using 'Write Optimized',
    Active Table
    111            50
    111            70 (overwrite)
    When this record loaded to the cube, as Info Cube is always having 'Additive' feature so the total value will 50+70 =120 which is wrong?
    Correct me what feature will work here to get updated value as '70' into Cube from Write Optimized DSO'
    2)As the data source is delta capable and having  'ADDITIVE' delta process, only the delta records based on REQUEST ID are loaded into Info Cube with the  updated key figure value?
    Thanks for your inputs and much appreciated.
    Regards,
    Madhu

    Hi Madhu,
    In best practice, we use WODSO in Initial layer and then Standard DSO. Just for mass data load/staging purpose.
    In best practice : Data source ----> WODSO ---> std. DSO
    In your case : Data source ----> Std.DSO  -----> WODSO.
    In both cases if data load design is not in accurate way, then your cube will have incorrect entries.
    For ex:  today 9 am : 111,  50  (in active table)
    Data load to cube, same day 11 am : then cube will have 111    50.
    Same day, value got changed  in std. DSO  1 pm :   111   70(over write function @ active table).
    Same day/next day if you load data to cube, it will have 2 records one is with value 50 and other would be 70.  So to avoid such scenarios we should plan load in accurate way.  Else make change your DTP settings as  ‘source table : change log table.
    Coming to your case:
    Once after the load to Std. DSO, load data to WODSO by changing the DTP settings ‘Delta Init.Extraction from’  : Change log.
    Now data available @WODSO from change log table, then you load to cube In delta mode.

  • Message: The following clip encountered an error during import and is still referencing media on the camera:

    I am getting this message when I try to import files from Canon C100: The following clip encountered an error during import and is still referencing media on the camera:
    These are AVCHD files and it seems to be happening randomly.  With different clips as I try to import...happening both with regular importing and with Create Optimized Media...
    It just started happening yesterday-never had this problem before and have uploaded countless times with this camera and system. THanks.

    Update: OK, I just tried to import the footage into another hard drive (an internal hard drive) and it seems to be going fine now.  Maybe something is corrupted on the external hard drive I was importing into...wierd.

  • Load performance Write-Optimized DSO

    Dear all,
    I'm looking for some practical tips concerning improving load performance from the PSA to a write-optimized DSO (41M records) via a DTP.
    All parameters that could be tweaked have been checked (e.g. packet size, batch jobs, uniqueness of data flag, etc.) and optimized.
    However this load stays extremely slow (init load from source to BW is faster).
    The BW system runs on SP18.
    Please share all your tips our recommendations for us to solve this major issue.
    Your help is much appreciated!
    Thanks
    JvB

    Hi JvB,
    Here are some options I can think of and let you know if I remember something:
    1) Increase number of prallel processes in DTP i.e. DTP->GOTO->Settings for bacth monitor->Number of prallel process to 4 or 5.
    2) Note 409641 - Examples of packet size dependency on ROIDOCPRMS
    The general formula for data transfer is:
    packet size = MAXSIZE * 1000 \ transfer structure size
    but not more than MAXLINES.
    eg. if MAXLINES < than the result of the formula, MAXLINES size is transferred into BW.
    3) you should check if there are any locks or deadlocks in ST04 and also System Analysis SM21....it will show u all the details,,, and Short dump in ST22.....there may be some ..
    4) Check and Analyze DSO in RSRV. If there are any issues repair it.
    5) If you are loading huge volumes of data split the records by Filters in DTP ex. Plant, calendar year or calendar month selections.
    And also Try
    Try partioning,craeting indexes/secondary indexes or archiving old data.
    Check these links for furtehr reference:
    /people/martin.mouilpadeti/blog/2007/08/24/sap-netweaver-70-bi-new-datastore-write-optimized-dso
    /message/2987899#2987899 [original link is broken]
    Good Luck.
    Regards
    Satish Arra
    Edited by: Satish Arra on Feb 7, 2009 9:28 PM

  • Write-Optimized DSO data deletion

    Hello All,
    We have a requirement to delete old data from a write-optimized DSO. The specific requirement is to delete the data older than 15 days (requests older than 15 days) in the DSO. I could not find any process type that could be used in process chains which would automatically delete the old data based on our settings (similar to the one used for PSA or Change-log deletion). Has any of you come across a process type or a batch job that be scheduled to delete old data in a Write-optimized DSO. Your help is much appreciated.
    Thanks,
    Veera

    Hi Nagesh,
    Thanks for your answer. But the use of these function modules would still require custom development to identify the requests to be deleted. We are trying to see if SAP has any standard process for deleting the old request out of a write optimized DSO or if anyone was successful in achieveing this with least amount of customization.
    Thanks,
    Veera

  • I have set up mail but it has 37000 mails to load, obviously very old stuff but how do I get rid without loading and deleting, take days?

    I have set up mail but it has 37000 mails to load, obviously very old stuff but how do I get rid without loading and deleting, take days?

    Go under settings, mail, contacts and calendars and then choose only to sync back 50 or 100 or 1000 mails. Chances are you don't really need the old ones on your device and it'll save room (I have mine set to 50)

Maybe you are looking for

  • Adobe Bridge not running in the background

    I have bridge setup to load and run in the background when I start windows.  However it doesn't run in the background but launches and runs as normal.the icon does not load in the control panel as does other programs that load and run in the backgrou

  • Error during migartion

    I am Migrating data from SQL server7.0 to Oracle 9iRel2 One column in Table of SQL server has default value one space"" and column is NOT NULL. I have created same table with same default value in Oracle. When I insert the space value directly in ora

  • [urgent] help in reading sapscript

    I have an issue with error in amount of Purchase Order when some materials are deleted in PO and the PO is reprinted.  Now, I've checked on the form - the form used to print the PO is YSC_MMPO.  Furthermore, based on what I know PO amount cannot be f

  • Parsing XML using SDO API.

    Hi I am looking to see if JDeveloper comes with necesssary SDO APIs to help a developer parse XML. I am looking at this as a replacement for JAXB. I have access to JDev 11g and 10g. If it is possible can you please tell me 1) What are the libraries t

  • OLE Integration

    To: [email protected] cc: Subject: OLE Integration I'm trying to perform OLE automation between Forte and MS Word (95). I'm doing this because I want to generate a Word document based on information within my Forte application. According to the docum