You know, Ed, this might be the single most important thing that happened to Navision. Because, in real life, not the fancy things are that what count but performance, raw speed. Well done!
wow
The documentation is excelent. Great Job. There is that 1 hour barrier that have to spend to compile this, and post the results for all the standard navision tables. Now risking putting this on actual database and modifying all the tables will increase the number of objects modified.
This will be very usefull for performance trouble shooting as the author mentioned.
Thank you.
Ahmed Rashed Amini
Independent Consultant/Developer
I encountered two problems. The first one was an errormessage about an invalid third parameter when using COPYSTR (value cannot be negative). The error occurred in Codeunit 70200 Unused Keys, Function FileAnalyse:
//AJK.ns
IF PosWhere = 0 THEN
varObjectName := DELCHR(COPYSTR(TextBuffer,PosBreacket+1),'=','"')
ELSE
//AJK.ne
varObjectName := DELCHR(COPYSTR(TextBuffer,PosBreacket+1,PosWhere-PosBreacket-1),'=','"');
The second problem is much more difficult. I get an errormessage about not enough stack memory due to incorrect usage of recursive functions. :-k I have to investigate to see where this problem occurs. #-o
A good programmer makes al the right mistakes My blog
Only one problem yet.
txt_cashregnewrecorddenied@1109400015 : TextConst 'DEU=Neuer Datensatz wurde abgelehnt!;ENU=New Record was denied!';
Failed on english translation - "Record"
codeunit 70200 SelectRecord
IF (STRPOS(TextBuffer,' Record ') > 0) OR ((STRPOS(TextBuffer,' RecordRef') > 0)) THEN...
But this is not reference.
IF (STRPOS(TextBuffer,' Record ') > 0) OR ((STRPOS(TextBuffer,' RecordRef') > 0)) AND (STRPOS(TextBuffer, ' TextConst ') = 0) THEN...
It means that some text is put into a text-variable that is too small.
E.g. you want to put 'This is the string' into a Text10. The variable is too small.
With the debugger you can check where the error occurs.
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Hello,
Here you are another error to fix:
If we have in a Codeunit setcurrentkey("Order No_", Correction); where between the fields there is a space, in this sitation the tool doesn`t mach it with the proper key from the table.
I made test where i deleted the spaces and the tool works.
i keep getting overflow from text to text error here!
NoteIndexUseCalcSums(PosCalcSums : Integer;VarNameCalcSums : Text[30];FieldsStr : Text[1000])
FieldsNo := SubStrNo(FieldsStr,',')+1;
FOR N:= 1 TO FieldsNo DO BEGIN
IF STRPOS(FieldsArray[N],VarNameCalcSums) > 0 THEN
FieldsArray[N] := COPYSTR(FieldsArray[N],STRLEN(VarNameCalcSums)+2);
FieldsArray[N] := DELCHR(SELECTSTR(N,FieldsStr),'=','"'); //HERE
FieldsArray[N] := DELCHR(FieldsArray[N],'<>',' ');
END;
i declared the both variables (fieldsstr,fieldsarray) at lenght 1000 but i still have the error...now i changhed all field lenghts to 250...i know it's not the best approach, but it's easier like this than debugging this ton of code... :whistle:
EDIT: neither increasing field lenght solves the problem...i give up
-Mirko-
"Never memorize what you can easily find in a book".....Or Mibuso My Blog
Comments
The documentation is excelent. Great Job. There is that 1 hour barrier that have to spend to compile this, and post the results for all the standard navision tables. Now risking putting this on actual database and modifying all the tables will increase the number of objects modified.
This will be very usefull for performance trouble shooting as the author mentioned.
Thank you.
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
I encountered two problems. The first one was an errormessage about an invalid third parameter when using COPYSTR (value cannot be negative). The error occurred in Codeunit 70200 Unused Keys, Function FileAnalyse:
Old code: New code:
The second problem is much more difficult. I get an errormessage about not enough stack memory due to incorrect usage of recursive functions. :-k I have to investigate to see where this problem occurs. #-o
My blog
txt_cashregnewrecorddenied@1109400015 : TextConst 'DEU=Neuer Datensatz wurde abgelehnt!;ENU=New Record was denied!';
Failed on english translation - "Record"
codeunit 70200 SelectRecord
IF (STRPOS(TextBuffer,' Record ') > 0) OR ((STRPOS(TextBuffer,' RecordRef') > 0)) THEN...
But this is not reference.
IF (STRPOS(TextBuffer,' Record ') > 0) OR ((STRPOS(TextBuffer,' RecordRef') > 0)) AND (STRPOS(TextBuffer, ' TextConst ') = 0) THEN...
the helpful..
Thanks for good utility!
I’m using this tool and I get this error:
Overflow under type conversion of Text to Text.
Value: PayPaidDays."Professional Tax"
in form: Tax Professional Tax
But when i compile this form no errors!!!
whats happening????
E.g. you want to put 'This is the string' into a Text10. The variable is too small.
With the debugger you can check where the error occurs.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Here you are another error to fix:
If we have in a Codeunit setcurrentkey("Order No_", Correction); where between the fields there is a space, in this sitation the tool doesn`t mach it with the proper key from the table.
I made test where i deleted the spaces and the tool works.
BR
i declared the both variables (fieldsstr,fieldsarray) at lenght 1000 but i still have the error...now i changhed all field lenghts to 250...i know it's not the best approach, but it's easier like this than debugging this ton of code... :whistle:
EDIT: neither increasing field lenght solves the problem...i give up
"Never memorize what you can easily find in a book".....Or Mibuso
My Blog