Seifware Inc.
1-87-SEIFWARE
Depending on your organizational needs, Field Buyers may or may not prefer consolidating multiple Work Orders’ planned vendor materials on a single Purchase Order. When a Purchase Order is required to be generated for every Work Order (for easier tracking, accounting, matching, etc.) users may find it inefficient to use the Maximo standard direct material reorder functionality from Inventory application as they will need to navigate back and forth between modules. In this article, we are demonstrating a simple configuration that helps alleviating this inefficiency by leveraging the reorder functionality to Work Order Tracking application.
The same reorder functionality can be re-used from Work Order application by only showing planned materials related to current Work Order, tasks or parents. The system generates a PR or a PO depending on the organizational settings.
This configuration does not require an outage and is compatible with SaaS environments. Follow below steps to enable PR/PO Creation from a Work Order:
Important Note: The reorder standard functionality places a reorder lock every time the reorder is being previewed. Therefore, frequent use of this configuration may result in error messages preventing more than a user to preview reorder at the same instance. Advanced configuration will be required to prevent this situation. Please contact us for more details.
Appendixes:
<dialog beanclass="psdi.webclient.beans.common.ReorderpadBean" designermboname="REORDERPAD" id="reorderpaddirect" label="Create PR/PO from WO">
<defaultvalue dataattribute="SW_WOANCESTOR.ancestor" defaulttype="query" fromattribute="SW_WOANCESTOR.ancestor" fromdatasrc="MAINRECORD" id="topwo_defaultvalue"/>
<table id="reorderpad_grid1_1_1_reorderpad_tabledirect" startrow="0">
<tablebody displayrowsperpage="18" filterable="true" filterexpanded="true" id="reorderpad_grid1_1_1_reorderpad_table_tablebody1">
<tablecol filterable="false" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_11" mxevent="toggledetailstate" mxevent_desc="Show Detail" sortable="false" type="event"/>
<tablecol dataattribute="SW_WOANCESTOR.ancestor" filterable="true" id="1562961565253_parent" inputmode="readonly" label="Top WO" menutype="WORKORDER" sortable="true"/>
<tablecol dataattribute="WONUM" filterable="true" id="1562961565253_wo" inputmode="readonly" label="Workorder" menutype="WORKORDER" sortable="true"/>
<tablecol dataattribute="SW_WORKORDER.DESCRIPTION" filterable="true" id="1562961579144" inputmode="readonly" sortable="true"/>
<tablecol dataattribute="itemnum" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_21" linkedcontrolid="reorderpad_grid1_1_1_reorderpad_table_1_grid3_11" menutype="item"/>
<tablecol dataattribute="descriptionview" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_31" linkedcontrolid="reorderpad_grid1_1_1_reorderpad_table_1_grid3_21"/>
<tablecol dataattribute="conditioncode" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_41" inputmode="readonly" linkedcontrolid="reorderpad_grid1_1_1_reorderpad_table_1_grid3_31"/>
<tablecol dataattribute="curbal" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_51" inputmode="readonly" linkedcontrolid="reorderpad_grid1_1_1_reorderpad_table_1_grid3_61"/>
<tablecol dataattribute="orderunit" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_61" inputmode="readonly" linkedcontrolid="reorderpad_grid1_1_1_reorderpad_table_1_grid3_51"/>
<tablecol dataattribute="unitcost" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_71" linkedcontrolid="reorderpad_grid1_1_1_reorderpad_table_1_grid3_71"/>
<tablecol dataattribute="reorderqty" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_81" linkedcontrolid="reorderpad_grid1_1_1_reorderpad_table_1_grid3_41"/>
<tablecol filterable="false" id="reorderpad_grid1_1_1_reorderpad_table_tablebody_91" mxevent="toggledeleterow" mxevent_desc="Mark Row for Delete" mxevent_icon="btn_garbage.gif" sortable="false" type="event"/>
</tablebody>
<tabledetails id="reorderpad_grid1_1_1_reorderpad_table_11">
<section border="true" id="reorderpad_grid1_1_1_reorderpad_table_1_grid31">
<sectionrow id="1563113006397">
<sectioncol id="1563113024962">
<multiparttextbox dataattribute="SW_WOANCESTOR.ancestor" descdataattribute="SW_TOPWO.DESCRIPTION" descinputmode="readonly" id="1563113054168" inputmode="readonly" label="Top Workorder" menutype="WORKORDER"/>
</sectioncol>
<sectioncol id="1563113020243">
<multiparttextbox dataattribute="wonum" descinputmode="readonly" id="1563114020428" inputmode="readonly" menutype="workorder"/>
</sectioncol>
<sectioncol id="15631130063972">
<multiparttextbox dataattribute="itemnum" descdataattribute="descriptionview" descinputmode="readonly" id="1563113194669" inputmode="readonly" lookup="item" menutype="item"/>
</sectioncol>
</sectionrow>
<sectionrow id="1563114083573">
<sectioncol id="1563114100964"/>
<sectioncol id="1563114096558"/>
<sectioncol id="1563114091636"/>
<sectioncol id="1563114083588"/>
</sectionrow>
</section>
</tabledetails>
</table>
<buttongroup id="reorderpad_grid1_1_1_grid111">
<pushbutton default="true" id="reorderpad_grid1_1_1_grid11_11" label="Create PR/PO for WO" mxevent="reorderresultsdirect"/>
<pushbutton id="reorderpad_grid1_1_1_grid11_31" label="Cancel" mxevent="dialogcancel"/>
</buttongroup>
</dialog>
<dialog beanclass="psdi.webclient.beans.common.ReorderBean" id="reoriss" label="Create PR/PO for WO" relationship="INVENTORY.REORDERITEMS">
<defaultvalue dataattribute="async" id="async_reorder" value="0"/>
<defaultvalue dataattribute="siteid" defaulttype="query" fromattribute="siteid" fromdatasrc="MAINRECORD" id="siteid_defaultvalue"/>
<section collapsed="true" id="reorderdirect_grid0">
<textbox dataattribute="siteid" id="reorderdirect_grid0_2" lookup="site" title="Reorder Site"/>
</section>
<section collapsed="true" id="reorderdirect_grid1" label="PR/PO Details" titlealign="center">
<checkbox dataattribute="agreementpo" id="reorderdirect_grid1_1"/>
<textbox dataattribute="leadtime" id="reorderdirect_grid1_2" title="Allowance for Extra Lead Time In Days"/>
</section>
<section collapsed="true" id="reorderdirect_grid2" label="Reorder Runtime Option" titlealign="center">
<checkbox dataattribute="async" id="reorderdirect_grid2_1_1_1"/>
</section>
<buttongroup id="reorderdirect_2">
<pushbutton default="true" id="reorderdirect_2_1" label="Preview PR/PO Lines" mxevent="reorderpaddirect"/>
<pushbutton id="reorderdirect_2_3" label="Cancel" mxevent="dialogcancel"/>
</buttongroup>
</dialog>
<dialog beanclass="psdi.webclient.beans.common.ReorderResultBean" designermboname="INVENTORY.REORDERITEMS" id="reorderresultsitem" inputmode="readonly" label="Reorder Results">
<section id="reorderresults_grid1_1_1_grid2">
<textbox dataattribute="totalnum" id="reorderresults_grid1_1_1_grid2_1" title="Number of Items Reordered"/>
<textbox dataattribute="startprnum" id="reorderresults_grid1_1_1_grid2_2" title="Starting PR Number"/>
<textbox dataattribute="endprnum" id="reorderresults_grid1_1_1_grid2_3" title="Ending PR Number"/>
<textbox dataattribute="startponum" id="reorderresults_grid1_1_1_grid2_4" title="Starting PO Number"/>
<textbox dataattribute="endponum" id="reorderresults_grid1_1_1_grid2_5" title="Ending PO Number"/>
</section>
<buttongroup id="reorderresults_21">
<pushbutton default="true" id="reorderresults_2_11" label="OK" mxevent="dialogcancel"/>
</buttongroup>
</dialog>
1- REORDERITEMS on WORKORDER Object : exists (select 1 from locations l where l.location=reorderitems.storeloc and l.type ='STOREROOM')
2- SW_WOANCESTOR on REORDERPAD Object: wonum=:wonum and siteid=:siteid and hierarchylevels = (select max(hierarchylevels) from woancestor a where a.wonum=:wonum and a.siteid=:siteid)
3- SW_WORKORDER on REORDERPAD Object: wonum=:wonum and siteid=:siteid
* Licensing may apply
Our approach is to keep things simple and keep you informed of all available options. Contact us for more details!