AX2012
Klasse mit Query im Dialog
CLASS syncVendDlvTime Extends RunBaseBatch
METHODS
SOURCE classDeclaration
public class syncVendDlvTime extends RunBaseBatch
{
DialogRunbase dialog;
DialogField dialogLocationspezific; //STandortspezifische Auftragseinstellungen
DialogField dialogItem; //Artikeldeckung
NoYesId Locationspecific;
NoYesId Item;
QueryRun QueryRun;
Query query;
DEFINE.CurrentVersion(1)
LOCALMACRO.CurrentList
Locationspecific,
Item
ENDMACRO
}
ENDSOURCE
SOURCE dialog
protected Object dialog()
{
Object ret;
;
dialog = super();
//ret = super();
dialogLocationspezific = dialog.addFieldValue(extendedTypeStr(NoYesId),Locationspecific,"");
dialogItem = dialog.addFieldValue(extendedTypeStr(NoYesId),Item,"");
return dialog;
}
ENDSOURCE
SOURCE getFromDialog
public boolean getFromDialog()
{
boolean ret;
;
ret = super();
Locationspecific = dialogLocationspezific.value();
Item = dialogItem.value();
return ret;
}
ENDSOURCE
SOURCE initQuery
protected void initQuery()
{
QueryBuildDataSource qbds2;
QueryBuildRange qr_Item;
QueryBuildRange qr_vend;
;
query = new Query();
qbds2 = query.addDataSource(tableNum(VendTable));
qbds2 = qbds2.addDataSource(tableNum(InventTable));
qbds2.relations(false);
qbds2.addLink(fieldNum(VendTable,AccountNum),fieldNum(InventTable,PrimaryVEndorId));
queryRun = new QueryRun(query);
}
ENDSOURCE
SOURCE queryRun
QueryRun queryRun()
{
queryRun = new QueryRun(query);
return queryRun;
}
ENDSOURCE
SOURCE run
public void run()
{
InventTable InventTable;
VendTable VendTable;
InventItemPurchSetup InventItemPurchSetup;
ReqItemTable ReqItemTable;
;
ttsBegin;
while(QueryRun.next())
{
InventTAble = QueryRun.get(tableNum(InventTable));
VendTable = QueryRun.get(tableNum(VendTable));
//Sync Standardauftragseinstellungen
inventItemPurchSetup = InventItemPurchSetup::findDefault(InventTable.ItemId,true);
InventItemPurchSetup.LeadTime = VendTable.DlvdaysPurch;
InventItemPurchSetup.CalendarDays = VendTable.Workingdays;
InventItemPurchSetup.update();
//sync STandortspezifische Auftragseinstellungen
if(Locationspecific == NoYes::Yes)
{
while select forUpdate * from InventItemPurchSetup
where InventItemPurchSetup.ItemId == InventTable.ItemId
{
InventItemPurchSetup.LeadTime = VendTable.DlvdaysPurch;
InventItemPurchSetup.CalendarDays = VendTable.Workingdays;
InventItemPurchSetup.update();
}
}
//Sync Artikeldeckung
if(Item == NoYes::Yes)
{
while select forupdate * from ReqItemTable
where ReqItemTable.ItemCovFieldsActive == NoYes::Yes
&& ReqItemTable.VendId == VendTable.AccountNum
&& ReqItemTable.LeadTimePurchaseActive == NoYes::Yes
{
ReqItemTable.LeadTimePurchase = VendTable.DlvdaysPurch;
ReqItemTable.CalendarDaysPurchase = VendTable.Workingdays;
ReqItemTable.update();
}
}
info(literalStr(""));
}
ttsCommit;
}
ENDSOURCE
SOURCE showQueryValues
boolean showQueryValues()
{
return true;
}
ENDSOURCE
SOURCE main
public static void main(Args args)
{
syncVendDlvTime syncVendDlvTime;
;
syncVendDlvTime = new syncVendDlvTime();
syncVendDlvTime.initQuery();
if(syncVendDlvTime.prompt())
{
syncVendDlvTime.run();
}
}
ENDSOURCE
ENDMETHODS
ENDCLASS
Keine Kommentare:
Kommentar veröffentlichen