Would please let me know how to format (strFmt) LineNum (SalesLine table) and CreditMax (CustTable) into a string? I want to log these two record value in a process of updating DefaultDimension?
Right now, the output in infolog only displays 0.00 for these two fields?
Thx,
Let’s do a test:
SalesLine sl;
sl.LineNum = 4.5;
info(strFmt("Line num is %1", sl.LineNum));
Does it work? It should, if I didn’t make any mistake when typing it.
So strFmt() isn’t to blame.
May your table LineNum field actually doesn’t contain any value (use the debugger to check it) or you’re using strFmt() in a wrong way.
static void Job66(Args _args)
{
SalesLine salesLine;
DimensionAttributeValueSet dimensionAttributeValueSet;
DimensionAttributeValueSetItem dimensionAttributeValueSetItem;
DimensionAttributeValue dimensionAttributeValue;
DimensionAttribute dimensionAttribute;
str msg;
while select LineNum, inventTransId, SalesId, CustGroup, DefaultDimension from salesLine
where salesLine.SalesStatus != 3 && salesLine.SalesStatus != 4
notexists join RecId from dimensionAttributeValueSet
where dimensionAttributeValueSet.RecId == salesLine.DefaultDimension
join dimensionAttributeValueSetItem
where dimensionAttributeValueSetItem.DimensionAttributeValueSet == dimensionAttributeValueSet.Recid
join dimensionAttributeValue
where dimensionAttributeValue.Recid == dimensionAttributeValueSetItem.DimensionAttributeValue
join dimensionAttribute
where dimensionAttribute.Recid == dimensionAttributeValue.dimensionAttribute && dimensionAttribute.Name == 'CustomerGroup'
{
msg = strFmt("SalesId: %1, LineNum: %2, InventTransId: %3", salesLine.SalesId, salesLine.LineNum, salesLine.inventTransId);
info(msg);
}
}
Weird, it works now!
The above is my code. I removed the updating statements and forupdate keywords!
Thx,