cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping

Former Member
0 Kudos

Hi ,

I am doing mapping where I am using only the segment E1BP2054_MASTERDATA_ALE SEGMENT in my source IDOC structure,there will be many E1BP2054_MASTERDATA_ALE SEGMENT segments in a single IDOC but I need to get only data only if Level field in E1BP2054_MASTERDATA_ALE SEGMENT segment is 5.I am using createif function now but only one segment comes in the target,how can I solve this.

Source structure

<?xml version="1.0" encoding="UTF-8"?>

<PROJECT01>

<IDOC BEGIN="">

<EDI_DC40 SEGMENT="">

<TABNAM/>

<MANDT/>

<REFMES/>

<ARCKEY/>

<SERIAL/>

</EDI_DC40>

<E1BP2054_PROJDEFINITION SEGMENT="">

<PROJECT_DEFINITION/>

<DESCRIPTION/>

<CREATED_BY/>

<CREATE_DATE/>

<JV_JIB_CLASS/>

<JV_JIB_SUB_CLASS_A/>

<FUNC_AREA/>

</E1BP2054_PROJDEFINITION>

<E1BP2054_MASTERDATA_ALE SEGMENT="">

<WBS_ELEMENT>43434343</WBS_ELEMENT>

<PROJECT_DEFINITION/>

<DESCRIPTION>aaaaa</DESCRIPTION>

<SHORT_ID/>

<CREATED_BY/>

<CREATE_DATE>20080101</CREATE_DATE>

<CHANGED_BY/>

<CHANGE_DATE/>

<LEVEL>5</LEVEL>

<PLANT>y005</PLANT>

<USER_FIELD_KEY/>

</E1BP2054_MASTERDATA_ALE>

<E1BP2054_MASTERDATA_ALE SEGMENT="">

</E1BP2054_MASTERDATA_ALE>

<WBS_ELEMENT>43434343</WBS_ELEMENT>

<PROJECT_DEFINITION/>

<DESCRIPTION>bbbbbb</DESCRIPTION>

<SHORT_ID/>

<CREATED_BY/>

<CREATE_DATE>20080101</CREATE_DATE>

<CHANGED_BY/>

<CHANGE_DATE/>

<LEVEL>5</LEVEL>

<PLANT>y005</PLANT>

<USER_FIELD_KEY/>

<E1BP2054_MASTERDATA_ALE SEGMENT="">

</E1BP2054_MASTERDATA_ALE>

<WBS_ELEMENT>43434343</WBS_ELEMENT>

<PROJECT_DEFINITION/>

<DESCRIPTION>ccccccc</DESCRIPTION>

<SHORT_ID/>

<CREATED_BY/>

<CREATE_DATE>20080101</CREATE_DATE>

<CHANGED_BY/>

<CHANGE_DATE/>

<LEVEL>2</LEVEL>

<PLANT>y005</PLANT>

<USER_FIELD_KEY/>

<E1BP_WBS_HIERARCHIE SEGMENT="">

<WBS_ELEMENT/>

<PROJECT_DEFINITION/>

<UP/>

</E1BP_WBS_HIERARCHIE>

<E1BP2054_STATUSHEADER_ALE SEGMENT="">

<WBS_OBJECTID/>

<OBJECT_TYPE/>

<STATUS_PROFILE/>

</E1BP2054_STATUSHEADER_ALE>

<E1BP2054_OBJECTSTATUS_ALE SEGMENT="">

<WBS_OBJECTID/>

<OBJECT_TYPE/>

<STATUS/>

<INACTIVE/>

</E1BP2054_OBJECTSTATUS_ALE>

</IDOC>

</PROJECT01>

Target structure

<?xml version="1.0" encoding="UTF-8"?>

<ns0:AddUpdateCostObjectL2AndRelatedL3AndL4 xmlns:ns0="http://************/">

<ns0:sLevel1ID>&lt;None&gt;</ns0:sLevel1ID>

<ns0:sLevel2ID>43434343</ns0:sLevel2ID>

<ns0:sLevel2Name>aaaaa</ns0:sLevel2Name>

<ns0:sStartDateYYYYMMDD>20080101</ns0:sStartDateYYYYMMDD>

<ns0:sEndDateYYYYMMDD>99990909</ns0:sEndDateYYYYMMDD>

<ns0:sOrderType>Unassigned</ns0:sOrderType>

<ns0:sPlantCode>y005</ns0:sPlantCode>

<ns0:sCostObjectDesc></ns0:sCostObjectDesc>

<ns0:sActualStartDateYYYYMMDD>20080101</ns0:sActualStartDateYYYYMMDD>

<ns0:sActualEndDateYYYYMMDD>99990909</ns0:sActualEndDateYYYYMMDD>

<ns0:sAreaId>01</ns0:sAreaId>

<ns0:sFunctionLocation></ns0:sFunctionLocation>

<ns0:sFuncLocationDesc></ns0:sFuncLocationDesc>

<ns0:sUnitName></ns0:sUnitName>

<ns0:sMaintenanceCategoryCode></ns0:sMaintenanceCategoryCode>

<ns0:sStatusA_Or_I>A</ns0:sStatusA_Or_I>

</ns0:AddUpdateCostObjectL2AndRelatedL3AndL4>

Thanks

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Have you used SplitByValue after createif function n your mapping?

Former Member
0 Kudos

Hi,

I tried splitbyvalue it does not work.

FYI:I am mapping Level(source field) to AddUpdateCostObjectL2AndRelatedL3AndL4(target node) using creatif function.

Thanks

Former Member
0 Kudos

It will be good if you could provide the source and target structure's occurrance.

One more thing, it is also not very clear from your requirement that what you wnat to map where. Try to give one simple example.

Edited by: Sarvesh Singh on Apr 11, 2008 12:10 AM

Former Member
0 Kudos

Source structure

<?xml version="1.0" encoding="UTF-8"?>

<PROJECT01> 1:1

<IDOC BEGIN=""> 1:1

<EDI_DC40 SEGMENT="">

<TABNAM/>

<MANDT/>

<REFMES/>

<ARCKEY/>

<SERIAL/>

</EDI_DC40>

<E1BP2054_PROJDEFINITION SEGMENT="">

<PROJECT_DEFINITION/>

<DESCRIPTION/>

<CREATED_BY/>

<CREATE_DATE/>

<JV_JIB_CLASS/>

<JV_JIB_SUB_CLASS_A/>

<FUNC_AREA/>

</E1BP2054_PROJDEFINITION>

<E1BP2054_MASTERDATA_ALE SEGMENT=""> 0:999999999

<WBS_ELEMENT>43434343</WBS_ELEMENT>

<PROJECT_DEFINITION/>

<DESCRIPTION>aaaaa</DESCRIPTION>

<SHORT_ID/>

<CREATED_BY/>

<CREATE_DATE>20080101</CREATE_DATE>

<CHANGED_BY/>

<CHANGE_DATE/>

<LEVEL>5</LEVEL> 0:1

<PLANT>y005</PLANT>

<USER_FIELD_KEY/>

</E1BP2054_MASTERDATA_ALE>

<E1BP2054_MASTERDATA_ALE SEGMENT="">

</E1BP2054_MASTERDATA_ALE>

<WBS_ELEMENT>43434343</WBS_ELEMENT>

<PROJECT_DEFINITION/>

<DESCRIPTION>bbbbbb</DESCRIPTION>

<SHORT_ID/>

<CREATED_BY/>

<CREATE_DATE>20080101</CREATE_DATE>

<CHANGED_BY/>

<CHANGE_DATE/>

<LEVEL>5</LEVEL>

<PLANT>y005</PLANT>

<USER_FIELD_KEY/>

<E1BP2054_MASTERDATA_ALE SEGMENT="">

</E1BP2054_MASTERDATA_ALE>

<WBS_ELEMENT>43434343</WBS_ELEMENT>

<PROJECT_DEFINITION/>

<DESCRIPTION>ccccccc</DESCRIPTION>

<SHORT_ID/>

<CREATED_BY/>

<CREATE_DATE>20080101</CREATE_DATE>

<CHANGED_BY/>

<CHANGE_DATE/>

<LEVEL>2</LEVEL>

<PLANT>y005</PLANT>

<USER_FIELD_KEY/>

<E1BP2054_MASTERDATA_ALE SEGMENT="">

<E1BP_WBS_HIERARCHIE SEGMENT="">

<WBS_ELEMENT/>

<PROJECT_DEFINITION/>

<UP/>

</E1BP_WBS_HIERARCHIE>

<E1BP2054_STATUSHEADER_ALE SEGMENT="">

<WBS_OBJECTID/>

<OBJECT_TYPE/>

<STATUS_PROFILE/>

</E1BP2054_STATUSHEADER_ALE>

<E1BP2054_OBJECTSTATUS_ALE SEGMENT="">

<WBS_OBJECTID/>

<OBJECT_TYPE/>

<STATUS/>

<INACTIVE/>

</E1BP2054_OBJECTSTATUS_ALE>

</IDOC>

</PROJECT01>

Target structure

<?xml version="1.0" encoding="UTF-8"?>

<ns0:AddUpdateCostObjectL2AndRelatedL3AndL4 xmlns:ns0="http://************/"> 1:1

<ns0:sLevel1ID><None></ns0:sLevel1ID> 0:1

<ns0:sLevel2ID>43434343</ns0:sLevel2ID>

<ns0:sLevel2Name>aaaaa</ns0:sLevel2Name>

<ns0:sStartDateYYYYMMDD>20080101</ns0:sStartDateYYYYMMDD>

<ns0:sEndDateYYYYMMDD>99990909</ns0:sEndDateYYYYMMDD>

<ns0:sOrderType>Unassigned</ns0:sOrderType>

<ns0:sPlantCode>y005</ns0:sPlantCode>

<ns0:sCostObjectDesc></ns0:sCostObjectDesc>

<ns0:sActualStartDateYYYYMMDD>20080101</ns0:sActualStartDateYYYYMMDD>

<ns0:sActualEndDateYYYYMMDD>99990909</ns0:sActualEndDateYYYYMMDD>

<ns0:sAreaId>01</ns0:sAreaId>

<ns0:sFunctionLocation></ns0:sFunctionLocation>

<ns0:sFuncLocationDesc></ns0:sFuncLocationDesc>

<ns0:sUnitName></ns0:sUnitName>

<ns0:sMaintenanceCategoryCode></ns0:sMaintenanceCategoryCode>

<ns0:sStatusA_Or_I>A</ns0:sStatusA_Or_I>

</ns0:AddUpdateCostObjectL2AndRelatedL3AndL4>

The mapping I have done:

LEVEL---->creatif = 5--


>AddUpdateCostObjectL2AndRelatedL3AndL4

constant----


>sLevel1ID

WBS_ELEMENT------->sLevel2ID

DESCRIPTION----


>sLevel2Name

CREATE_DATE----


>sStartDateYYYYMMDD

PLANT----


>sPlantCode

I need to get only segments which have level equal to 5,so in my example I have two level 5 and one level 2,so I need to get all the fields of level 5 in my target in a separate node which I havent shown in target(I have shown only one)

Let me know if you need more info.

Thanks

Former Member
0 Kudos

<ns0:AddUpdateCostObjectL2AndRelatedL3AndL4 xmlns:ns0="http://************/"> 1:1

Do not understand this one. You want to level map to this node, then you will have many level 5 segemance, why the occurence is 1:1 ?

Liang

Edited by: Liang Ji on Apr 10, 2008 9:49 PM

Former Member
0 Kudos

Yes the occurance is 1:1.Do I have a solution for this?

Thanks

Former Member
0 Kudos

Can you list your target structure (all the elements) and thier occurence ?

Thanks

Liang

Former Member
0 Kudos

Target structure

<?xml version="1.0" encoding="UTF-8"?>

<ns0:AddUpdateCostObjectL2AndRelatedL3AndL4 xmlns:ns0="http://************/"> 1:1

<ns0:sLevel1ID><None></ns0:sLevel1ID> 0:1(all the fields below are 0:1)

<ns0:sLevel2ID>43434343</ns0:sLevel2ID>

<ns0:sLevel2Name>aaaaa</ns0:sLevel2Name>

<ns0:sStartDateYYYYMMDD>20080101</ns0:sStartDateYYYYMMDD>

<ns0:sEndDateYYYYMMDD>99990909</ns0:sEndDateYYYYMMDD>

<ns0:sOrderType>Unassigned</ns0:sOrderType>

<ns0:sPlantCode>y005</ns0:sPlantCode>

<ns0:sCostObjectDesc></ns0:sCostObjectDesc>

<ns0:sActualStartDateYYYYMMDD>20080101</ns0:sActualStartDateYYYYMMDD>

<ns0:sActualEndDateYYYYMMDD>99990909</ns0:sActualEndDateYYYYMMDD>

<ns0:sAreaId>01</ns0:sAreaId>

<ns0:sFunctionLocation></ns0:sFunctionLocation>

<ns0:sFuncLocationDesc></ns0:sFuncLocationDesc>

<ns0:sUnitName></ns0:sUnitName>

<ns0:sMaintenanceCategoryCode></ns0:sMaintenanceCategoryCode>

<ns0:sStatusA_Or_I>A</ns0:sStatusA_Or_I>

</ns0:AddUpdateCostObjectL2AndRelatedL3AndL4>

Former Member
0 Kudos

Can I do it this way,

First do an Idoc to file,the upload the file to the webservice.Is this possible?

Former Member
0 Kudos

Target structure

<?xml version="1.0" encoding="UTF-8"?>

<ns0:AddUpdateCostObjectL2AndRelatedL3AndL4 xmlns:ns0="http://************/">------- 1:1

<ns0:sLevel1ID><None></ns0:sLevel1ID> -


0:1(all the fields below are 0:1)

<ns0:sLevel2ID>43434343</ns0:sLevel2ID>

<ns0:sLevel2Name>aaaaa</ns0:sLevel2Name>

<ns0:sStartDateYYYYMMDD>20080101</ns0:sStartDateYYYYMMDD>

<ns0:sEndDateYYYYMMDD>99990909</ns0:sEndDateYYYYMMDD>

<ns0:sOrderType>Unassigned</ns0:sOrderType>

<ns0:sPlantCode>y005</ns0:sPlantCode>

<ns0:sCostObjectDesc></ns0:sCostObjectDesc>

<ns0:sActualStartDateYYYYMMDD>20080101</ns0:sActualStartDateYYYYMMDD>

<ns0:sActualEndDateYYYYMMDD>99990909</ns0:sActualEndDateYYYYMMDD>

<ns0:sAreaId>01</ns0:sAreaId>

<ns0:sFunctionLocation></ns0:sFunctionLocation>

<ns0:sFuncLocationDesc></ns0:sFuncLocationDesc>

<ns0:sUnitName></ns0:sUnitName>

<ns0:sMaintenanceCategoryCode></ns0:sMaintenanceCategoryCode>

<ns0:sStatusA_Or_I>A</ns0:sStatusA_Or_I>

</ns0:AddUpdateCostObjectL2AndRelatedL3AndL4>

Former Member
0 Kudos

Hi, Actually, your post is really confusing others, I do not think your clearly elaborate your requirements,

so we can not propose right solutions for you

LEVEL---->creatif = 5--


>AddUpdateCostObjectL2AndRelatedL3AndL4

From here, I see what you try to create at target.

inside your source structure, you have many nodes <E1BP2054_MASTERDATA_ALE SEGMENT="">

when its sub-elements LEVEL =5, you want to map to AddUpdateCostObjectL2AndRelatedL3AndL4

so MaxOxccurence of the node AddUpdateCostObjectL2AndRelatedL3AndL4 should be unbounded.

If you can clearly state what you want to achieve, we should be able to come up with solutions for you.

Regards.

Liang

Former Member
0 Kudos

Hi,

This will be clear I guess,sorry for the confusion

http://www.flickr.com/photos/25513325@N05/2403503367/

There will be multiple E1BP2054_MASTERDATA_ALE SEGMENT but I need to send only segments where LEVEL field as 5.

Let me know if you need more info.

Thanks

Former Member
0 Kudos

Hi,

I got your sceenshot, I read again from the beginning of thread, I believe that your design have prolem which I have raised in my previous post:

  • Conflict Occurence:

Since you only have 1:1 occurence "AddUpdateCostObjectL2AndRelatedL3AndL4" , all its sub-elements are 0:1, means all the target node either will be create once or none.

However, in your source, you have multiple "E1BP2054_MASTERDATA_ALE", it has one optional elements "Level", means in the source, you will have "Level" nodes, then you will have multiple

"WBS_ELEMENT" node too.

Your source structure say I have many values for particular node, your target structure say, for this node, I only take one value.

Are you expecting this result ?

Liang