Skip to Content
author's profile photo Former Member
Former Member

Direct Update of ODS Records using ABAP Program

Has anyone ever done a direct update of ODS data without using the standard AWB? We need to try a direct update of a non-key field in an ODS that has no export datasource. Sounds fairly straightforward. But, are there any gotchas I need to be aware of when I attempt this?

Add a comment
10|10000 characters needed characters exceeded

Related questions

4 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Feb 01, 2005 at 02:47 PM

    Nope : in your scenario no "gotcha's" .. . I've done this a lot of times (too many in fact 😉) without issues

    Maybe still 2 pints of awareness (not for your scenario, but in general):

    - the change log table will not be in line with the active table of the ODS and will nto refelct the actual changes in the ODS. This is only of importance if you have (or plan to have) a delta starting from this ODS to another DataTarget

    - what about the source feeding this ODS? If you ever want to reconstruct the data in the ODS you're changing from PSA, your data will be 'wrong' again. So either update the PSA also (is's just another flat table) or take into account that after a recosntruct you have to correct the data in the ODS again

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 01, 2005 at 05:26 PM

    I would be careful updating a normal ODS table directly like you are talking about. Since this is not a supported method to update your tables, you could have some support issues from SAP, or something could change in a upgrade and your method of updating the tables no longer works.

    I would consider these options:

    - In either the transfer or update rules update the needed field in a routine.

    - Define your ODS table as a transactional ODS. This means you are updating the ODS table via an ABAP program that calls a API.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      As Bill said I would go with a transactional ODS. This means that you need to update this by ABAP completely. The necessary function modules are API_ODSO_DATA_UPDATE_CHAR and API_ODSO_DATA_INSERT_CHAR.

  • author's profile photo Former Member
    Former Member
    Posted on Feb 03, 2005 at 03:27 PM

    Well I have also updated ODS a lot of times, but.

    One point to remember is that if you have marked the ODS for BEx reporting then there will be generated SIDs for the characteristics, if you change characteristics data using ABAP and you generate new characteristics value you will not get SIDs for these new values. The outcome may be that you get a corrupt ODS!

    Another way is to create an extra update rule into the ODS, the source should be the ODS it self. Then you can program all your changes in the rules, and you will get a nice delta ready to go to the targets!

    Regards

    Kristian

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 03, 2005 at 04:25 PM

    Hi ,

    1) what is the Business requirement? Can you not use an Infoobject instead of ODS object . I am assuming you want to keep some kind of update flag.

    2) An procedure such as using an ABAP program - can cause data issues - if you for instance delete a request from ODS. When you delete a request from ODS - the system uses the rollback table to re-construct the active table .

    Arvind

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.