Removing empty node created by Value Mapping Functoid

If the first input parameter to Value Mapping functoid is not true, it creates an empty element in the destination which I don't want, how can I get rid of this empty element, if it's empty I do not want it to created in the destination document.
Do let me know how can I achive this within a Map.

You can get rid of the empty nodes in your map by using a custom functoid and use XSLT script (also given below) and mentioned in this article
Remove empty nodes in BizTalk by using XSLT
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="@@ YOUR NAMESPACE @@" version="1.0" xmlns:ns0="http://Stater.Isvcs.Iface.BO.GetLoanData.ElfV2">
    <xsl:output method="xml" indent="yes" />
    <xsl:template match="node()">
        <xsl:if test="count(descendant::text()[string-length(normalize-space(.))>0]|@*)">
            <xsl:copy>
                <xsl:apply-templates select="@*|node()" />
            </xsl:copy>
        </xsl:if>
    </xsl:template>
    <xsl:template match="@*">
        <xsl:copy />
    </xsl:template>
    <xsl:template match="text()">
        <xsl:value-of select="normalize-space(.)" />
    </xsl:template>
</xsl:stylesheet>
Abdul Rafay - MVP & MCTS BizTalk Server
blog: http://abdulrafaysbiztalk.wordpress.com/
Please mark this as answer if it helps.

Similar Messages

  • Unable to remove empty nodes from Message

    Hello,
    I have message format like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:Enrollment xmlns:ns1="http://pac.bluecross.ca/Common/Types" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">
      <ns1:Policies>
      <ns1:Policy>
      <ns1:Code>11140</ns1:Code>
      <ns1:Certificates>
      <ns1:Certificate>
      <ns1:Class>
      <ns1:Code>1</ns1:Code>
      <ns1:EffectiveDate>2009-05-09T00:00:00</ns1:EffectiveDate>
      </ns1:Class>
      <ns1:CurrentEmploymentRecord>
      <ns1:HoursWorked>20</ns1:HoursWorked>
      <ns1:Type>FullTimeHourly</ns1:Type>
      </ns1:CurrentEmploymentRecord>
      <ns1:CurrentIncome>
      <ns1:Amount>5000</ns1:Amount>
      <ns1:EffectiveDate>2014-01-01T00:00:00</ns1:EffectiveDate>
      <ns1:Frequency>BiWeekly</ns1:Frequency>
      <ns1:Type>Salary</ns1:Type>
      </ns1:CurrentIncome>
      <ns1:Dependents>
      <ns1:CoveredLife>
      <ns1:CoverageDeclines/>
      <ns1:CoveredLifeHolder>
      <ns1:Contacts/>
      <ns1:DefaultAddress/>
      <ns1:DefaultEmail/>
      <ns1:DefaultPhone/>
      <ns1:PreferredLanguage>ENG</ns1:PreferredLanguage>
      <ns1:DateOfBirth>2009-05-09T00:00:00</ns1:DateOfBirth>
      <ns1:FirstName>Sean Louis</ns1:FirstName>
      <ns1:LastName>Carrier</ns1:LastName>
      <ns1:***>Male</ns1:***>
      </ns1:CoveredLifeHolder>
      <ns1:DependentCategory>Child</ns1:DependentCategory>
      <ns1:DependentSubCategory>Minor</ns1:DependentSubCategory>
      <ns1:Number>03</ns1:Number>
      </ns1:CoveredLife>
      </ns1:Dependents>
      <ns1:Division>
      <ns1:Code>1</ns1:Code>
      <ns1:EffectiveDate>2009-05-09T00:00:00</ns1:EffectiveDate>
      </ns1:Division>
      <ns1:FamilyCategory>Family</ns1:FamilyCategory>
      <ns1:HealthCareSpendingAccountInformation/>
      <ns1:HireDate>2002-07-15T00:00:00</ns1:HireDate>
      <ns1:InsuredCoveredLife>
      <ns1:CoverageDeclines/>
      <ns1:CoveredLifeHolder>
      <ns1:Contacts/>
      <ns1:DefaultAddress ns2:type="ns1:CanadianAddress">
      <ns1:City>Surrey</ns1:City>
      <ns1:Country>CA</ns1:Country>
      <ns1:Line1>98 - 10752 Guildford Drive</ns1:Line1>
      <ns1:PostalCode>V3R 1W6</ns1:PostalCode>
      <ns1:Province>BC</ns1:Province>
      </ns1:DefaultAddress>
      <ns1:DefaultEmail>
      <ns1:CorrespondenceMethod>Email</ns1:CorrespondenceMethod>
      <ns1:CorrespondenceType>Home</ns1:CorrespondenceType>
      <ns1:Data>[email protected]</ns1:Data>
      </ns1:DefaultEmail>
      <ns1:DefaultPhone>
      <ns1:CorrespondenceMethod>Telephone</ns1:CorrespondenceMethod>
      <ns1:CorrespondenceType>Home</ns1:CorrespondenceType>
      <ns1:Data>(001)(555)555-5555</ns1:Data>
      </ns1:DefaultPhone>
      <ns1:PreferredContact>Mail</ns1:PreferredContact>
      <ns1:PreferredLanguage>ENG</ns1:PreferredLanguage>
      <ns1:DateOfBirth>1974-02-07T00:00:00</ns1:DateOfBirth>
      <ns1:FirstName>Krisztina</ns1:FirstName>
      <ns1:LastName>Carrier</ns1:LastName>
      <ns1:***>Female</ns1:***>
      </ns1:CoveredLifeHolder>
      <ns1:EffectiveDate>2007-06-01T00:00:00</ns1:EffectiveDate>
      <ns1:Status>Inforce</ns1:Status>
      </ns1:InsuredCoveredLife>
      <ns1:JobTitle>Recreation Leader 2</ns1:JobTitle>
      <ns1:Number>000050</ns1:Number>
      <ns1:Plan>
      <ns1:Code>9027380101</ns1:Code>
      <ns1:EffectiveDate>2009-05-09T00:00:00</ns1:EffectiveDate>
      </ns1:Plan>
      <ns1:RegionalAdministration>
      <ns1:Country>CA</ns1:Country>
      <ns1:ProvinceOfBilling>BC</ns1:ProvinceOfBilling>
      </ns1:RegionalAdministration>
      <ns1:Section/>
      </ns1:Certificate>
      </ns1:Certificates>
      </ns1:Policy>
    Here is my XSL for removing empty nodes:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:strip-space elements="*"/>
        <xsl:template match="node()|@*">
            <xsl:copy>
                <xsl:apply-templates select="node()|@*"/>
            </xsl:copy>
        </xsl:template>
        <xsl:template match="*[not(@*) and not(*) and (not(text()) or .=-1)]"/>
    </xsl:stylesheet>
    This program removes all empty nodes except below nodes:
    <ns1:Dependents>
      <ns1:CoveredLife>
      <ns1:CoverageDeclines/>
      <ns1:CoveredLifeHolder>
      <ns1:Contacts/>
      <ns1:DefaultAddress/>
      <ns1:DefaultEmail/>
      <ns1:DefaultPhone/>
    Please throw some ideas.
    Thank you
    John

    Here is my XSD:
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema xmlns:tns="http://pac.bluecross.ca/Common/Types" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://pac.bluecross.ca/Common/Types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:complexType name="BusinessObject">
        <xs:sequence>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="BusinessObject" nillable="true" type="tns:BusinessObject" />
      <xs:simpleType name="CancelReasonCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="LaidOff">
          </xs:enumeration>
          <xs:enumeration value="Retired">
          </xs:enumeration>
          <xs:enumeration value="Divorced">
          </xs:enumeration>
          <xs:enumeration value="Separated">
          </xs:enumeration>
          <xs:enumeration value="NoLongerEligibleForCoverage">
          </xs:enumeration>
          <xs:enumeration value="MaternityLeave">
          </xs:enumeration>
          <xs:enumeration value="LeaveOfAbsense">
          </xs:enumeration>
          <xs:enumeration value="OnDisability">
          </xs:enumeration>
          <xs:enumeration value="PensionExpired">
          </xs:enumeration>
          <xs:enumeration value="StrikeOrLockout">
          </xs:enumeration>
          <xs:enumeration value="TransferredToAnotherCarrier">
          </xs:enumeration>
          <xs:enumeration value="WaivedBenefitsNoReason">
          </xs:enumeration>
          <xs:enumeration value="WaivedBenefitsSpousalCoverage">
          </xs:enumeration>
          <xs:enumeration value="LeftCompany">
          </xs:enumeration>
          <xs:enumeration value="DisContinuedCoverage">
          </xs:enumeration>
          <xs:enumeration value="NoProvincialMedicalPlan">
          </xs:enumeration>
          <xs:enumeration value="Transferred">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="CancelReasonCodes" nillable="true" type="tns:CancelReasonCodes" />
      <xs:simpleType name="CorrespondenceMethodCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Mail">
          </xs:enumeration>
          <xs:enumeration value="Telephone">
          </xs:enumeration>
          <xs:enumeration value="Email">
          </xs:enumeration>
          <xs:enumeration value="FTP">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="CorrespondenceMethodCodes" nillable="true" type="tns:CorrespondenceMethodCodes" />
      <xs:simpleType name="CorrespondenceTypeCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Home">
          </xs:enumeration>
          <xs:enumeration value="Office">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="CorrespondenceTypeCodes" nillable="true" type="tns:CorrespondenceTypeCodes" />
      <xs:simpleType name="CoveredLifeStatusCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Inforce">
          </xs:enumeration>
          <xs:enumeration value="Terminated">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="CoveredLifeStatusCodes" nillable="true" type="tns:CoveredLifeStatusCodes" />
      <xs:simpleType name="DependentCategoryCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Child">
          </xs:enumeration>
          <xs:enumeration value="Spouse">
          </xs:enumeration>
          <xs:enumeration value="Insured">
          </xs:enumeration>
          <xs:enumeration value="Dependent">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="DependentCategoryCodes" nillable="true" type="tns:DependentCategoryCodes" />
      <xs:simpleType name="DependentSubCategoryCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Student">
          </xs:enumeration>
          <xs:enumeration value="Minor">
          </xs:enumeration>
          <xs:enumeration value="CommonLaw">
          </xs:enumeration>
          <xs:enumeration value="Married">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="DependentSubCategoryCodes" nillable="true" type="tns:DependentSubCategoryCodes" />
      <xs:simpleType name="EmploymentTypeCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Director">
          </xs:enumeration>
          <xs:enumeration value="FullTimeSalary">
          </xs:enumeration>
          <xs:enumeration value="FullTimeHourly">
          </xs:enumeration>
          <xs:enumeration value="PartTimeSalary">
          </xs:enumeration>
          <xs:enumeration value="PartTimeHourly">
          </xs:enumeration>
          <xs:enumeration value="OwnerOperator">
          </xs:enumeration>
          <xs:enumeration value="Retired">
          </xs:enumeration>
          <xs:enumeration value="Seasonal">
          </xs:enumeration>
          <xs:enumeration value="Casual">
          </xs:enumeration>
          <xs:enumeration value="Client">
          </xs:enumeration>
          <xs:enumeration value="Consultant">
          </xs:enumeration>
          <xs:enumeration value="Contract">
          </xs:enumeration>
          <xs:enumeration value="ElectedOfficial">
          </xs:enumeration>
          <xs:enumeration value="JobShare">
          </xs:enumeration>
          <xs:enumeration value="Temporary">
          </xs:enumeration>
          <xs:enumeration value="Volunteer">
          </xs:enumeration>
          <xs:enumeration value="MSDRecipientnotEE">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="EmploymentTypeCodes" nillable="true" type="tns:EmploymentTypeCodes" />
      <xs:simpleType name="FamilyCategoryCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Single">
          </xs:enumeration>
          <xs:enumeration value="Family">
          </xs:enumeration>
          <xs:enumeration value="Couple">
          </xs:enumeration>
          <xs:enumeration value="NotApplicable">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="FamilyCategoryCodes" nillable="true" type="tns:FamilyCategoryCodes" />
      <xs:simpleType name="FrequencyCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Annual">
          </xs:enumeration>
          <xs:enumeration value="BiMonthly">
          </xs:enumeration>
          <xs:enumeration value="BiWeekly">
          </xs:enumeration>
          <xs:enumeration value="Hourly">
          </xs:enumeration>
          <xs:enumeration value="Monthly">
          </xs:enumeration>
          <xs:enumeration value="Quarterly">
          </xs:enumeration>
          <xs:enumeration value="SemiAnnually">
          </xs:enumeration>
          <xs:enumeration value="SemiMonthly">
          </xs:enumeration>
          <xs:enumeration value="Weekly">
          </xs:enumeration>
          <xs:enumeration value="LifeTime">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="FrequencyCodes" nillable="true" type="tns:FrequencyCodes" />
      <xs:simpleType name="IncomeTypeCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Salary">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="IncomeTypeCodes" nillable="true" type="tns:IncomeTypeCodes" />
      <xs:simpleType name="LanguageCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="ENG">
          </xs:enumeration>
          <xs:enumeration value="FRA">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="LanguageCodes" nillable="true" type="tns:LanguageCodes" />
      <xs:simpleType name="LineOfBusinessCategoryCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Health">
          </xs:enumeration>
          <xs:enumeration value="Dental">
          </xs:enumeration>
          <xs:enumeration value="Life">
          </xs:enumeration>
          <xs:enumeration value="AccidentalDeathAndDismemberment">
          </xs:enumeration>
          <xs:enumeration value="Disability">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="LineOfBusinessCategoryCodes" nillable="true" type="tns:LineOfBusinessCategoryCodes" />
      <xs:simpleType name="ProvinceCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="AB">
          </xs:enumeration>
          <xs:enumeration value="BC">
          </xs:enumeration>
          <xs:enumeration value="MB">
          </xs:enumeration>
          <xs:enumeration value="NB">
          </xs:enumeration>
          <xs:enumeration value="NL">
          </xs:enumeration>
          <xs:enumeration value="NT">
          </xs:enumeration>
          <xs:enumeration value="NS">
          </xs:enumeration>
          <xs:enumeration value="ON">
          </xs:enumeration>
          <xs:enumeration value="PE">
          </xs:enumeration>
          <xs:enumeration value="QC">
          </xs:enumeration>
          <xs:enumeration value="SK">
          </xs:enumeration>
          <xs:enumeration value="YT">
          </xs:enumeration>
          <xs:enumeration value="NU">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="ProvinceCodes" nillable="true" type="tns:ProvinceCodes" />
      <xs:simpleType name="ReapplicationReasonCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Exception">
          </xs:enumeration>
          <xs:enumeration value="Invalid">
          </xs:enumeration>
          <xs:enumeration value="Valid">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="ReapplicationReasonCodes" nillable="true" type="tns:ReapplicationReasonCodes" />
      <xs:simpleType name="SexCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Male">
          </xs:enumeration>
          <xs:enumeration value="Female">
          </xs:enumeration>
          <xs:enumeration value="NotApplicable">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="SexCodes" nillable="true" type="tns:SexCodes" />
      <xs:simpleType name="StateCodes">
        <xs:restriction base="xs:string">
          <xs:enumeration value="AL">
          </xs:enumeration>
          <xs:enumeration value="AK">
          </xs:enumeration>
          <xs:enumeration value="AZ">
          </xs:enumeration>
          <xs:enumeration value="AR">
          </xs:enumeration>
          <xs:enumeration value="CA">
          </xs:enumeration>
          <xs:enumeration value="Colorado">
          </xs:enumeration>
          <xs:enumeration value="CT">
          </xs:enumeration>
          <xs:enumeration value="DE">
          </xs:enumeration>
          <xs:enumeration value="DC">
          </xs:enumeration>
          <xs:enumeration value="FL">
          </xs:enumeration>
          <xs:enumeration value="GA">
          </xs:enumeration>
          <xs:enumeration value="HI">
          </xs:enumeration>
          <xs:enumeration value="ID">
          </xs:enumeration>
          <xs:enumeration value="IL">
          </xs:enumeration>
          <xs:enumeration value="IN">
          </xs:enumeration>
          <xs:enumeration value="IA">
          </xs:enumeration>
          <xs:enumeration value="KS">
          </xs:enumeration>
          <xs:enumeration value="KY">
          </xs:enumeration>
          <xs:enumeration value="LA">
          </xs:enumeration>
          <xs:enumeration value="ME">
          </xs:enumeration>
          <xs:enumeration value="MD">
          </xs:enumeration>
          <xs:enumeration value="MA">
          </xs:enumeration>
          <xs:enumeration value="MI">
          </xs:enumeration>
          <xs:enumeration value="MN">
          </xs:enumeration>
          <xs:enumeration value="MS">
          </xs:enumeration>
          <xs:enumeration value="MO">
          </xs:enumeration>
          <xs:enumeration value="MT">
          </xs:enumeration>
          <xs:enumeration value="NE">
          </xs:enumeration>
          <xs:enumeration value="NV">
          </xs:enumeration>
          <xs:enumeration value="NH">
          </xs:enumeration>
          <xs:enumeration value="NJ">
          </xs:enumeration>
          <xs:enumeration value="NM">
          </xs:enumeration>
          <xs:enumeration value="NY">
          </xs:enumeration>
          <xs:enumeration value="NC">
          </xs:enumeration>
          <xs:enumeration value="ND">
          </xs:enumeration>
          <xs:enumeration value="OH">
          </xs:enumeration>
          <xs:enumeration value="OK">
          </xs:enumeration>
          <xs:enumeration value="OR">
          </xs:enumeration>
          <xs:enumeration value="PA">
          </xs:enumeration>
          <xs:enumeration value="RI">
          </xs:enumeration>
          <xs:enumeration value="SC">
          </xs:enumeration>
          <xs:enumeration value="SD">
          </xs:enumeration>
          <xs:enumeration value="TN">
          </xs:enumeration>
          <xs:enumeration value="TX">
          </xs:enumeration>
          <xs:enumeration value="UT">
          </xs:enumeration>
          <xs:enumeration value="VT">
          </xs:enumeration>
          <xs:enumeration value="VA">
          </xs:enumeration>
          <xs:enumeration value="WA">
          </xs:enumeration>
          <xs:enumeration value="WV">
          </xs:enumeration>
          <xs:enumeration value="WI">
          </xs:enumeration>
          <xs:enumeration value="WY">
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="StateCodes" nillable="true" type="tns:StateCodes" />
      <xs:complexType name="Address">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="City" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line1" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line2" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line3" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line4" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Address" nillable="true" type="tns:Address" />
      <xs:complexType name="InternationalAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="Region" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="InternationalAddress" nillable="true" type="tns:InternationalAddress" />
      <xs:complexType name="CanadianAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Province" nillable="true" type="tns:ProvinceCodes" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="CanadianAddress" nillable="true" type="tns:CanadianAddress" />
      <xs:complexType name="AmericanAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="State" nillable="true" type="tns:StateCodes">
              </xs:element>
              <xs:element minOccurs="0" name="ZipCode" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="AmericanAddress" nillable="true" type="tns:AmericanAddress" />
      <xs:complexType name="Person">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Client">
            <xs:sequence>
              <xs:element minOccurs="0" name="DateOfBirth" nillable="true" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="MaidenName" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="MiddleName" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="PreferredName" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="***" type="tns:SexCodes">
              </xs:element>
              <xs:element minOccurs="0" name="Suffix" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Person" nillable="true" type="tns:Person" />
      <xs:complexType name="Client">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="Contacts" nillable="true" type="tns:ArrayOfContactInformation">
              </xs:element>
              <xs:element minOccurs="0" name="DefaultAddress" nillable="true" type="tns:Address">
              </xs:element>
              <xs:element minOccurs="0" name="DefaultEmail" nillable="true" type="tns:ContactInformation">
              </xs:element>
              <xs:element minOccurs="0" name="DefaultPhone" nillable="true" type="tns:ContactInformation">
              </xs:element>
              <xs:element minOccurs="0" name="PreferredContact" nillable="true" type="tns:CorrespondenceMethodCodes">
              </xs:element>
              <xs:element minOccurs="0" name="PreferredLanguage" nillable="true" type="tns:LanguageCodes">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Client" nillable="true" type="tns:Client" />
      <xs:complexType name="Division">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Structurable">
            <xs:sequence>
              <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="SubDivisions" nillable="true" type="tns:ArrayOfDivision">
              </xs:element>
              <xs:element minOccurs="0" name="EffectiveDate" nillable="true" type="xs:dateTime">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Division" nillable="true" type="tns:Division" />
      <xs:complexType name="Structurable">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Structurable" nillable="true" type="tns:Structurable" />
      <xs:complexType name="CoveredLife">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="ApplicationDate" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="CancelReason" nillable="true" type="tns:CancelReasonCodes">
              </xs:element>
              <xs:element minOccurs="0" name="CoverageDeclines" nillable="true" type="tns:ArrayOfBenefitDecline">
              </xs:element>
              <xs:element minOccurs="0" name="CoveredLifeHolder" nillable="true" type="tns:Person">
              </xs:element>
              <xs:element minOccurs="0" name="DependentCategory" nillable="true" type="tns:DependentCategoryCodes">
              </xs:element>
              <xs:element minOccurs="0" name="DependentSubCategory" nillable="true" type="tns:DependentSubCategoryCodes">
              </xs:element>
              <xs:element minOccurs="0" name="EffectiveDate" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="Number" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="QualificationDate" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="Status" nillable="true" type="tns:CoveredLifeStatusCodes">
              </xs:element>
              <xs:element minOccurs="0" name="TerminationDate" type="xs:dateTime">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="CoveredLife" nillable="true" type="tns:CoveredLife" />
      <xs:complexType name="Certificate">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="Class" nillable="true" type="tns:Class">
              </xs:element>
              <xs:element minOccurs="0" name="CurrentEmploymentRecord" nillable="true" type="tns:EmploymentRecord">
              </xs:element>
              <xs:element minOccurs="0" name="CurrentIncome" nillable="true" type="tns:Income">
              </xs:element>
              <xs:element minOccurs="0" name="Dependents" nillable="true" type="tns:ArrayOfCoveredLife">
              </xs:element>
              <xs:element minOccurs="0" name="Division" nillable="true" type="tns:Division">
              </xs:element>
              <xs:element minOccurs="0" name="FamilyCategory" nillable="true" type="tns:FamilyCategoryCodes">
              </xs:element>
              <xs:element minOccurs="0" name="HealthCareSpendingAccountInformation" nillable="true" type="tns:HealthCareSpendingAccountInformation">
              </xs:element>
              <xs:element minOccurs="0" name="HireDate" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="InsuredCoveredLife" nillable="true" type="tns:CoveredLife">
              </xs:element>
              <xs:element minOccurs="0" name="JobTitle" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Number" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="PayrollNumber" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Plan" nillable="true" type="tns:Plan">
              </xs:element>
              <xs:element minOccurs="0" name="RegionalAdministration" nillable="true" type="tns:RegionalAdministrativeInformation">
              </xs:element>
              <xs:element minOccurs="0" name="Section" nillable="true" type="tns:Section">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Certificate" nillable="true" type="tns:Certificate" />
      <xs:complexType name="Policy">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Structurable">
            <xs:sequence>
              <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Certificates" nillable="true" type="tns:ArrayOfCertificate">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Policy" nillable="true" type="tns:Policy" />
      <xs:complexType name="Class">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Structurable">
            <xs:sequence>
              <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="EffectiveDate" type="xs:dateTime">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Class" nillable="true" type="tns:Class" />
      <xs:complexType name="Plan">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Structurable">
            <xs:sequence>
              <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="EffectiveDate" type="xs:dateTime" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Plan" nillable="true" type="tns:Plan" />
      <xs:complexType name="ArrayOfPolicy">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Policy" nillable="true" type="tns:Policy" />
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ArrayOfPolicy" nillable="true" type="tns:ArrayOfPolicy" />
      <xs:complexType name="BenefitDecline">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="ChangeEffectiveDate" nillable="true" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="DeclineReason" nillable="true" type="tns:CancelReasonCodes">
              </xs:element>
              <xs:element minOccurs="0" name="Declined" nillable="true" type="xs:boolean">
              </xs:element>
              <xs:element minOccurs="0" name="LineOfBusinessCategory" nillable="true" type="tns:LineOfBusinessCategoryCodes">
              </xs:element>
              <xs:element minOccurs="0" name="ReapplicationReason" nillable="true" type="tns:ReapplicationReasonCodes">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="BenefitDecline" nillable="true" type="tns:BenefitDecline" />
      <xs:complexType name="ContactInformation">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="CorrespondenceMethod" nillable="true" type="tns:CorrespondenceMethodCodes">
              </xs:element>
              <xs:element minOccurs="0" name="CorrespondenceNote" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="CorrespondenceType" nillable="true" type="tns:CorrespondenceTypeCodes">
              </xs:element>
              <xs:element minOccurs="0" name="Data" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="ContactInformation" nillable="true" type="tns:ContactInformation" />
      <xs:complexType name="EmploymentRecord">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="EffectiveDate" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="Frequency" nillable="true" type="tns:FrequencyCodes">
              </xs:element>
              <xs:element minOccurs="0" name="HoursWorked" type="xs:decimal">
              </xs:element>
              <xs:element minOccurs="0" name="SalaryAmount" nillable="true" type="xs:decimal">
              </xs:element>
              <xs:element minOccurs="0" name="Type" nillable="true" type="tns:EmploymentTypeCodes">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="EmploymentRecord" nillable="true" type="tns:EmploymentRecord" />
      <xs:complexType name="Enrollment">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="Policies" nillable="true" type="tns:ArrayOfPolicy">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Enrollment" nillable="true" type="tns:Enrollment" />
      <xs:complexType name="HealthCareSpendingAccountInformation">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="AllocationAmount" type="xs:decimal">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="HealthCareSpendingAccountInformation" nillable="true" type="tns:HealthCareSpendingAccountInformation" />
      <xs:complexType name="Income">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="Amount" type="xs:decimal">
              </xs:element>
              <xs:element minOccurs="0" name="EffectiveDate" type="xs:dateTime">
              </xs:element>
              <xs:element minOccurs="0" name="Frequency" nillable="true" type="tns:FrequencyCodes">
              </xs:element>
              <xs:element minOccurs="0" name="Type" nillable="true" type="tns:IncomeTypeCodes">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Income" nillable="true" type="tns:Income" />
      <xs:complexType name="RegionalAdministrativeInformation">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="ProvinceOfBilling" nillable="true" type="tns:ProvinceCodes">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="RegionalAdministrativeInformation" nillable="true" type="tns:RegionalAdministrativeInformation" />
      <xs:complexType name="Section">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Section" nillable="true" type="tns:Section" />
      <xs:complexType name="ArrayOfContactInformation">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactInformation" nillable="true" type="tns:ContactInformation" />
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ArrayOfContactInformation" nillable="true" type="tns:ArrayOfContactInformation" />
      <xs:complexType name="ArrayOfDivision">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Division" nillable="true" type="tns:Division" />
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ArrayOfDivision" nillable="true" type="tns:ArrayOfDivision" />
      <xs:complexType name="ArrayOfCertificate">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Certificate" nillable="true" type="tns:Certificate" />
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ArrayOfCertificate" nillable="true" type="tns:ArrayOfCertificate" />
      <xs:complexType name="ArrayOfCoveredLife">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="CoveredLife" nillable="true" type="tns:CoveredLife" />
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ArrayOfCoveredLife" nillable="true" type="tns:ArrayOfCoveredLife" />
      <xs:complexType name="ArrayOfBenefitDecline">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="BenefitDecline" nillable="true" type="tns:BenefitDecline" />
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ArrayOfBenefitDecline" nillable="true" type="tns:ArrayOfBenefitDecline" />
    </xs:schema><!-- BusinessObjects Version 3.2.471 -->

  • How To Remove Empty Node From Source XML

    Hi,
    How can I remove an empty node from the source xml in a XSLT mapping.
    For e.g. If the source xml is like:
    <SRC>
    <Node1>SAP</Node2>
    <Node2/>
    <Node3>XI</Node3>
    </SRC>
    Then the xml should become:
    <SRC>
    <Node1>SAP</Node2>
    <Node3>XI</Node3>
    </SRC>
    I need to do this because the output of my XSLT mapping is showing blank spaces for each blank node.
    Thanks,
    Abhishek.

    Use <xsl:if>
    Or else you may find different options here
    http://www.dpawson.co.uk/xsl/sect2/N3328.html#d4804e304
    Regards,
    Prateek

  • How create a Value Mapping Table in XI 3.0?

    Hi:
        I wish make a single sample scenario where receiving data must be converted according to convertion table:
      01 -
           Legacy A | Legacy B  -
    M
                 Male:              01     |    M
                 Female:            02     |    F
    And I don´t know how build it. Must I create anything in Integration Repository? (any special message mapping or function?).
    Anyone know about weblog where explain step by step for "value mapping group" and "value mapping tables" creation?
    Help me please.
    Regards!!
    David.

    Hi David,
    You can create value mapping tables in Integration Directory.
    First you have to create Value mapping group using menu Object>new>Value mapping Group
    to Display value mapping you have to use Tools--> Value mapping.
    Also refer to following link on help.sap.com
    http://help.sap.com/saphelp_nw04/helpdata/en/13/ba20dd7beb14438bc7b04b5b6ca300/content.htm
    In IR Graphical mapping tool, use the standard function Conversions-->Value mapping.
    Hope this helps.
    Rgds,
    Sam Raju
    Message was edited by: Sam Raju
    Message was edited by: Sam Raju

  • Remove xml node based on value

    Hi,
    we have to remove elements bases on the value.
    for example consider below xml
    <htl:room>
              <htl:ratePlan>
                <htl:freeNights>12</htl:freeNights>
                <htl:promoSavings>undefined</htl:promoSavings>
                <htl:tax>undefined</htl:tax>
              </htl:ratePlan>
              <htl:guestAllocation>1,2</htl:guestAllocation>
            </htl:room>
    We have to remove elements with value undefined and should construct a new xml as below
    <htl:room>
              <htl:ratePlan>
                <htl:freeNights>12</htl:freeNights>
              </htl:ratePlan>
              <htl:guestAllocation>1,2</htl:guestAllocation>
            </htl:room>
    please help.
    Thanks

    i assume that loc always corresponds to name. So to find the rows to remain is just a simple group by
    with data as(
    select 'aaa' name,'a1' loc,10 count from dual union all
    select 'aaa','a1',0 from dual union all
    select 'bbb','b1',0 from dual union all
    select 'ccc','c1',0 from dual union all
    select 'dcc','d1',11 from dual union all
    select 'dcc','d1',0 from dual )
    select
      name
    , loc
    , max(count) cnt
    from data
    group by
      name
    , loc
    order by
      name
    , loc
    NAME     LOC     CNT
    aaa     a1     10
    bbb     b1     0
    ccc     c1     0
    dcc     d1     11to find the other is just a minus
    with data as(
    select 'aaa' name,'a1' loc,10 count from dual union all
    select 'aaa','a1',0 from dual union all
    select 'bbb','b1',0 from dual union all
    select 'ccc','c1',0 from dual union all
    select 'dcc','d1',11 from dual union all
    select 'dcc','d1',0 from dual )
    select name,loc,count from data
    minus
    select
      name
    , loc
    , max(count) cnt
    from data
    group by
      name
    , loc
    order by
      name
    , loc
    NAME     LOC     COUNT
    aaa     a1     0
    dcc     d1     0so a delete would be
    delete from data
    where
    (name,loc,count)
    in
    (select name,loc,count from data
    minus ..regards

  • Remove empty nodes in the target structure

    Hi,
    My scenario is IDoc-XI-JDBC.
    For one IDoc I need to update data in 4 tables. But if idoc contains ATWRT node then it should update 4 tables if not only first two tables.
    For the statement 3 and 4, i have done the following mapping.
    [ATWRT][collapseContexts]-[exists]--[if then][statement3]
    but in the target sturcture I am getting blank node as following:
    <statement3/>.
    And because of this blank statement JDBC Adapter is throwing an error.
    Can anyone help me how to remove this blank node from target structure.

    Jwalith,
    I hope you must have kept the Statement node occurrence as 0..xxxx(1 or n), if that's the case you don't need to check anything. Just map the ATWRT directly to Statement 3 and Statement 4.
    By the way what's the occurence of ATWRT node ? I gave the above suggestion, keeping in mind that ATWRT node occurrence is 0..1.
    If the occurrence of  ATWRT is not 0..Unbounded, then you can also use the below simple UDF.
    ATWRT >UDF>Statement3
    ATWRT >UDF>Statement4
    UDF - Advanced(Queue), with one Parameter (
    if( ATWRT.length >0)
    result.addValue("");
    else
    result.addSuppress();
    Thanks,
    raj.

  • How can we remove empty space created in the flat file unintentionally

    Hi Forums,
    In our data flow, transactional data is flowing from one ODS(Acquisition Layer) to two different ODS's(Integration Layer) parallely. Error occured in first ODS(Acquisition Layer) i.e ODS was not getting activated for long time coz of empty space[#] in one of the infoobjects of a particular record. After manually deleting the request in two ODS's of Integration Layer & edited that particular record in PSA and reconstructed that deleted request form PSA the problem was solved.
    This wrong entry is getting visible only at the time of ODS activation. Can any one suggest me a permanent solution for not occuring of empty space at the source system level or at SAP XI interface level or in the SAP BW system level?
    Thanks in advance

    Hi,
    If your ino object is of numeric type then check the condition if it is # (empty) then
    replace with 0 (zero), if it is char. then make it SPACE..you can use this following statement in your transfer / update rule for the IO.
    replace all occurances of '#'  with ' '.  (for Char.)
    (for Numeric)
    if COMM_STRUCTURE-XXXX is initial.  
    RESULT = 0.
    endif.
    Hope it helps..
    assign points if useful.
    Cheers,
    Pattan.

  • Value Mapping Clarification

    Hi All,
    I have a question on value mapping.We have created a Value Mapping and maintained a GroupName for it.
    Now we want to change the Source and Target Value and delete old values.So,do we need to create a new GroupName after changing Source and Target Value or will this work with Old GroupName also.
    Regards,
    Sahana

    Hi Sahana,
    Not sure what you meant by
    Now we want to change the Source and Target Value and delete old values.So,do we need to create a new GroupName after changing Source and Target Value or will this work with Old GroupName also.
    Adding or removing values in a value mapping group should be straight forward and you can use the same group name.
    Regards,
    Mark

  • XI30 - Value Mapping Group ?

    Hi,
    Inside XI, I need to create several conversions.
    I want to use a "Value Mapping" and not a "FixValue".
    I succeed with a simple test with a value mapping...
    But as I need to create about 30 value mappings, I need to know exactly what is a "value mapping group" in order to integrate it correctly?
    <u>Example of conversion table</u>: UnitMeasurement (like table T006B of R/3)
      <u>Source | Target</u>
       Unit1 |  U1
       Unit2 |  U2
       ...   |   ...
       Unitn |  Un
    Currently inside XI30, I have created this value mapping:
      Source Agency: BS_PC (Business System for PC)
      Source Scheme: UnitMeasurement
      Target Agency: BS_R3 (Business System for R/3)
      Target Scheme: UnitMeasurement
      <u>Source Value | Target value |  Group name</u>
       Unit1       | U1  |
       Unit2       | U2  |
       ...         | ... |
       Unitn       | Un  |
    Thanks.

    A Value Mapping Group helps you to keep values of different systems together and it is useful, when you want to maintain values for three or more business systems.
    Example: You have three business systems A B C and have different values for Company Code in each system
    A    B    C
    0001 T100 A-01
    0002 T200 A-02
    0003 T300 A-03
    Now you can maintain the values as pair of agencies:
    A    B    Group Name
    0001 T100 T100
    0002 T200 T200
    0003 T300 T300
    And you can maintain the values belonging to the same group:
    A 0001
    B T100
    C A-01
    You need not maintain values for groups, so leave it empty, when you have only two different columns of values.
    Regards
    Stefan

  • Value mapping does not work

    Hi All,
    I can not get value mapping in XI 3.0 to work. Has anyone experience with this, the documentation is soo bad. This is what I have done:
    In the Graphical mapper I used the object "Value mapping" and filled in the following parameters:
    Value mapping context: http://sap.com/xi/XI
    Source
    Agency: System1
    Schema: UnitSystem1
    Target
    Agency: System2
    Schema: UnitSystem2
    In the directory I created an Value mapping table with the same paremeters as above and filled in the table.
    When I test the complete flow, the value mapping is not used. The unchanged values are just copied over to the target field.
    Any help is appreciated.
    Cheers,
    Frank

    Hi Colin,
    In test Mode you can't test the value mapping, because the value mapping table is part of the Directory. Instead of the Value Mapping I tried "Fixed Values" and that works, but you can not re-used it.
    If this advanced mapping guide explanes how to use the value mapping better then the standard "how to" mapping guide, please send it to me.
    email: [email protected]
    Cheers,
    Frank

  • How to put identical target value in value mapping table

    Hi all ,
             I am implementing a value mapping function .Problem is occuring for repetated target value.for ex: if key is GL001 GL002 GL003  and destination value is 4 5 4 then its creating problem for identical values i.e for  both GL001 & GLOO3 its not accepting 4 .Same manner for many diffrent glncode i have  identical values.not understanding how to deal with these identical values please guide me as its very urgent.
    Regards,
    Saurabh

    Hi saurabh,
    you can try this out....
    First you create a value mapping table in ID like:
    AWSYS   GLNCODE
    GLOO1     10
    GLOO2     20
    (without GLOO3).
    now in your message mapping do the following mapping:
                              Contant[GLOO1]
                                   |
                                   |(then)
    AWSYS-------------> equals---->if----------------->Value Mapping---->GLNCODE
                        |          |(else)
                        |          |
    Constant[GLOO3]-----|        AWSYS
    **Reward points if helpful...
    --Sankar Choudhury

  • ABAP program and FB for value mapping replication

    Hi,
    we are using a 40B system and I want to use the value mapping replication in XI. To refill the data into the XI database I must write an ABAP and a function module to transfer the data out of R/3 into XI (via RFC). Has anybody an example how the program (and the FB) must look like? i.e I want to read table mvke and extract the materialnumber and the prodhierarchy.
    Thanks and best regards
    Arnold

    Hi Arnold,
    First you need a table type with a structure like follows:
    operation
    groupid
    context
    identifier
    agency
    scheme
    (corresponding to the Interface ValueMappingReplication)
    All used data elements should have type string or charXX
    for example: operation - char10, groupid - char32, rest - char120
    Next you create a function module with attribute 'remote-enabled module'.
    The import parameter is your new table structure.
    Next you create an ABAP program. Here an example:
    report z_value_mapping .
    tables mvke.
    data:
    p_value_mapping type zvalue_mapping,
    p_value_mapping_table type zvalue_mapping_table.
    p_value_mapping-operation = 'Insert'.
    p_value_mapping-context = 'http://xi.com/Material'.
    select * from mvke where matnr between '170' and '501'.
    check not mvke-prodh is initial.
    * Create a value mapping group to join two entries.
    * use a unique 32 digit number.
    concatenate '00000000000000' mvke-prodh into p_value_mapping-groupid.
    translate p_value_mapping-groupid using ' 0'.
    * Store the mapping source as first entry to the group
    p_value_mapping-identifier = mvke-matnr.
    p_value_mapping-agency = 'SenderAgency'.
    p_value_mapping-scheme = 'MATNR'.
    append p_value_mapping to p_value_mapping_table.
    * Store the mapping target as second entry to the group
    p_value_mapping-identifier = mvke-prodh.
    p_value_mapping-agency = 'ReceiverAgency'.
    p_value_mapping-scheme = 'PRODH'.
    append p_value_mapping to p_value_mapping_table.
    endselect.
    * Push data to XI
    call function 'Z_VALUE_MAPPING' in background task
      destination 'IS_XID'
      exporting
        value_mapping       = p_value_mapping_table.
        commit work.
    Import the RFC to the Integration Builder, create a mapping between your RFC and the interface ValueMappingReplication.
    Check this Blog for additional steps:
    /people/sreekanth.babu2/blog/2005/02/23/value-mapping-replication
    Choose names for context, agency and scheme which are useful your scenario.
    Regards
    Stefan

  • Value Mapping - N:1 Mapping

    I need to create a value mapping like this
    A --> 1
    B --> 2
    C --> 2
    D --> 2
    E --> 3
    So that if the source field has 'A' the value mapping returns 1 and if my source field has 'B' or 'C' or 'D' it should return 2.
    When I create this in value mapping table, it doesnu2019t accept and gives an error saying it is a duplicate mapping entry.
    I know that value map tables are mean to hold two way data mappings and hence doesnt allow what I'm trying to do here, but still is there a standard way to do this ?
    I dont want to use  FixValues function here since this value map table would be used by other message mappings too and hence if I go for a FixValues function I would have to create it in every mapping (hence not a good solution).
    I also want to avoid non standard techniques like entering unique values in the value mapping table and later do a string function in the message mapping to cut out the actual value as mentioned by grube in some blog i read.

    I have already tried that and it doesnt accept duplicate entries in the targt values.

  • Value Mapping values..question

    i have been through the value Mapping documentation, and we are trying to analyze a message Map where there are value maps, However we are not able to find the value maps maintained in ID when i select the tools --> value mapping and specify the context, agency and schema for the source values and agency and schema for target values...
    Where is this table maintained, where can we view the values in it...?
    Do we need any additional permissions to view this table.
    When we test it the values dont show up in message mapping tests, however they do show up at runtime as they should..we need to edit and add some values to this table but are unable to find it...
    Preetha

    > i have been through the value Mapping documentation, and we are trying to analyze a message Map where there are value maps, However we are not able to find the value maps maintained in ID when i select the tools --> value mapping and specify the context, agency and schema for the source values and agency and schema for target values...
    >
    > Where is this table maintained, where can we view the values in it...?
    In ID under tools --> value mapping you need to create the value mapping groups and there specify the values.
    >
    > Do we need any additional permissions to view this table.
    No.
    > When we test it the values dont show up in message mapping tests, however they do show up at runtime as they should..we need to edit and add some values to this table but are unable to find it...
    You can see the value only at RunTime and not while testing in test tab in message mapping. Go to ID open your value mapping group and there you can edit or add new entrie.
    Regards,
    Sarvesh

  • Multiple source values to single target in value mapping

    Hi Experts,
    I have to acheive below thing using value mapping.
    Source                        Target
    ABC                            111
    CBA                            111
    XYZ                             222
    ZYX                             222
    When I am trying to do this in ID, It is not allowing me.
    Is there a way to do this?
    Regards,
    Prasad

    Source            Target
      ABC               111
      CBA               111
      XYZ               222
      ZYX               222
    For the above source and target you have to create 2 value mapping groups.
    In more detail I want to say is,
    1. Just create your value mapping by using Source & target Agency & Schema.
    2. Create your first value mapping group which will return the traget value as '111'.
    3. Create your second value mapping group within the same  Agency & Schema which will return you '222'.
    While creating it If get any warning just ignore it..
    Note: You can add multiple value mapping groups if you have different outputs for different sources.
    Regards,
    Sarvesh

Maybe you are looking for

  • How do i uninstall lightroom 4.4 and get back to 4.3?

    I certainly made a mistake trying 4.4.  I did a few things in 4.4 am not sure where the problem started, but i made numerous changes in photoshop (always updating the metadata) and things seemed fine.  Then i created a new file in photoshop and did a

  • Problem with Photoshop CS5

    Hello, Many years ago I bought Photoshop CS5 in french. Waiting for the CD I downloaded the trial version. When I received the CD with the licence number, I only had to put the licence number in the trial version. Now I would like to put back CS5 in

  • Exporting Flash to Director WITH video

    In Flash, I have created a digital camera, that, when a button is pressed, the screen changes from showing pictures to showing a video. This works all fine and well in Flash, however, it has to work in Director. Now I imported it into Director, obvio

  • Batch determination during operation and purchase

    plz guide me for basic setting for batch define in different stage: scenario: *Roh material* steps: po creation          migo:    don't define batch          user decision : to define batch Semifinished mater user can decide material consumption from

  • Purchased a phone number from the wrong Skype acco...

    I mistakenly purchased a phone number before I created a new Skype account.  Is there a step that would take THAT newly purchased phone number and transfer it to the new Skype account?  If not, would I be able to get a refund?  Thanks. Solved! Go to