<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Need to update location field in Asset table as per the To stockroom enter in transfer_order table. in Developer forum</title>
    <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637196#M1024306</link>
    <description>&lt;P&gt;Hi All&lt;/P&gt;&lt;P&gt;Need your support in the scripting for the below mentioned requirement.&lt;/P&gt;&lt;P&gt;For example: User has created a record in transfer order table like "From Stockroom =A" and "To Stockroom=B". Now an entry got created in alm_transfer_order_line table and also a "Ship task" got created. When user closed this ship task then Asset state gets change to "In Transit" in alm_hardware_table. Now my requirement is when Asset state is "In Transit" in alm_hardware table then I also need to update the "Location" field in the alm_hardware table as per the "To Stockroom" value from transfer order table. In this case user has enter the "to Stockroom" value as 'B' so my script should update the location field value as 'B' in the alm_hardware table when the assdet state is "In Transit".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help me in the script part and logic please.&lt;/P&gt;&lt;P&gt;Thank you in advanced. Please support.&lt;/P&gt;</description>
    <pubDate>Tue, 08 Aug 2023 08:57:04 GMT</pubDate>
    <dc:creator>Prasnajeet1</dc:creator>
    <dc:date>2023-08-08T08:57:04Z</dc:date>
    <item>
      <title>Need to update location field in Asset table as per the To stockroom enter in transfer_order table.</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637196#M1024306</link>
      <description>&lt;P&gt;Hi All&lt;/P&gt;&lt;P&gt;Need your support in the scripting for the below mentioned requirement.&lt;/P&gt;&lt;P&gt;For example: User has created a record in transfer order table like "From Stockroom =A" and "To Stockroom=B". Now an entry got created in alm_transfer_order_line table and also a "Ship task" got created. When user closed this ship task then Asset state gets change to "In Transit" in alm_hardware_table. Now my requirement is when Asset state is "In Transit" in alm_hardware table then I also need to update the "Location" field in the alm_hardware table as per the "To Stockroom" value from transfer order table. In this case user has enter the "to Stockroom" value as 'B' so my script should update the location field value as 'B' in the alm_hardware table when the assdet state is "In Transit".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help me in the script part and logic please.&lt;/P&gt;&lt;P&gt;Thank you in advanced. Please support.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 08:57:04 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637196#M1024306</guid>
      <dc:creator>Prasnajeet1</dc:creator>
      <dc:date>2023-08-08T08:57:04Z</dc:date>
    </item>
    <item>
      <title>Re: Need to update location field in Asset table as per the To stockroom enter in transfer_order tab</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637211#M1024309</link>
      <description>&lt;P&gt;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/285767"&gt;@Prasnajeet1&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;it's very difficult to understand without any screenshots.&lt;/P&gt;
&lt;P&gt;Also share scripts you started with and where are you stuck?&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 09:08:37 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637211#M1024309</guid>
      <dc:creator>Ankur Bawiskar</dc:creator>
      <dc:date>2023-08-08T09:08:37Z</dc:date>
    </item>
    <item>
      <title>Re: Need to update location field in Asset table as per the To stockroom enter in transfer_order tab</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637522#M1024405</link>
      <description>&lt;P&gt;Hi Ankur&lt;/P&gt;&lt;P&gt;Let me try to clear the requirement.&amp;nbsp;&lt;/P&gt;&lt;P&gt;For Example:&lt;/P&gt;&lt;P&gt;Step1: in alm_transfer_order table user has created a entry where he filled "from_stockroom" value as 'ABC' and "To Stockroom" value as 'XYZ'.&lt;/P&gt;&lt;P&gt;Step2: After that another entry created in alm_transfer_order_line table and a task got created in&amp;nbsp;alm_transfer_order_line_task table.&lt;/P&gt;&lt;P&gt;Step3: Now when user close this task, in the alm_hardware table "state" field value update to "in Transit"&lt;/P&gt;&lt;P&gt;Step4: Main requirement: When asset state update to "in transit", in the same alm_hardware table one more field is there called "location". In this location field , I have to populate the "To stockroom" value which is 'XYZ'.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope I am able to explain it. I am trying with the script but nothing is working for me. So looking for help.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 12:46:46 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637522#M1024405</guid>
      <dc:creator>Prasnajeet1</dc:creator>
      <dc:date>2023-08-08T12:46:46Z</dc:date>
    </item>
    <item>
      <title>Re: Need to update location field in Asset table as per the To stockroom enter in transfer_order tab</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637544#M1024410</link>
      <description>&lt;P&gt;Below is the screen shot.&lt;/P&gt;&lt;P&gt;Step1, Entry created in Transfer order table&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Prasnajeet1_0-1691499442840.png" style="width: 400px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/280016i412DFC66854195F0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Prasnajeet1_0-1691499442840.png" alt="Prasnajeet1_0-1691499442840.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Task closed:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Prasnajeet1_1-1691499507252.png" style="width: 400px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/280017i40E3BA0B42017A05/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Prasnajeet1_1-1691499507252.png" alt="Prasnajeet1_1-1691499507252.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once task closed, asset state moved to "in transit" and I need to update location in alm_hardware table.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Prasnajeet1_2-1691499715959.png" style="width: 400px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/280018i3BC569997FA7C1D5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Prasnajeet1_2-1691499715959.png" alt="Prasnajeet1_2-1691499715959.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 13:02:08 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637544#M1024410</guid>
      <dc:creator>Prasnajeet1</dc:creator>
      <dc:date>2023-08-08T13:02:08Z</dc:date>
    </item>
    <item>
      <title>Re: Need to update location field in Asset table as per the To stockroom enter in transfer_order tab</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637580#M1024423</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/285767"&gt;@Prasnajeet1&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As per my understanding, you can use the following code for reference -&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;(function() {
    var transferOrderLine = new GlideRecord('alm_transfer_order_line');
    transferOrderLine.addQuery('task', current.sys_id); // Assuming 'current' is the task record
    transferOrderLine.query();

    if (transferOrderLine.next()) {
        var transferOrder = new GlideRecord('alm_transfer_order');
        transferOrder.get(transferOrderLine.transfer_order);

        if (transferOrder.from_stockroom &amp;amp;&amp;amp; transferOrder.to_stockroom) {
            var asset = new GlideRecord('alm_hardware');
            asset.get(transferOrderLine.asset);

            if (asset &amp;amp;&amp;amp; asset.state == 'in_transit') {
                asset.location = transferOrder.to_stockroom;
                asset.update();
            }
        }
    }
})();&lt;/LI-CODE&gt;&lt;P&gt;Please, don't forget to mark my answer as correct if it solves your issue or mark it as helpful if it is relevant for you!&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Tushar&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 13:30:22 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637580#M1024423</guid>
      <dc:creator>Tushar</dc:creator>
      <dc:date>2023-08-08T13:30:22Z</dc:date>
    </item>
    <item>
      <title>Re: Need to update location field in Asset table as per the To stockroom enter in transfer_order tab</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637638#M1024439</link>
      <description>&lt;P&gt;Hi Tushar&lt;/P&gt;&lt;P&gt;I have used on the before BR on both Insert and update operation with your mentioned script but it is not working. We need to update the location field when the asset state is "In Transit". And location value it should fetch from the alm_transfer_order table.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I believe we need to write some script include and call that in a BR. Please help.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 14:00:26 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637638#M1024439</guid>
      <dc:creator>Prasnajeet1</dc:creator>
      <dc:date>2023-08-08T14:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: Need to update location field in Asset table as per the To stockroom enter in transfer_order tab</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637685#M1024467</link>
      <description>&lt;P&gt;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/285767"&gt;@Prasnajeet1&lt;/a&gt; &lt;/P&gt;
&lt;P&gt;So unless you share your scripts it's difficult to help you&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 14:30:11 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637685#M1024467</guid>
      <dc:creator>Ankur Bawiskar</dc:creator>
      <dc:date>2023-08-08T14:30:11Z</dc:date>
    </item>
    <item>
      <title>Re: Need to update location field in Asset table as per the To stockroom enter in transfer_order tab</title>
      <link>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637849#M1024530</link>
      <description>&lt;P&gt;Hi Ankur&lt;/P&gt;&lt;P&gt;Below is one existing BR which is updating the Asset state when the task is closed. This is a Before BR. In the first switch case it is updating the Asset state based on task closed status. I am not getting the idea to update the location on Asset form.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope now it is will help you to understand the requirement and help on this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Script:&lt;/P&gt;&lt;DIV&gt;var asset = new GlideRecord('alm_asset');&lt;/DIV&gt;&lt;DIV&gt;asset.addQuery('sys_id', current.asset);&lt;/DIV&gt;&lt;DIV&gt;asset.query();&lt;/DIV&gt;&lt;DIV&gt;if (asset.next()) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; var updateAsset = true;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; var assetIsDefective = false;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; var assetIsPreallocated = false;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if ('defective' === asset.getValue('substatus'))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; assetIsDefective = true; // Preserve existing status of 'defective'&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if ('pre_allocated' === asset.getValue('substatus'))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; assetIsPreallocated = true; // Preserve existing status of preallocated&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; // Update asset when TOL is created (Stage = 'draft')&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (current.stage.toString() === 'draft') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // install_status = 6 = In stock&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.install_status = '6';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'pending_transfer';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.active_to = true;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; // For further updates on asset, check the state of task to auto update asset&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; var taskGr = new GlideRecord('alm_transfer_order_line_task');&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; taskGr.addQuery('transfer_order_line', current.sys_id);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; taskGr.addQuery('state', 'IN', '3,7');&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; taskGr.orderByDesc('order');&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; taskGr.setLimit(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; taskGr.query();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (taskGr.next()) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var stateOfTask = taskGr.getValue('state');&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // state = 7 = Closed Skipped&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Do not auto update the asset if the last task was closed skipped&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (stateOfTask !== '7') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Update the asset when the last task closed was completed successfully&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; switch (current.stage.toString()) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case 'requested':&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // install_status = 6 = In stock&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.install_status = '9';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = '';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.active_to = true;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Update asset with user information&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (asset.sys_class_name.toString() !== 'alm_consumable') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setAssetReservedFor();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case 'shipment_preparation':&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // install_status = 6 = In stock&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.install_status = '6';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'pending_transfer';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.active_to = true;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Update asset with user information&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (asset.sys_class_name.toString() !== 'alm_consumable') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setAssetReservedFor();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case 'in_transit':&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // install_status = 9 = In transit&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.install_status = '9';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'reserved';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.active_to = true;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Update asset with user information&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (asset.sys_class_name.toString() !== 'alm_consumable') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setAssetReservedFor();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case 'received':&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // This needs an update when we touch FSM as the item has to go back to&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // pending transfer&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (SNC.AssetMgmtUtil.isPluginRegistered('com.snc.work_management') &amp;amp;&amp;amp; JSUtil.notNil(current.transfer_order.service_order_task)) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // If this TOL is under a work order task then asset.active_to cannot&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // be released yet,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Once the service order is complete then the active_to will be&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // released. Also since&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // this is not the final destination of this asset, it will be in&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // pending transfer stage&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (current.model.sys_class_name == 'cmdb_consumable_product_model' || current.model.asset_tracking_strategy == 'track_as_consumable') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current.asset = new Consumables().split(current.asset,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current.quantity_received - current.quantity_returned,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '6', 'pending_transfer', '', asset.stockroom,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.location, asset.assigned_to);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; updateAsset = false;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.install_status = '6';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'pending_transfer';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.stockroom = current.transfer_order.to_stockroom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (SNC.AssetMgmtUtil.isPluginRegistered('com.snc.field_service_management') &amp;amp;&amp;amp; JSUtil.notNil(current.transfer_order.service_order)) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // If this TOL is under a service order then asset.active_to cannot&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // be released yet,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Once the service order is complete then the active_to will be&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // released. Also since&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // this is not the final destination of this asset, it will be in&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // pending transfer stage&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (current.model.sys_class_name == 'cmdb_consumable_product_model' || current.model.asset_tracking_strategy == 'track_as_consumable') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current.asset = new Consumables().split(current.asset,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current.quantity_received - current.quantity_returned,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '6', 'pending_transfer', '', asset.stockroom,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.location, asset.assigned_to);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; updateAsset = false;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.install_status = '6';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'pending_transfer';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.stockroom = current.transfer_order.to_stockroom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // If FSM is not actiavated or TOL is not attached to an SO then&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // release the asset and&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // make it available in this stockroom which is its final&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // destination&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // install_status = 6 = In stock&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.install_status = '6';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.stockroom = current.transfer_order.to_stockroom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.active_to = false;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Update asset with user information&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (asset.sys_class_name.toString() !== 'alm_consumable') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setAssetReservedFor();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Keep the asset substate as reserved when there's a Requested For value in the Request Line, otherwise mark it as Available&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (asset.substatus != 'reserved' || current.request_line.nil() || current.request_line.requested_for.nil()) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'available';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case 'delivered':&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// The TOL will only reach this stage if it has an SO attached to it, in&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// that case the asset&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// cannot be released yet, once the SO completes, it will be released.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// At this stage,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// the asset us marked 'reserved' (for work) by the FSA in his personal&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// stockroom.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset.install_status = '6';&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// Marking asset as available when transfer order type is Field Stockroom request as there will be no service order task linked to part requirement&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;//OOB - asset.substatus =&amp;nbsp; current.transfer_order.type == 'field_stockroom_request' ? 'available' : 'reserved';&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Modified below script as per McKesson requirements&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset.substatus =&amp;nbsp; current.transfer_order.type == 'field_stockroom_request' ? 'reserved' : 'available';&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset.active_to = false;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if(current.transfer_order.type == 'field_stockroom_request')&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset.stockroom = current.transfer_order.to_stockroom; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else if (SNC.AssetMgmtUtil.isPluginRegistered('com.snc.service_management.core'))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset.stockroom = new SMStockRooms().getAgentStockroom(current.transfer_order.service_order_task.assigned_to);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else if (SNC.AssetMgmtUtil.isPluginRegistered('com.snc.field_service_management'))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset.stockroom = new FSMUtils().getFSAStockroom(current.transfer_order.service_order.assigned_to);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;//Added below else condition as per McKesson requirements&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset.stockroom = current.transfer_order.to_stockroom; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;break;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; default:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Nothing to do&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; updateAsset = false;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// Update active transfer order of asset even when TOL task is closed skipped&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// so that, customers can edit state/substate manually when tol is received/delivered&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (stateOfTask === '7') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (current.stage.toString() === 'received' || current.stage.toString() === 'delivered') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (asset.active_to.toString() !== 'false') {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.active_to = false;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// Update the asset&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; updateTOLAsset(updateAsset, assetIsDefective, assetIsPreallocated, asset);&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;function updateTOLAsset(updateAsset, assetIsDefective, assetIsPreallocated, asset) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (updateAsset) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (assetIsDefective)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'defective';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (assetIsPreallocated)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.substatus = 'pre_allocated';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.update();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;function setAssetReservedFor() {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; // Update asset with user information ('reserved_for') when the TOL is created from Service Catalog REQ&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; // Or when a TOL has 'request_line' (REQ--&amp;gt;RITM) and has been 'requested_for' (reference to sys_user)&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (!gs.nil(current.request_line)) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!gs.nil(current.request_line.request.requested_for)) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asset.reserved_for = current.request_line.request.requested_for;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;</description>
      <pubDate>Tue, 08 Aug 2023 17:20:56 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/need-to-update-location-field-in-asset-table-as-per-the-to/m-p/2637849#M1024530</guid>
      <dc:creator>Prasnajeet1</dc:creator>
      <dc:date>2023-08-08T17:20:56Z</dc:date>
    </item>
  </channel>
</rss>

