Skip to main content
Solved

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

  • February 17, 2020
  • 3 replies
  • 306 views

Forum|alt.badge.img+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.

Best answer by anmise

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>

3 replies

  • Superhero (Employee)
  • Answer
  • February 18, 2020

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>


Forum|alt.badge.img+8
  • Author
  • Sidekick (Employee)
  • February 18, 2020

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


  • Superhero (Employee)
  • February 18, 2020

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>