Version: eXtendPS-SE all versions
Audience: Administrator, Developer

Problem

When processing a PromoStandards Purchase Order submission in eXtendPS-SE, processing fails with the error message below (or similar):

All "locationLinkId" in Configuration.LocationArray must be present in every Part of PartArray locationLinkId under data.LineItemArray[0]

As a consequence, this prevents the related charge lines from being added on the generated sales order record.

Cause

This happens when a line item has multiple locations in <Configuration><LocationArray>, but the part-level <LocationLinkIdArray> does not include all required <locationLinkId> values.

In other words:

  • <Configuration><LocationArray><Location>...<locationLinkId> defines the set of valid location links for the line item.
  • Each <Part> must reference the same set of <locationLinkId> values under <LocationLinkIdArray>.
  • If the payload includes two locations (example: <locationLinkId>1</locationLinkId> and <locationLinkId>2</locationLinkId>), but the part only sends one <locationLinkId>, validation fails and charge line processing may not occur.

Solution

Update the request payload so that each <Part> includes every <locationLinkId> present in <Configuration><LocationArray> within the part’s <LocationLinkIdArray>.

Fix checklist

  1. Identify all values under:
    • <LineItem><Configuration><LocationArray><Location>...<locationLinkId>
  2. For each:
    • <LineItem><PartArray><Part>
  3. Make sure <Part><LocationLinkIdArray> includes all of the <locationLinkId> values found under <Configuration><LocationArray>.

Incorrect sample XML (example of the issue)

<LineItem>
	<lineNumber>1</lineNumber>
	<description>Wooden Nickel</description>
	<PartArray>
		<Part>
			<partGroup>1</partGroup>
			<partId>SWN-NC-STD</partId>
			<customerPartId>SWN</customerPartId>
			<customerSupplied>false</customerSupplied>
			<Quantity>
				<value>1</value>
				<uom>EA</uom>
			</Quantity>

			<LocationLinkIdArray>
				<locationLinkId>1</locationLinkId>
			</LocationLinkIdArray>

			<unitPrice>0.093</unitPrice>
		</Part>
	</PartArray>

	<Configuration>
		<preProductionProof>false</preProductionProof>
		<LocationArray>
			<Location>
				<locationLinkId>1</locationLinkId>
				<locationId>4</locationId>
				<locationName>Panel</locationName>
			</Location>

			<Location>
				<locationLinkId>2</locationLinkId>
				<locationId>1</locationId>
				<locationName>Back</locationName>
			</Location>
		</LocationArray>
	</Configuration>
</LineItem>

Corrected sample XML

<Part>
	<partGroup>1</partGroup>
	<partId>SWN-NC-STD</partId>
	<customerPartId>SWN</customerPartId>
	<customerSupplied>false</customerSupplied>
	<Quantity>
		<value>1</value>
		<uom>EA</uom>
	</Quantity>

	<LocationLinkIdArray>
		<locationLinkId>1</locationLinkId>
		<locationLinkId>2</locationLinkId>
	</LocationLinkIdArray>

	<unitPrice>0.093</unitPrice>
</Part>

After the fix

  • Setup/charge lines associated with locations should be created correctly.