{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":14476,"path":"field-service-management/advanced-part-souring-components.md","title":"Advanced Part Sourcing components","bundle":null,"doc_type":null,"release":"australia","body":"\n# Advanced Part Sourcing components\n\nSeveral types of components are installed with the Advanced Part Sourcing feature, including tables, script includes and business rules.\n\n## Plugin\n\nThe Field Service Advanced Parts Sourcing \\(com.snc.fsm\\_advanced\\_parts\\_sourcing\\) plugin must be activated. For more information on the steps to activate a plugin, see [Activate Field Service Management](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/field-service-management/t_ActivateFieldServiceManagement.md).\n\n## Business rules\n\nAdvanced Parts Sourcing adds the following business rules.\n\n<table id=\"table_fjn_xlk_1mb\"><thead><tr><th>\n\nBusiness rule\n\n</th><th>\n\nTable\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nLimit number of lines in a part request\n\n</td><td>\n\nPart Request Line ​ \\[sn\\_fsm\\_part\\_req\\_line\\]\n\n</td><td>\n\nLimits the number of part request lines in a part request. The limit is configured in the **sn\\_fsm\\_parts\\_src.Maximum parts in Part Request** property.\n\n</td></tr><tr><td>\n\nManage requested quantity​\n\n</td><td>\n\nPart Request Line ​ \\[sn\\_fsm\\_part\\_req\\_line\\]\n\n</td><td>\n\nUpdates the **Requested\\_quantity** field in the part requirement when a part request line changes its state.\n\n</td></tr><tr><td>\n\nPopulate or clearout from\\_stockroom\n\n</td><td>\n\nPart Request Line ​ \\[sn\\_fsm\\_part\\_req\\_line\\]\n\n</td><td>\n\nIn the part request, if all part request lines have the same **From stockroom** field value, the part request record is populated for multi-sourcing. If the value in the **From stockroom** field is different, that value is cleared.\n\n</td></tr><tr><td>\n\nRestrict Duplicate Entry\n\n</td><td>\n\nPreferred Stockroom \\[sn\\_fsm\\_pref\\_stockroom\\]\n\n</td><td>\n\nPrevents the user from creating the duplicate record.\n\n</td></tr><tr><td>\n\nSet requested model same as required\n\n</td><td>\n\nPart Request Line \\[sn\\_fsm\\_part\\_req\\_line\\]\n\n</td><td>\n\nSets the requested model same as required in case of non-substitute sourcing.\n\n</td></tr><tr><td>\n\nUpdate part request line\n\n</td><td>\n\nRequested Item Detail \\[sn\\_fsm\\_part\\_req\\_ritm\\_detail\\]\n\n</td><td>\n\nCreates a RITM record and updates the part request line state to Requested when agent submits the part request.\n\n</td></tr><tr><td>\n\nUpdate part request state\n\n</td><td>\n\nPart Request Line \\[sn\\_fsm\\_part\\_req\\_line\\]\n\n</td><td>\n\nUpdates the part request state when the part request line state changes.\n\n</td></tr><tr><td>\n\nValidate asset quantity and sync assets\n\n</td><td>\n\nRequested Item Detail \\[sn\\_fsm\\_part\\_req\\_ritm\\_detail\\]\n\n</td><td>\n\nValidates that the number of assets selected matches the requested quantity. Also, synchronizes the values of selected asset IDs between the Requested Item Detail field and the Requested Item field of the RITM record.\n\n</td></tr><tr><td>\n\nValidate requested quantity\n\n</td><td>\n\nPart Request Line \\[sn\\_fsm\\_part\\_req\\_line\\]\n\n</td><td>\n\nEnsures that the requested part quantity is not more than difference between the required and reserved quantity. For example, Requested quantity &lt;= \\(Required quantity - Reserved quantity\\).\n\n</td></tr><tr><td>\n\nValidate Maximum Part Search Radius\n\n</td><td>\n\nResource Schedule Attributes\\[wm\\_agent\\_schedule\\_attribute\\_plan\\]\n\n</td><td>\n\nEnsures that the value entered in the **Validate Maximum Part Search Radius** field is not less than zero.\n\n</td></tr><tr><td>\n\nDefault requested for when WOT empty\n\n</td><td>\n\nPart Requirement \\[sm\\_part\\_requirement\\]\n\n</td><td>\n\nSets the **Default requested** field to the logged-in user when service order task is empty.\n\n</td></tr><tr><td>\n\nSet creation method field\n\n</td><td>\n\nPart Requirement \\[sm\\_part\\_requirement\\]\n\n</td><td>\n\nSets the creation method field to **user created** when empty.\n\n</td></tr></tbody>\n</table>## Script includes\n\nAdvanced Part Sourcing adds the following script includes.\n\n|Script include|Description|\n|--------------|-----------|\n|FSMPartRequestUtil​|Contains utility methods to create, update, or delete a part request and part request line.|\n|FSMPartSourcingUtil​|Contains utility methods to submit a single or multiple parts request.|\n|FSMMultiPartsSourcingUtil|Utilities file to identify stockrooms containing all the parts with the required quantity.|\n|PartRequestFilters|Sets reference qualifier filters on part request fields.|\n|PartRequestLineFilters|Sets reference qualifier filters on part request line fields.|\n|UserAjaxUtil|Populates the requested quantity value on a part request line for a specified part requirement.|\n\n## Tables\n\nAdvanced part sourcing adds the following tables.\n\n<table id=\"table_crw_gwj_jbb\"><thead><tr><th>\n\nTable\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nPart Request\\[sn\\_fsm\\_part\\_request\\]\n\n</td><td>\n\nStores the parts destination and requesting agent details.\n\n</td></tr><tr><td>\n\nPart Request Line\\[sn\\_fsm\\_part\\_req\\_line\\]\n\n</td><td>\n\nStores part source and requirement details and associates them with the part request record.\n\n</td></tr><tr><td>\n\nPart request line To Transfer order line M2M\\[sn\\_fsm\\_part\\_req\\_line\\_tol\\_rel​\\]\n\n</td><td>\n\nStores the relationship between the part request lines that are in the Completed state with transfer order lines that are in the Delivered state.\n\n</td></tr><tr><td>\n\nRequested Item Detailsn\\_fsm\\_part\\_req\\_ritm\\_detail​\n\n</td><td>\n\nStores the sourcing details of the part request line after the user has submitted the request.\n\n</td></tr><tr><td>\n\nPreferred Stockroomsn\\_fsm\\_pref\\_stockroom\n\n</td><td>\n\nStores the details of the preferred stockrooms that are associated with assignment groups.\n\n</td></tr></tbody>\n</table>Advanced Part Sourcing changes the following tables.\n\n<table id=\"table_nng_n3x_d5b\"><thead><tr><th>\n\nTable\n\n</th><th>\n\nNew columns added\n\n</th></tr></thead><tbody><tr><td>\n\nPart requirements\\[sm\\_part\\_requirement​\\]\n\n</td><td>\n\nRequested for, Requested quantity, Creation method, Include substitute\n\n</td></tr><tr><td>\n\nWork parameters\\[wm\\_agent\\_work\\_configuration​\\]\n\n</td><td>\n\nMaximum part search radius\n\n</td></tr><tr><td>\n\nGeolocation History\\[geo\\_history​\\]\n\n</td><td>\n\nLatest record\n\n</td></tr></tbody>\n</table>## Properties\n\nAdvanced Part Sourcing adds the following properties.\n\n<table id=\"table_ovq_jnw_b5b\"><thead><tr><th>\n\nProperty\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nPart Search Criteria\n\n</td><td>\n\nSets the criteria to search parts. The stockrooms that contains the parts with the requested quantity appear per the selected search criteria.-   **Type**: choice list\n-   **Default value**: No restrictions\n    -   **No Restrictions**: Search all warehouse stockrooms and the personal stockrooms of peer agents.\n    -   **Only Assignment Group**: Search all stockrooms of peer agents who are part of the assignment groups of the logged-in field service agent.\n    -   **Only Preferred Stockrooms**: Search all preferred stockrooms of all assignment groups irrespective of the radius mentioned in the logged-in agent's profile.\n-   **Location**: **Field Service** &gt; **Administration** &gt; **Properties**\n\n</td></tr><tr><td>\n\nUse part request approvals\n\n</td><td>\n\nEnables sending and receiving mobile notifications as Field Service agents request parts from peer agents.-   **Type**: Boolean\n-   **Default value**: Yes\n-   **Location**: **Field Service** &gt; **Administration** &gt; **Properties**\n\n</td></tr><tr><td>\n\nCreate part requests for part requirement sourcing\n\n</td><td>\n\nCreates a part request when a part is added to the part requirement.-   **Type**: Boolean\n-   **Default value**: Yes\n-   **Location**: **Field Service** &gt; **Administration** &gt; **Properties**\n\n</td></tr></tbody>\n</table>**Parent Topic:**[Components installed with additional plugins for Field Service Management](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/field-service-management/components-inst-additional-plugin.md)\n\n"}}