That everything is done, only the date validation how records are going to get created automatically based on parameter form which we give the value.
sharing the code:
class ERecurrenceForMaintenanceSchedule extends RunBaseBatch
{
DialogField dlgMaintenanceSchedule;
EntAssetWorkOrderTypeRecId workOrderType;
DialogField dlgWorkOrderType;
EntAssetWorkOrderTable workOrderTable;
EntAssetParameters entAssetParameters = EntAssetParameters::find();
public container pack()
{
return conNull();
}
public boolean unpack(container packedClass)
{
return true;
}
public Object dialog()
{
EntAssetWorkOrderTable workOrderTableCreated;
Dialog dialog = super();
dialog.caption( 'Maintenance plan');
dlgWorkOrderType = dialog.addFieldValue(extendedTypeStr(EntAssetWorkOrderTypeRecId), entAssetParameters.PreventiveWorkOrderType);
return dialog;
}
public boolean getFromDialog()
{
EntAssetWorkOrderTable workOrderTableCreated;
boolean ret = super();
return super();
}
public static void main(Args _args)
{
ERecurrenceForMaintenanceSchedule recurrenceForMaintenanceSchedule = new ERecurrenceForMaintenanceSchedule();
if(recurrenceForMaintenanceSchedule.prompt())
{
recurrenceForMaintenanceSchedule.run();
}
}
public EntAssetWorkOrderTypeRecId parmWorkOrderType1(EntAssetWorkOrderTypeRecId _workOrderType = workOrderType)
{
workOrderType = _workOrderType;
return workOrderType;
}
public void run()
{
EntAssetObjectCalendarCreateWO createWO;
EntAssetOBjectCalendar EntAssetObjectCalendar;
Dialog dialog;
createWO = EntAssetObjectCalendarCreateWO::construct();
while select EntAssetOBjectCalendar
where EntAssetOBjectCalendar.WorkOrder == 0
{
createWO.addObjectCalendar(EntAssetOBjectCalendar);
}
createWO.parmCreateWo(EntAssetCreateWo::OneWoPerLine);
createWO.parmWorkOrderType(entAssetParameters.PreventiveWorkOrderType);
createWO.run();
}
}