cancel
Showing results for 
Search instead for 
Did you mean: 

Update ODS field

Former Member
0 Kudos

Hi all,

Can we directly change the value of a field in a record that is already stored in the ODS using update routine?

Loop at infopackage

Read ODS based on certain conditions

If found, Modify the value of a field directly?

Thanks,

Anirudh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Yes you can do .. but loop at datapackage...not at infopackage.

Former Member
0 Kudos

Hi Manga,

Thanks a lot for the reply. Just to clarify, in the update routine, <u><b>we can Read ODS and change the value of a date field that is already in the ODS using Modify statement based on certain conditions.</b></u> Correct?

In short, we are changing the value of the ODS table using update routine. Plz correct me if I am wrong.

Thanks,

Anirudh.

former_member188975
Active Contributor
0 Kudos

Hi Anirudh,

You can do that, but the best way to handle such reqts is to load the ODS from itslef (self-feed) and then in the update rules you can code the changes that you want to the existing field. This way you are working with the std datamart scenario and will not have to worry about delta and changelogs.

Hope this helps...

Former Member
0 Kudos

Yes you can change the value in your ODS table.

get the /BIC/A* table name ..you can use MODIFY or UPDATE statements as well..

Regards

Manga

Former Member
0 Kudos

Sergio, Bhanu and Manga,

If I define the ODS as a transactional ODS, then data is stored only in single version and I don't have to worry about change log. Then modifying the ODS field directly won't cause any problems.. correct?

Thanks,

Anirudh.

former_member188975
Active Contributor
0 Kudos

Hi Anirudh,

If it is a T-ODS, then where do you have the update rules to write the code in? Are you using an APD to load data into this ODS?

Former Member
0 Kudos

yes, you should be good if it is transactional ODS.

former_member188972
Active Contributor
0 Kudos

yes, but... I prefere to not made a modify on the table directly.

The standard controls the update, for example in case of failure of the update your modify can't make the roll-back.

For the rest you can.

Former Member
0 Kudos

Bhanu,

I am not sure how a transactional ODS works. I am just looking at my options at this point. A T-ODS won't have update rules?

Thanks,

Anirudh.

former_member188975
Active Contributor
0 Kudos

No Anirudh, a T-ODS does not have update rules. You can load data into it using an APD process.

http://help.sap.com/saphelp_nw04/helpdata/en/49/7e960481916448b20134d471d36a6b/content.htm

Former Member
0 Kudos

RSDRI_ODSO_INSERT: Inserts new data (with keys not yet in the system).

RSDRI_ODSO_INSERT_RFC: see above, can be called up remotely

RSDRI_ODSO_MODIFY: inserts data having new keys; for data with keys already in the system, the data is changed.

RSDRI_ODSO_MODIFY_RFC: see above, can be called up remotely

RSDRI_ODSO_UPDATE: changes data with keys in the system

RSDRI_ODSO_UPDATE_RFC: see above, can be called up remotely

The above APIs are used to update the transactional ODS.

Answers (1)

Answers (1)

former_member188972
Active Contributor
0 Kudos

Yes you can do everything in that ABAP code, also update a table.

But pay attention, I don't suggest to modify directly the ODS directly with an ABAP routine, because you may lost the delta/change log mechanism.

It's best to update with the routine the record in the standard way.

Message was edited by: Sergio Locatelli