Allow me to be skeptical. If your usage is something related to a file, as your sample code suggests, than doing *anything* to a file is going to consume so much time that the time required to compute the file name is going to be irrelevant. The same is true if you do anything to the DB.
And, your question is? Substitute() is a lot more powerful and general purpose, having special functionality like nice handling of unknown values and facilitating translation to multiple languages. + is very simple. You are surprised that the complex one takes longer to do an equivalent...
_Field._Mandatory will tell you whether the field is define as having no nulls, but I don't know that this is an absolute guarantee that there are no nulls in the data.
I expect to find some oddities in the DB.
I think you can count on absolutely, especially in an application as vintage as QAD.
Are you familiar with the ABL unknown value? (There are actually several, but that doesn't matter here.) If the field in question is the only one in the index, e.g., something like shipping document, then the entire table can consist of records with the unknown value. If there are multiple...
If an index component of a unique index is unknown value, then there can be any number of records that match. I don't believe that there is any way to FIND them individually without ROWIDs, but you can certainly FOR EACH through them. You can change the unknown value to a known value at any...
Right, one of the principles of good ABL programming is to figure out what needs changing without opening a database transaction and then to open, apply, and close in the shortest possible time. If you do that, then the problem goes away.
For future reference, stick this URL in your reference file for code page issues.
Internationalization (I18n), Localization (L10n), Standards, and Amusements
As discussed on Progress Communities, the issue here is trying to mix positional and named parameters. Once you use a named parameter, positional parameters cannot be used.
BTW, you might want to add Internationalization (I18n), Localization (L10n), Standards, and Amusements to your bookmarks for a lot of information on this topic.
Depending on the need, you could move to an extended code page like UTF-8 that is more likely to have a superset of the characters you want, but that is a non-trivial commitment. So, you need to ask yourself why you need any particular character and how important is it to the application. If...
For situations like this, my inclination is to test the values the user has supplied and construct a where clause dynamically based on what I find there. Thus, if the user supplies "*", simply omit that field from the where clause altogether. Not only does this allow making much more efficient...
Done the COMPILE LISTING yet? You can also do it for the program that calls this one to see if there is a transaction active at the time of the call.
Other than that, I agree with the other advice you have been given. Sometimes, people think they need huge transactions out of some notion that...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.