cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Issue with dimesions proeprty value

Former Member
0 Likes
447

Hi experts,

Got one issue, in which we are loading the dimension property value of some dimension members from BW object and property value of some of dimension members are being updated manually. Issue is, when I load the master data. the BW property values that are overwriting the manually enter property values of dimension members. How could I avoid this.

Example: I have GL_CODE dimension. in which I have two types of dimension members (1) GL_CODE that are being downloaded from BW objects (2) GL_CODES that are being manually created in the dimension. We have created a Property value "SOURCE_SYSTEM". Now

(1) for GL code, which are coming from BW info object have property value of "SOURCE_SYSTEM" is "BW".

(2) for GL codes, which are being created manually have property value of "SOURCE_SYSTEM" is "MANUAL"

Now when I run Data Manager Package to load GL code Master data, it brings the property value "BW", but it overwrites the manually created property value, which are "MANUAL".

I have written transformation file as below

*MAPPING

ID=ID

SOURCE_SYSTEM=*STR(BW)

The above overwrites the manually enter property value with blank.

If I write transformation file like below

*MAPPING

ID=ID

SOURCE_SYSTEM=*IF(SOURCE_SYSTEM=*STR() then *STR(BW))

But in this case, I get the error that SOURCE_SYSTEM is not available in source object, which is correct.

If I write transformation file like below

*MAPPING

ID=ID

SOURCE_SYSTEM=*IF(ZSRCSYSTEM=*STR() then *STR(BW))

in this case, if user forgets to manually enter property value of "SOURCE_SYSTEM" of manually created GL code, it will also take property value "BW", which I want to avoid.

Nothing worked for me. Please suggest

Regards,

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Likes

"SOURCE_SYSTEM=*IF(ZSRCSYSTEM=*STR() then *STR(BW))

in this case, if user forgets to manually enter property value of "SOURCE_SYSTEM" of manually created GL code, it will also take property value "BW", which I want to avoid." - Not clear what is the issue? Can you explain the case with some step by step sample?

Vadim

Former Member
0 Likes

Vadim,

Wasn't clear about the requirement. My Fault. Explaining below the requirement step by step.

1. I loaded the GL codes (or Master Data) in to GL_CODE dimension from BW info object ZGL_CODE.

2. After loading GL code Master Data in to dimension, I usually update a property called "SOURCE_SYSTEM" manually. for some GLs, I load property value from info object. on the other hand, for some GLs, I manually update in dimension. like below

IDDescriptionSOURCE_SYSTEM
110001*******BW
110002*******BW
GL_001*******MANUAL
GL_002*******MANUAL
GL_003******

all above 5 GLs (i.e. 110001, 110002, GL_001, GL_0002, and GL_0003) are being loaded from bw info object. SOURCE_SYSTEM is one of the properties. Where SOURCE_SYSTEM = MANUAL, are typed manually in dimension, which is not done for all GL codes like above for GL_003, the property value is kept blank. on the other hand, where SOURCE_SYSTEM = BW, is coming from bw info object. to meet this, I wrote a transformation file like below

*MAPPING

ID=ID

SOURCE_SYSTEM=*IF(ID(1:1)=*STR(1) then *STR(BW);ID(1:1)=*STR(2) then *STR(BW))

Transformation file creates property value BW for all GL codes starting from 1 and 2. after load, user can update the SOURCE_SYSTEM property value of GL codes prefixed by "GL_" (Note: not for all GL codes like above GL_003, user wanted to keep blank)

3. Issue comes here, every time I run the DM to load the GL code again, it clears the manually enter property value i.e. MANUAL and make it blank. User needs to reenter again. want to avoid this issue.

Hope I am clear.. Thanks

Regards

former_member186338
Active Contributor
0 Likes

In a few words - you don't want the load from bw to clear manually added MANUAL for some accounts. To my mind only ROUTINE badi will help.

Vadim

Former Member
0 Likes

Vadim,

Thanks for reply. I think you are right, Routine can help us to meet this requirement, Howcome, I also have no idea. But your quick reply, gave me a visibility that there might not be other way than writing a Routine.

However I resolved it by using work-around. I segregated one DM load in two DM load 1 for loading 1* and 2* from BW and 2 for loading GR_* codes., for which I update the property value manually.

Thanks

former_member186338
Active Contributor
0 Likes

OK, this is slightly different then original requirement - you decided not to update a property for GR_ at all. Can be an option. With badi you can test if some member has property "manual" and do not change it...

Vadim

Former Member
0 Likes

What I did, In the first load, I kept the SOURCE_SYSTEM mapping in the transformation file with small adjustment in ID mapping, because I skipped the records prefixed by GR_. But in second load, I removed the SOURCE_SYSTEM mapping from transformation file so that it cannot impact the manually entered property value of SOURCE_SYSTEM and in ID mapping, skipped GLs starting from 1s & 2s. This is the only easy and quick work-around, I could find.

Got the test routine written from someone and tested, yes it worked.

Considering the best possible answer, which u suggested"ROUTINE", Closing the thread.

Answers (2)

Answers (2)

Former Member
0 Likes

Hi David,

With each load,if you don't get more new GLs from BW..

Remove the update to property "SOURCE_SYSTEM".

After load,just check the property by sorting 1*,2* and add "BW" to them manually.

If each time you get many new GLs,this is not good idea.

Thanks,

Manohar

Former Member
0 Likes

I think there is a design flaw in this approach. I can see how you can enforce SOURCE_SYSTEM = BW for DMP load, but I don't see how you can enforce SOURCE_SYSTEM = MANUAL for user input. Can you please clarify?

It looks like you should check if SOURCE_SYSTEM =BW and update only those records, but then the question is: can GL_CODE move from one category to another? If that is possible then those will be never updated.

Former Member
0 Likes

Gersh,

Thanks for reply. Couldn't explain the requirement clearly earlier. Please refer my reply to Vadim. I hope, this time, I am clear.

Regards,