cancel
Showing results for 
Search instead for 
Did you mean: 

Filter Payload content based on an element value

Former Member
0 Kudos

Hi experts !

I am getting all the material list from ByD and I want to filter on the content and keep only materials which have MaterialByElementsResponse_sync/Material/Logistics/SiteID="A1100"

I added a filter component using the following XPath Expression : MaterialByElementsResponse_sync/Material/Logistics/SiteID[text()='A1100']

But its not sending w coherent content.

any idea please ?

Thanks.

BR.

Mohammed Amine.

Accepted Solutions (1)

Accepted Solutions (1)

engswee
Active Contributor
0 Kudos

Hi Mohammed Amine

The Content Filter function is actually quite a misleading one. IMHO, it should be called "XPath extractor" or something similar.

If you refer to the following online guide, it shows that the filter extracts the content of the node you provided in the XPath expression.

SAP HANA Cloud Integration (Internal, SAP HCI OEM)

It does not actually filter out the lines that fulfill your condition.

So.. what now?

In order to achieve what you want (filter message and get only lines with P1123), you need to use a message mapping object instead, performing a 1-1 mapping on all child fields, but selecting only those lines that fulfill your condition. This can also be achieved via XSLT or Groovy, so it really depends on which mapping approach you are most familiar with.

Regards

Eng Swee

Answers (1)

Answers (1)

engswee
Active Contributor
0 Kudos

Hi Mohammed Amine

Few comments:-

i) It'd be much easier if you post screenshot of your config - it's more accurate. With the above I'm not sure if you actually have a preceding forward slash (/) in your expression

ii) If your XML use namespace prefixes, make sure you have the namespace declared and the prefix used in the XPath expressions.

iii) Will be useful if you actually provide your sample input, and what you hope to filter out, i.e. expected output

Regards

Eng Swee

Former Member
0 Kudos

Thanks Eng Swene for your aswer, I thought the WSDL is a communally used for all ByD systems, but you are right it is much better with scrrenshots and code samples.

When calling the WS I get soap response with all materials in the system, then I want to filter on those materials.

this material bellow contains a SiteId = P1123

this one doesn't contain a SiteId = P1123

I need to keep only materials having P1123 as a SiteId.

Please find bellow the full SOAP response for two materials.

<MaterialByElementsResponse_sync>

   <Material>

      <ChangeStateID>                 20130506112322.6136840</ChangeStateID>

      <InternalID>P100101</InternalID>

      <UUID>00000000-0001-1ddf-bae4-6a9206da94bc</UUID>

      <SystemAdministrativeData>

         <CreationDateTime>2010-11-08T10:31:22.426725Z</CreationDateTime>

         <CreationIdentityUUID>00000000-0001-1def-b8ed-33179e818bd2</CreationIdentityUUID>

         <LastChangeDateTime>2013-05-06T11:23:22.613684Z</LastChangeDateTime>

         <LastChangeIdentityUUID>00000000-0001-1ddf-bae1-7b3378c88ba5</LastChangeIdentityUUID>

      </SystemAdministrativeData>

      <ProductCategoryID>191</ProductCategoryID>

      <BaseMeasureUnitCode>EA</BaseMeasureUnitCode>

      <InventoryValuationMeasureUnitCode>EA</InventoryValuationMeasureUnitCode>

      <PlanningMeasureUnitCode>EA</PlanningMeasureUnitCode>

      <Description>

         <Description languageCode="EN">Heater (22.8 KW)</Description>

      </Description>

      <Description>

         <Description languageCode="FR">Chauffe-eau (22,8 KW)</Description>

      </Description>

      <QuantityCharacteristic>

         <QuantityMeasureUnitCode>EA</QuantityMeasureUnitCode>

         <CharacteristicQuantity unitCode="KGM">70.15</CharacteristicQuantity>

         <CharacteristicQuantityTypeCode>NET_WT</CharacteristicQuantityTypeCode>

      </QuantityCharacteristic>

      <QuantityCharacteristic>

         <QuantityMeasureUnitCode>EA</QuantityMeasureUnitCode>

         <CharacteristicQuantity unitCode="KGM">70.15</CharacteristicQuantity>

         <CharacteristicQuantityTypeCode>GROSS_WT</CharacteristicQuantityTypeCode>

      </QuantityCharacteristic>

      <QuantityCharacteristic>

         <QuantityMeasureUnitCode>EA</QuantityMeasureUnitCode>

         <CharacteristicQuantity unitCode="MTQ">0.3</CharacteristicQuantity>

         <CharacteristicQuantityTypeCode>NET_VOL</CharacteristicQuantityTypeCode>

      </QuantityCharacteristic>

      <Purchasing>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <PurchasingMeasureUnitCode>EA</PurchasingMeasureUnitCode>

      </Purchasing>

      <Planning>

         <SupplyPlanning>

            <SupplyPlanningCategoryID>100002</SupplyPlanningCategoryID>

            <SupplyPlanningAreaID>P1100</SupplyPlanningAreaID>

            <LifeCycleStatusCode>2</LifeCycleStatusCode>

            <ProcurementTypeCode>1</ProcurementTypeCode>

            <PlanningProcedureCode>1</PlanningProcedureCode>

            <LotSizeProcedureCode>1</LotSizeProcedureCode>

            <DemandManagementProcedureCode>ATOS_MPC</DemandManagementProcedureCode>

            <PlannedDeliveryDuration>P5D</PlannedDeliveryDuration>

            <GoodsReceiptProcessingDuration>PT1H0M0S</GoodsReceiptProcessingDuration>

         </SupplyPlanning>

         <SupplyPlanning>

            <SupplyPlanningCategoryID>100002</SupplyPlanningCategoryID>

            <SupplyPlanningAreaID>P1123</SupplyPlanningAreaID>

            <LifeCycleStatusCode>2</LifeCycleStatusCode>

            <ProcurementTypeCode>3</ProcurementTypeCode>

            <PlanningProcedureCode>1</PlanningProcedureCode>

            <LotSizeProcedureCode>1</LotSizeProcedureCode>

            <DemandManagementProcedureCode>ATOS_MPC</DemandManagementProcedureCode>

            <PlannedDeliveryDuration>P5D</PlannedDeliveryDuration>

            <GoodsReceiptProcessingDuration>PT1H0M0S</GoodsReceiptProcessingDuration>

         </SupplyPlanning>

      </Planning>

      <AvailabilityConfirmation>

         <PlanningAreaID>P1100</PlanningAreaID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <AvailabilityCheckScopeCode>A11</AvailabilityCheckScopeCode>

         <GoodsIssueProcessingDuration>PT24H0M0S</GoodsIssueProcessingDuration>

         <AvailabilityCheckHorizonDuration>P9D</AvailabilityCheckHorizonDuration>

      </AvailabilityConfirmation>

      <AvailabilityConfirmation>

         <PlanningAreaID>P1123</PlanningAreaID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <AvailabilityCheckScopeCode>A11</AvailabilityCheckScopeCode>

         <GoodsIssueProcessingDuration>PT24H0M0S</GoodsIssueProcessingDuration>

      </AvailabilityConfirmation>

      <Logistics>

         <SiteID>A1100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>P1100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <CycleCountPlannedDuration>P20D</CycleCountPlannedDuration>

      </Logistics>

      <Logistics>

         <SiteID>S1100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>S1130</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>2100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>P1123</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Valuation>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <CompanyID>1000</CompanyID>

         <BusinessResidenceID>P1100</BusinessResidenceID>

      </Valuation>

      <Valuation>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <CompanyID>1000</CompanyID>

         <BusinessResidenceID>P1123</BusinessResidenceID>

      </Valuation>

      <Valuation>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <CompanyID>2000</CompanyID>

         <BusinessResidenceID>2100</BusinessResidenceID>

      </Valuation>

      <IndiaMaterialTypeCode listID="3"> </IndiaMaterialTypeCode>

   </Material>

<Material>

      <ChangeStateID>                 20130212135924.3474940</ChangeStateID>

      <InternalID>P300001</InternalID>

      <UUID>00163e03-d8e8-1ee2-96fe-d51aeadfb5b7</UUID>

      <SystemAdministrativeData>

         <CreationDateTime>2013-01-11T14:15:18.400808Z</CreationDateTime>

         <CreationIdentityUUID>00000000-0001-1ddf-bae1-7b3378c88ba5</CreationIdentityUUID>

         <LastChangeDateTime>2013-02-12T13:59:24.347494Z</LastChangeDateTime>

         <LastChangeIdentityUUID>00000000-0001-1ddf-bae1-7b3378c88ba5</LastChangeIdentityUUID>

      </SystemAdministrativeData>

      <ProductCategoryID>170</ProductCategoryID>

      <BaseMeasureUnitCode>EA</BaseMeasureUnitCode>

      <InventoryValuationMeasureUnitCode>EA</InventoryValuationMeasureUnitCode>

      <PlanningMeasureUnitCode>EA</PlanningMeasureUnitCode>

      <Description>

         <Description languageCode="EN">Mouse Pad</Description>

      </Description>

      <Description>

         <Description languageCode="FR">Tapis de souris</Description>

      </Description>

      <Purchasing>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <PurchasingMeasureUnitCode>EA</PurchasingMeasureUnitCode>

      </Purchasing>

      <Planning>

         <SupplyPlanning>

            <SupplyPlanningCategoryID>100003</SupplyPlanningCategoryID>

            <SupplyPlanningAreaID>P1100</SupplyPlanningAreaID>

            <LifeCycleStatusCode>2</LifeCycleStatusCode>

            <ProcurementTypeCode>2</ProcurementTypeCode>

            <PlanningProcedureCode>1</PlanningProcedureCode>

            <LotSizeProcedureCode>1</LotSizeProcedureCode>

            <DemandManagementProcedureCode>ATOS_MPC</DemandManagementProcedureCode>

            <PlannedDeliveryDuration>P5D</PlannedDeliveryDuration>

         </SupplyPlanning>

         <SupplyPlanning>

            <SupplyPlanningCategoryID>100003</SupplyPlanningCategoryID>

            <SupplyPlanningAreaID>P1123</SupplyPlanningAreaID>

            <LifeCycleStatusCode>2</LifeCycleStatusCode>

            <ProcurementTypeCode>2</ProcurementTypeCode>

            <PlanningProcedureCode>1</PlanningProcedureCode>

            <LotSizeProcedureCode>1</LotSizeProcedureCode>

            <DemandManagementProcedureCode>ATOS_MPC</DemandManagementProcedureCode>

            <PlannedDeliveryDuration>P5D</PlannedDeliveryDuration>

         </SupplyPlanning>

         <SupplyPlanning>

            <SupplyPlanningCategoryID>100003</SupplyPlanningCategoryID>

            <SupplyPlanningAreaID>2100</SupplyPlanningAreaID>

            <LifeCycleStatusCode>2</LifeCycleStatusCode>

            <ProcurementTypeCode>2</ProcurementTypeCode>

            <PlanningProcedureCode>1</PlanningProcedureCode>

            <LotSizeProcedureCode>1</LotSizeProcedureCode>

            <DemandManagementProcedureCode>ATOS_MPC</DemandManagementProcedureCode>

            <PlannedDeliveryDuration>P5D</PlannedDeliveryDuration>

         </SupplyPlanning>

      </Planning>

      <AvailabilityConfirmation>

         <PlanningAreaID>P1100</PlanningAreaID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <AvailabilityCheckScopeCode>A11</AvailabilityCheckScopeCode>

      </AvailabilityConfirmation>

      <AvailabilityConfirmation>

         <PlanningAreaID>P1123</PlanningAreaID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </AvailabilityConfirmation>

      <AvailabilityConfirmation>

         <PlanningAreaID>2100</PlanningAreaID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </AvailabilityConfirmation>

      <Sales>

         <SalesOrganisationID>P1110</SalesOrganisationID>

         <DistributionChannelCode>01</DistributionChannelCode>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <SalesMeasureUnitCode>EA</SalesMeasureUnitCode>

         <ItemGroupCode>NORM</ItemGroupCode>

         <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator>

      </Sales>

      <Sales>

         <SalesOrganisationID>2100</SalesOrganisationID>

         <DistributionChannelCode>01</DistributionChannelCode>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <SalesMeasureUnitCode>EA</SalesMeasureUnitCode>

         <ItemGroupCode>NORM</ItemGroupCode>

         <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator>

      </Sales>

      <Sales>

         <SalesOrganisationID>2100</SalesOrganisationID>

         <DistributionChannelCode>02</DistributionChannelCode>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <SalesMeasureUnitCode>EA</SalesMeasureUnitCode>

         <ItemGroupCode>NORM</ItemGroupCode>

         <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator>

      </Sales>

      <Sales>

         <SalesOrganisationID>P1110</SalesOrganisationID>

         <DistributionChannelCode>02</DistributionChannelCode>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <SalesMeasureUnitCode>EA</SalesMeasureUnitCode>

         <ItemGroupCode>NORM</ItemGroupCode>

         <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator>

      </Sales>

      <Logistics>

         <SiteID>2100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>A1100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>P1100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>S1100</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Logistics>

         <SiteID>S1130</SiteID>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </Logistics>

      <Valuation>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <CompanyID>1000</CompanyID>

         <BusinessResidenceID>P1100</BusinessResidenceID>

      </Valuation>

      <Valuation>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <CompanyID>1000</CompanyID>

         <BusinessResidenceID>P1123</BusinessResidenceID>

      </Valuation>

      <Valuation>

         <LifeCycleStatusCode>2</LifeCycleStatusCode>

         <CompanyID>2000</CompanyID>

         <BusinessResidenceID>2100</BusinessResidenceID>

      </Valuation>

      <IndiaMaterialTypeCode listID="3"> </IndiaMaterialTypeCode>

   </Material>

   <ProcessingConditions>

      <ReturnedQueryHitsNumberValue>58</ReturnedQueryHitsNumberValue>

      <MoreHitsAvailableIndicator>false</MoreHitsAvailableIndicator>

      <LastReturnedObjectID>00163E04F79D1ED2B8C8032939248754</LastReturnedObjectID>

   </ProcessingConditions>

</MaterialByElementsResponse_sync>


Thanks again.

BR,

Mohamed Amine.