The reason is data corruption! For some languges data is case sensitive. Auto convert into upper case will cause data corruption. That is why I am looking for solution to disable this "feature". ](*,)
The reason is data corruption! For some languges data is case sensitive. Auto convert into upper case will cause data corruption. That is why I am looking for solution to disable this "feature". ](*,)
Ken
Where is the problem?? It's a property of code fields, that the value is always upper-cased.
If you need a data type that don't upper-case the value use text fields.
Why do you need a code field without "upper case" as there is a data type that has the same qualities without "upper case"???
The ONLY possible way to corrupt a Navision database as a result of faulty values in a Code field is when you write lower case values into a Navision SQL database in any other way than through Navision, say by your own custom SP that talks to an external database.
If you need to integrate an external database with a Navision database, and one of the fields is a code field, then you will have to make sure that this external database writes those values in uppercase, or you map it to a text field instead.
Data corruption is in the developer's hand and the way that they handle the systems parameters. Now you know how a code field behaves, go and use it wisely. If you try to write a lower case value into a code field, then you are the cause of the corruption yourself, not the system.
Seem like there is no way to disable the auto upper case feature for Code field. Too bad
You know, for some languages, the meaning of upper case character is different from lower case character. It is almost impossible to guide users Not entering lower case character in ANY Code fields. :-& Since they have no programming knowledge, they don't know which fields is Code field, which field is Text field.
Maybe you can share with us what it is exactly you want to do and what you are having a problem with, so maybe we can help you.
There is no such thing as an 'uppercase feature' for code fields, so there is nothing to disable. There is nothing that you can turn on or off. The datatype is what it is.
Of course you can't expect users to always enter uppercase, that's not their responsibility. If you have a system other than Navision writing directly into the navision SQL tables, then it is your responsibility to program that system to store the values in uppercase.
I understand that 'a' means something else than 'A', but I fail to see how you can have data corruption using regular Navision development. You must be doing some kind of integration, and if you'd explain what it is you are trying to accomplish, we may be able to help you out.
Hmm, is it possible that this is a case of the problem fixed in 'C/SIDE Update 1' for 3.70B and 4.00? To wit:
5. Characters having unsymetrical UPPER/LOWER case are not handled correctly in Code fields, causing 'Table contains a value in a Code field that cannot be used with Navision' error. Example is the Greek 'ó' and ('ò') characters both having an UPPER of 'Ó'.
This question is not relating to data integration. I am just working within Navision itself.
I am trying to enter double byte characters in Navision (Like Chinese, Japanese..etc). So far everything seems ok, until when I enter double type character in Code field. In this case the character change the value since the Upper case feature.
Maybe, I should guide the users to not entering double byte characters on any Code field.
I did not know that causes data problems. I'm sorry but I don't have any experience with double byte characters, but I am positive that there are others who have had the same issue. Surely some of our Asian members have something to add here .
All I can think of is language settings on your machines or in the Navision installation. Do you have the right language settings there?
Have you tried to get you in touch with Microsoft support?
I don't know if the following can help you but you can try it...
I have come against this problem many times whith Hellenic characters... The problem occurs when the database was created with the Navision client being set to English... Try to switch the client to the language you need, then create the database and then try to give some values to a CODE field to see if they are correct...
This problem comes I think from the STX file currently used...
I have some news for your regarding the encoding of Chinese characters on CODE fields. There is a way to prevent the character from changing when put in a CODE field.
Here is what you need to do:
1. In CU 1 ApplicationManagement, modify the AutoFormatTranslate function by adding the line marked as "New Line"
....
2: // Unit Amount
IF AutoFormatExpr = '' THEN
EXIT(STRSUBSTNO(Text012,GLSetup."Unit-Amount Decimal Places"))
ELSE BEGIN
IF Currency.GET(AutoFormatExpr) AND (Currency."Unit-Amount Decimal Places" <> '') THEN
EXIT(STRSUBSTNO(Text012,Currency."Unit-Amount Decimal Places"))
ELSE
EXIT(STRSUBSTNO(Text012,GLSetup."Unit-Amount Decimal Places"));
END;
9: EXIT(AutoFormatExpr); // New Line
10: EXIT('<Custom,' + AutoFormatExpr + '>'); END;
2. To address the problem on the Search Name field in the Customer Card, open the Customer table in the Object Designer and modify the following properties for the Search Name field:
AutoFormatType = 9
AutoFormatExpr = Rec.Name
You can also modify the same properties above for the other CODE fields that you use.
Comments
Why would you want to anyway?
http://www.BiloBeauty.com
http://www.autismspeaks.org
The reason is data corruption! For some languges data is case sensitive. Auto convert into upper case will cause data corruption. That is why I am looking for solution to disable this "feature". ](*,)
Ken
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
If you need a data type that don't upper-case the value use text fields.
Why do you need a code field without "upper case" as there is a data type that has the same qualities without "upper case"???
If you need to integrate an external database with a Navision database, and one of the fields is a code field, then you will have to make sure that this external database writes those values in uppercase, or you map it to a text field instead.
Data corruption is in the developer's hand and the way that they handle the systems parameters. Now you know how a code field behaves, go and use it wisely. If you try to write a lower case value into a code field, then you are the cause of the corruption yourself, not the system.
RIS Plus, LLC
Seem like there is no way to disable the auto upper case feature for Code field. Too bad
You know, for some languages, the meaning of upper case character is different from lower case character. It is almost impossible to guide users Not entering lower case character in ANY Code fields. :-& Since they have no programming knowledge, they don't know which fields is Code field, which field is Text field.
There is no such thing as an 'uppercase feature' for code fields, so there is nothing to disable. There is nothing that you can turn on or off. The datatype is what it is.
Of course you can't expect users to always enter uppercase, that's not their responsibility. If you have a system other than Navision writing directly into the navision SQL tables, then it is your responsibility to program that system to store the values in uppercase.
I understand that 'a' means something else than 'A', but I fail to see how you can have data corruption using regular Navision development. You must be doing some kind of integration, and if you'd explain what it is you are trying to accomplish, we may be able to help you out.
RIS Plus, LLC
Reference for 4.0: http://www.mbsonline.org/forum/topic.asp?TOPIC_ID=13228
Thanks for all you reply.
This question is not relating to data integration. I am just working within Navision itself.
I am trying to enter double byte characters in Navision (Like Chinese, Japanese..etc). So far everything seems ok, until when I enter double type character in Code field. In this case the character change the value since the Upper case feature.
Maybe, I should guide the users to not entering double byte characters on any Code field.
All I can think of is language settings on your machines or in the Navision installation. Do you have the right language settings there?
Have you tried to get you in touch with Microsoft support?
RIS Plus, LLC
I have come against this problem many times whith Hellenic characters... The problem occurs when the database was created with the Navision client being set to English... Try to switch the client to the language you need, then create the database and then try to give some values to a CODE field to see if they are correct...
This problem comes I think from the STX file currently used...
I am using a "Double Byte" stx file. I set my computer regional setting as Asia. Then I create database through Navision client.
Form MBS, they reply that Navision does not offically support double byte character.
But have you solved the upper case problem for code field? Any idea?
Here is what you need to do:
1. In CU 1 ApplicationManagement, modify the AutoFormatTranslate function by adding the line marked as "New Line"
....
2: // Unit Amount
IF AutoFormatExpr = '' THEN
EXIT(STRSUBSTNO(Text012,GLSetup."Unit-Amount Decimal Places"))
ELSE BEGIN
IF Currency.GET(AutoFormatExpr) AND (Currency."Unit-Amount Decimal Places" <> '') THEN
EXIT(STRSUBSTNO(Text012,Currency."Unit-Amount Decimal Places"))
ELSE
EXIT(STRSUBSTNO(Text012,GLSetup."Unit-Amount Decimal Places"));
END;
9: EXIT(AutoFormatExpr); // New Line
10: EXIT('<Custom,' + AutoFormatExpr + '>'); END;
2. To address the problem on the Search Name field in the Customer Card, open the Customer table in the Object Designer and modify the following properties for the Search Name field:
AutoFormatType = 9
AutoFormatExpr = Rec.Name
You can also modify the same properties above for the other CODE fields that you use.