class INTC_HourJournalDialog extends RunBase
{
DialogField fieldTimesheetNbr;
DialogField fieldFromDate;
DialogField fieldToDate;
DialogRunbase dialog;
DialogGroup dialogGroup;
TSTimesheetTable timesheetTable;
TSTimesheetNbr timesheetNumber;
TransDate fromDate, toDate;
FormBuildStringControl timesheetNbrControl;
public container pack()
{
return conNull();
}
public boolean unpack(container packedClass)
{
return true;
}
public void timesheetNbrLookup(FormStringControl _control)
{
SysTableLookup sysTableLookUp;
QueryBuildDataSource qbds;
Query query = new Query();
qbds = query.addDataSource(tableNum(TSTimesheetTable));
sysTableLookUp = SysTableLookup::newParameters(tableNum(TSTimesheetTable), _control, true);
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, TimesheetNbr));
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, PeriodFrom));
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, PeriodTo));
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, ApprovalStatus));
qbds.addRange(fieldnum(TSTimesheetTable,ApprovalStatus)).value(queryvalue(TSAppStatus::Approved));
sysTableLookUp.parmQuery(query);
sysTableLookUp.performFormLookup();
}
public Object dialog()
{
dialog = super();
dialog.caption( 'Create Hour Journal');
dialogGroup = dialog.addGroup("Main Group");
dialogGroup.columns(2);
fieldFromDate = dialog.addField(extendedTypeStr(TransDate), 'From date');
fieldToDate = dialog.addField(extendedTypeStr(TransDate), 'To date');
fieldTimesheetNbr = dialog.addField(extendedTypeStr(TSTimesheetNbr), 'Timesheet number');
timesheetNbrControl = fieldTimesheetNbr.control();
timesheetNbrControl.registerOverrideMethod(methodstr(FormStringControl, lookUp),methodstr(INTC_HourJournalDialog, timesheetNbrLookup),this);
return dialog;
}
public boolean getFromDialog()
{
timesheetNumber = fieldTimesheetNbr.value();
fromDate = fieldFromDate.value();
toDate = fieldToDate.value();
return super();
}
public void run()
{
INTC_HourJournalCreate journalCreate = new INTC_HourJournalCreate();
timesheetTable = TSTimesheetTable::find(timesheetNumber);
if (timesheetTable)
{
journalCreate.getTimesheet(fromDate, toDate, timesheetNumber);
info("Approved Hour Journal/Journals Created");
}
else
{
throw error(strFmt("Timesheet - %1 not found!", timesheetNumber));
}
}
public static void main(Args _args)
{
INTC_HourJournalDialog hourJournalDialog = new INTC_HourJournalDialog();
if (hourJournalDialog.prompt())
{
hourJournalDialog.run();
}
}
}
{
DialogField fieldTimesheetNbr;
DialogField fieldFromDate;
DialogField fieldToDate;
DialogRunbase dialog;
DialogGroup dialogGroup;
TSTimesheetTable timesheetTable;
TSTimesheetNbr timesheetNumber;
TransDate fromDate, toDate;
FormBuildStringControl timesheetNbrControl;
public container pack()
{
return conNull();
}
public boolean unpack(container packedClass)
{
return true;
}
public void timesheetNbrLookup(FormStringControl _control)
{
SysTableLookup sysTableLookUp;
QueryBuildDataSource qbds;
Query query = new Query();
qbds = query.addDataSource(tableNum(TSTimesheetTable));
sysTableLookUp = SysTableLookup::newParameters(tableNum(TSTimesheetTable), _control, true);
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, TimesheetNbr));
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, PeriodFrom));
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, PeriodTo));
sysTableLookUp.addLookupfield(fieldNum(TSTimesheetTable, ApprovalStatus));
qbds.addRange(fieldnum(TSTimesheetTable,ApprovalStatus)).value(queryvalue(TSAppStatus::Approved));
sysTableLookUp.parmQuery(query);
sysTableLookUp.performFormLookup();
}
public Object dialog()
{
dialog = super();
dialog.caption( 'Create Hour Journal');
dialogGroup = dialog.addGroup("Main Group");
dialogGroup.columns(2);
fieldFromDate = dialog.addField(extendedTypeStr(TransDate), 'From date');
fieldToDate = dialog.addField(extendedTypeStr(TransDate), 'To date');
fieldTimesheetNbr = dialog.addField(extendedTypeStr(TSTimesheetNbr), 'Timesheet number');
timesheetNbrControl = fieldTimesheetNbr.control();
timesheetNbrControl.registerOverrideMethod(methodstr(FormStringControl, lookUp),methodstr(INTC_HourJournalDialog, timesheetNbrLookup),this);
return dialog;
}
public boolean getFromDialog()
{
timesheetNumber = fieldTimesheetNbr.value();
fromDate = fieldFromDate.value();
toDate = fieldToDate.value();
return super();
}
public void run()
{
INTC_HourJournalCreate journalCreate = new INTC_HourJournalCreate();
timesheetTable = TSTimesheetTable::find(timesheetNumber);
if (timesheetTable)
{
journalCreate.getTimesheet(fromDate, toDate, timesheetNumber);
info("Approved Hour Journal/Journals Created");
}
else
{
throw error(strFmt("Timesheet - %1 not found!", timesheetNumber));
}
}
public static void main(Args _args)
{
INTC_HourJournalDialog hourJournalDialog = new INTC_HourJournalDialog();
if (hourJournalDialog.prompt())
{
hourJournalDialog.run();
}
}
}
No comments:
Post a Comment