Skip to main content

Use multiple table link through code in Axapta report

public boolean fetch()
{
str 50 tmpregno;
QueryBuildDataSource qbds,qbds1,qbds2;
QueryBuildRange queryBuildRange;
QueryBuildRange rangeTransDate;
QueryRun qr1;
QueryBuildLink QueryBuildLink_1;
query q = new Query();
query q1 = new Query();
;

// frmdt = str2date("01/05/2010",123);
// todt = str2date("30/05/2010",123);

q = this.query();
q1 = this.query();

qbds2 = q.addDataSource(tablenum(_Registration));
qbds1 = qbds2.addDataSource(tablenum(_RegistrationDetails));

qbds = qbds1.addDataSource(tablenum(_Register4));

qbds.joinMode(JoinMode::InnerJoin);
QueryBuildLink_1 = qbds.addLink(fieldNum(_RegistrationDetails, _RegistrationNo), fieldNum(_Register4, RegistrationNo));

qbds.relations(true);

queryBuildRange = qbds.addRange(fieldNum(_Register4, ProcessDate));

rangeTransDate = qbds.findRange(fieldnum(_Register4,ProcessDate));

/* if(!rangeTransDate.value())
{
rangeTransDate.value(queryRange(dateMin,dateMax));
if (dateMin ==str2date("0",123) || dateMax == str2date("0",123))
{
info("Select Date");
return false;
}
frmdt= dateMin;
todt =dateMax;
}
else
{
value=rangeTransDate.value();
mindate1 =strdel(value,strfind(value,".",1,11),strlen(value));
maxdate1 =strDel(value,strfind(value,".",1,11)+1,-(strfind(value,".",1,11)+1));
dateMin = str2date(mindate1,123);
dateMax= str2date(maxdate1,123);
frmdt= dateMin;
todt =dateMax;
}

queryBuildRange.value(strFmt('(ProcessDate > %1) &&(ProcessDate < %2 )', Date2StrXpp(frmdt),Date2StrXpp(todt)));
 qr1 = new QueryRun(q); while(qr1.next())
 { _Register41 = qr1.get(tablenum(_Register4));
 tmpregno = _Register41.RegistrationNo;

 if(_Register41.ProcessDate != any2date(0))
{ info(_Register41.LotNo);
info(date2str(_Register41.ProcessDate,4,2,4,2,4,4));
this.send(_Register41); } }
 return true; }

To get more information visit these blogs
  Axapta Code solutions
Education and Entertainments
Earn Money its Real

Popular posts from this blog

strScan and Find a first occurrence of a string in a string using x++

strScan (Find a first occurrence of a string in a string) info("int strScan(str _text1,str _text2,int _position,int _number)"); info("Searches a text string for the occurrence of another string."); info("_text1 - The text string to search."); info("_text2 - The string to find."); info("_position - The position at which the search should start."); info("_number - The number of characters that should be searched."); info(int2str(strScan("ABCDEFGHIJ","DE",1,10)));

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);

Code to get customer Primary Address in Ax 2012

Below Code to get customer Primary Address in Ax 2012. CustTable custTable_P; DirPartyTable dirPartyTable_P; DirPartyLocation dirPartyLocation_P; DirPartyLocationRole dirPartyLocationRole_P; LogisticsLocation logisticsLocation_P; LogisticsLocationRole logisticsLocationRole_P; LogisticsPostalAddress logisticsPostalAddress_P; LogisticsPostalAddress primaryAddress_P; while select custTable_P where custTable_P.AccountNum =='ED_01029' join dirPartyTable_P where dirPartyTable_P.RecId == custTable_P.Party join dirPartyLocation_P where dirPartyLocation_P.Party == custTable_P.Party && dirPartyLocation_P.IsPrimary==NoYes::Yes join dirPartyLocationRole_P where dirPartyLocationRole_P.PartyLocation == dirPartyLocation_P.RecId join logisticsLocationRole_P where logisticsLocationRole_P.RecId == dirPartyLocationRole