How to disable Auto-Upper case for Code field

kenlkenl Member Posts: 182
Hello,

Does anyone know how to disable the auto-Upper case feature for Code field ? Or, is it possible to do it ?
:-k

Thanks.

Comments

  • SavatageSavatage Member Posts: 7,142
    I do not think that is possible.

    Why would you want to anyway?
  • kenlkenl Member Posts: 182
    Hello,

    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
  • kinekine Member Posts: 12,562
    No, it is not possible, you can only change the CODE type to TEXT type... it will do the change no longer...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • Tim81Tim81 Member Posts: 68
    kenl wrote:
    Hello,

    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"???
  • DenSterDenSter Member Posts: 8,307
    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.
  • kenlkenl Member Posts: 182
    Hello all,

    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.
  • DenSterDenSter Member Posts: 8,307
    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.
  • fbfb Member Posts: 246
    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 'Ó'.
    Reference for 3.70B: http://www.mbsonline.org/forum/topic.asp?TOPIC_ID=12967
    Reference for 4.0: http://www.mbsonline.org/forum/topic.asp?TOPIC_ID=13228
  • kenlkenl Member Posts: 182
    Hello All,

    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.
  • DenSterDenSter Member Posts: 8,307
    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?
  • kapamaroukapamarou Member Posts: 1,152
    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...
  • kenlkenl Member Posts: 182
    Hello,

    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. :( So that there is no much help from MBS.

    But have you solved the upper case problem for code field? Any idea?
  • sindyleesindylee Member Posts: 13
    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.
Sign In or Register to comment.