Merchandise Hierarchy Node
Merchandise Hierarchy is a feature that enables you to plan, price, report on, and analyze your product inventory by categorizing inventory items in your enterprise. For more information, see Merchandise Hierarchy Overview.
A merchandise hierarchy node provides groupings for items that share similar characteristics. They can either be a point in the hierarchy from which other nodes can be created, or the point in the hierarchy where products are assigned to.
A Merchandise Hierarchy Node record contains details of the position of the node in the hierarchy, and the hierarchy version or versions in which it is included.
To work with Merchandize Hierarchy Node records via SOAP Web Services, the hierarchy versions and hierarchy levels need to have been defined in the UI. For more information on defining the hierarchy versions and levels, see Creating a Hierarchy Version and Creating a Hierarchy Level.
The Merchandise Hierarchy Node record is available only when the following features are enabled:
-
Merchandise Hierarchy in Setup > Company > Setup Tasks > Enable Features, Items & Inventory subtab.
-
Custom Segments in Setup > Company > Setup Tasks > Enable Features, SuiteCloud subtab.
For more information, see Creating a Hierarchy Node.
Supported Operations
The following operations can be used with the merchandise hierarchy record.
add | addList | delete | deleteList | get | getDeleted | getList | getSavedSearch | getSelectValue | search | update | updateList | upsert | upsertList
You can also use the asynchronous equivalents of SOAP web services list operations. For information about asynchronous operations, see SOAP Web Services Asynchronous Operations. For more information about request processing, see Synchronous Versus Asynchronous Request Processing.
Field Definitions
The SOAP Schema Browser includes definitions for all body fields, sublist fields, search filters, and search joins available to this record. For details, see the SOAP Schema Browser’s Merchandise Hierarchy Node reference page.
For information on using the SOAP Schema Browser, see SOAP Schema Browser.
Usage Notes
Consider the following information when you work with Merchandise Hierarchy Nodes.
-
You can set the value of the IsIncluded field to false, when creating it, but then the node will not be visible in the merchandise hierarchy. You will not be able to assign any items to the node, until it is included to a hierarchy version.
-
You can update the value of the IsIncluded field to false, if the node does not have items assigned to it, or is not a parent node in that version.
-
The HierarchyVersionsList sublist has the hierarchyVersion field as key.
-
ReplaceAll is ignored in the sublist. Regardless if set to true or false, SOAP Web Services updates only the specified lines, while leaving the rest of the lines unchanged. So, it behaves more like replaceAll is set to false. No error message is displayed. It is not possible to remove applied lines using replaceAll=true like on other sublists. To remove an applied line, specify its hierarchy version and set the isIncluded field to false.
-
When using the operation get, SOAP Web Services return all the lines, regardless if they are applied or not.
For more information on creating, editing and deleting a hierarchy node, see Creating a Hierarchy Node.
Code Sample
In the following example, a new Merchandize Hierarchy Node is created. The hierarchy versions and levels were already defined in the UI environment.
Java
public void addNewMHN() throws Exception {
MerchandiseHierarchyNodeHierarchyVersions version = new MerchandiseHierarchyNodeHierarchyVersions();
version.setIsIncluded(true);
version.setHierarchyVersion(createRecordRef("1"));
version.setHierarchyLevel(createRecordRef("3"));
version.setParentNode(createRecordRef("2"));
MerchandiseHierarchyNodeHierarchyVersionsList list = new MerchandiseHierarchyNodeHierarchyVersionsList();
list.setMerchandiseHierarchyNodeHierarchyVersions(new MerchandiseHierarchyNodeHierarchyVersions[]{version});
MerchandiseHierarchyNode record = new MerchandiseHierarchyNode();
record.setName("Sci-Fi");
record.setDescription("Sci-Fi books in store");
record.setHierarchyVersionsList(list);
c.addRecord(record);
}
SOAP Request
<soapenv:Body>
<add xmlns="urn:messages_2019_1.platform.webservices.netsuite.com">
<record xsi:type="ns7:MerchandiseHierarchyNode" xmlns:ns7="urn:accounting_2019_1.lists.webservices.netsuite.com">
<ns7:name xsi:type="xsd:string">Sci-Fi</ns7:name>
<ns7:description xsi:type="xsd:string">Sci-Fi books in store</ns7:description>
<ns7:hierarchyVersionsList replaceAll="false" xsi:type="ns7:MerchandiseHierarchyNodeHierarchyVersionsList">
<ns7:merchandiseHierarchyNodeHierarchyVersions xsi:type="ns7:MerchandiseHierarchyNodeHierarchyVersions">
<ns7:isIncluded xsi:type="xsd:boolean">true</ns7:isIncluded>
<ns7:hierarchyVersion internalId="1" xsi:type="ns8:RecordRef" xmlns:ns8="urn:core_2019_1.platform.webservices.netsuite.com"/>
<ns7:hierarchyLevel internalId="3" xsi:type="ns9:RecordRef" xmlns:ns9="urn:core_2019_1.platform.webservices.netsuite.com"/>
<ns7:parentNode internalId="2" xsi:type="ns10:RecordRef" xmlns:ns10="urn:core_2019_1.platform.webservices.netsuite.com"/>
</ns7:merchandiseHierarchyNodeHierarchyVersions>
</ns7:hierarchyVersionsList>
</record>
</add>
</soapenv:Body>
SOAP Response
<soapenv:Body>
<addResponse xmlns="urn:messages_2019_1.platform.webservices.netsuite.com">
<writeResponse>
<platformCore:status isSuccess="true" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:statusDetail>
<platformCore:afterSubmitFailed>false</platformCore:afterSubmitFailed>
</platformCore:statusDetail>
</platformCore:status>
<baseRef internalId="101" type="merchandiseHierarchyNode" xsi:type="platformCore:RecordRef" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com"/>
</writeResponse>
</addResponse>
</soapenv:Body>