Skip to Content
avatar image
Former Member

DSO self transformation

Hi,

I have one DSO which contains some data. My requirement is to replace GL Account = X with 'Y'.

This DSO has 6 other key fields.

I am trying use the following code in start routine. However the below code is not changing the existing record , but it is creating a new record by copying the existing record, and replacing the GL account = Y.

In the end, i have two records, one with GL =X and another with GL = Y.

I just need only one record with GL = Y.

LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.

IF <SOURCE_FIELDS>-GL_ACCOUNT = 'X'

<SOURCE_FIELDS>-GL_ACCOUNT = 'Y'.

ENDIF.

ENDLOOP.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Sep 21, 2017 at 10:41 PM

    Hi

    in this case you can use simple field routines

    for each infobject that you need to modify, you can insert in the transformation a simple routine

    IF.....<your condition>

    RESULT = <your result>

    ENDIF.

    You will wind endless examples of these simple transformations in SDN

    Hope it helps

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 22, 2017 at 07:34 AM

    Hi,

    you'll need to set the recordmode of the existing one to 'D', to delete it, it is normal behavior of the flow to create a new record, because you're changing key values

    PS changing GLAccount is no clean business IMO

    grtz

    Koen

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 21, 2017 at 08:09 PM

    If GL Account infoobject is part of DSO key then it will create new record.

    Add comment
    10|10000 characters needed characters exceeded

    • and you can delete the old records with a selective deletion. should give the needed content in the dso.

      the best approach would be however to copy the dso, and load/transform the data in transformation to copy dso. emtpy the original dso and reload correct data from copy dso.