Solved

FSM 16. How to generate Preventive Maintenance from Contracts Monthly.

  • 17 February 2020
  • 3 replies
  • 274 views

Userlevel 3
Badge +8

Can any one explain how we can generate the Preventive Maintenance Tasks Automatically from Contracts.  This should be done in the background. I am aware about the contract manager.

icon

Best answer by anmise 18 February 2020, 07:00

View original

3 replies

Userlevel 7

Can any one explain how we can generate the Preventive Maintenance Tasks Automatically from Contracts.  This should be done in the background. I am aware about the contract manager.

It should be possible to setup a schedule in ‘Monitor Schedules’ to do this, using the perform_contract_pm_request_generation MPM. 

 

<perform_contract_pm_request_generation>
  <parameters>
    <posting_group />
    <contract_id>ABC</contract_id>
    <contract_version>1</contract_version>
    <contract_type />
    <place_id />
    <request_template_id />
    <task_template_id />
    <schedule_end_date />
    <purchase_order_id />
    <consolidate_request />
    <break_on_model_id />
    <break_on_contract />
    <break_on_contract_type />
    <break_on_planned_date />
    <template_title />
    <model_id />
    <bundle_pms />
    <variance_days />
    <consolidate_task />
  </parameters>
</perform_contract_pm_request_generation>

Userlevel 3
Badge +8

Thanks a lot , this is really helpful . Can i ask a follow up question :

in the above example i see we will need the contract ID

if i want to do this for all my contracts , is there any parameter that i can set to instruct the MPM to do this for all Contracts.

is it something to be done by using posting group

Userlevel 7

Thanks a lot , this is really helpful . Can i ask a follow up question :

in the above example i see we will need the contract ID

if i want to do this for all my contracts , is there any parameter that i can set to instruct the MPM to do this for all Contracts.

is it something to be done by using posting group

I haven’t tested, but I assume you could select the contracts using something like this. Hopefully someone with a little bit more knowledge can chip in.

 

<perform_batch>
<sequential_dependent>
<hierarchy_select result_name="Selectcontract">
<primary_table>contract</primary_table>
<attrs>
<attr>contract.contract_id</attr>
<attr>contract.contract_version</attr>
<attr>contract.end_dt</attr>
</attrs>
<from>
<table>contract</table>
</from>
<where>
<data_constraint>
<constraint>
<left_operand>contract.contract_status</left_operand>
<operator>eq</operator>
<right_operand>POSTED</right_operand>
</constraint>
</data_constraint>
</where>
</hierarchy_select>
<perform_contract_pm_request_generation>
<parameters>
<posting_group />
<contract_id xpath_node="//contract_hierarchy_select_result[@result_name='Selectcontract']/contract/contract_id"/>
<contract_version xpath_node="//contract_hierarchy_select_result[@result_name='Selectcontract']/contract/contract_version"/>
<contract_type />
<place_id />
<request_template_id />
<task_template_id />
<schedule_end_date xpath_node="//contract_hierarchy_select_result[@result_name='Selectcontract']/contract/end_dt"/>
<purchase_order_id />
<consolidate_request />
<break_on_model_id />
<break_on_contract />
<break_on_contract_type />
<break_on_planned_date />
<template_title />
<model_id />
<bundle_pms />
<variance_days />
<consolidate_task />
</parameters>
</perform_contract_pm_request_generation>
</sequential_dependent>
</perform_batch>

 

Reply