Error 1190

CristinaCristina Member Posts: 35
edited 2004-10-27 in Navision Attain
How can I correct error:

1190 in modul 19 = #Err_DB_AlphaTypeIncorrect DB_Err(1190)

Comments

  • jmjm Member Posts: 156
    Hi,

    found the following answer in the serveice system:

    Concerning error 1190 in module 19 indicating that data in an alpha-field do not correlates with the internal description of the field. E.g. a Code field contains lowercase characters.

    A possible reason is that someone changed data in the SQL Enterprise Manager directly.

    To locate the problem run a minimum database test in Navision. If you get an error go to File, Database Information, Tables. Then highlight a few tables. Then select the Test button. And check "Test Primary Keys and Data" and "Test BLOBs".
    Continue with the next tables in order to narrow in the table where the problem is located.

    br
    Josef Metz
    br
    Josef Metz
  • Timo_LässerTimo_Lässer Member Posts: 481
    There is no typical solution.

    The problem could be, that in a code field of any table (perhaps you will know the table if you run a dbtest) are invalid chars (such as spaces at the beginning / ending of the code field or lowercase chars in a code field).
    Could it be that you write (with external software) data into the code fields?

    If you know the table you could correct all code fields like this:
    RecRef.OPEN(DATABASE::"YourCorruptTable");
    IF RecRef.FIND('-') THEN
      REPEAT
        FOR I := 1 TO RecRef.FIELDCOUNT DO BEGIN
          FldRef := RecRef.FIELDINDEX(I);
          IF (UPPERCASE(FORMAT(FldRef.TYPE)) = 'CODE') AND (UPPERCASE(FORMAT(FldRef.CLASS)) = 'NORMAL') THEN
            FldRef.VALUE := DELCHR(UPPERCASE(FldRef.VALUE),'<>');
        END;
        RecRef.MODIFY;
      UNTIL RecRef.NEXT = 0;
    

    With similar code I corrected the internal error 1192 in module 19 "BoolOutOfRange":
    RecRef.OPEN(DATABASE::"MyCorrupTable");
    IF RecRef.FIND('-') THEN
      REPEAT
        FOR I := 1 TO RecRef.FIELDCOUNT DO BEGIN
          FldRef := RecRef.FIELDINDEX(I);
          IF (UPPERCASE(FORMAT(FldRef.TYPE)) = 'BOOLEAN') AND (UPPERCASE(FORMAT(FldRef.CLASS)) = 'NORMAL') THEN BEGIN
            IF FORMAT(FldRef.VALUE) = FORMAT(TRUE) THEN
              FldRef.VALUE := TRUE
            ELSE
              FldRef.VALUE := FALSE;
          END;
        END;
        RecRef.MODIFY;
      UNTIL RecRef.NEXT = 0;
    

    WARNING: You will use this code at your own risk! It is strongly recommended that you make a complete backup of the database before executing this code.
    Timo Lässer
    Microsoft Dynamics NAV Developer since 1997
    MSDynamics.de - German Microsoft Dynamics Community - member of [clip]
  • CristinaCristina Member Posts: 35
    I've tested the database and the tables and the tables with errors is User Rol and G/L Account. I've looked in her data but looks OK. The dates are write in Romanian with some special characters. Probally this is the problem. I'll try the code from Timo Lässer.

    10x
  • SavatageSavatage Member Posts: 7,142
    There are some other posts on the 1190 error. If you search the database you will find them.

    But here is some info i'll add to this topic in case someone in the future does a search....

    Issue

    Internal Error 1190 in module 19 occurs when performing a Navision Backup on the SQL Server Option.

    Note - This message refers to lowercase letters existing in a CODE field. This cannot be done in the Navision client.

    Potential Cause

    It is usually caused by someone putting data into a Navision table through a SQL Server tool instead of using the Navision Client. This is very dangerous and we do not recommend it.

    Resolution

    1. Find the table that has the problem. This should be mentioned in the error message.

    2. Identify the problem fields. You may want to start by identifying all of the CODE fields in the table and then running a SELECT query on the table in Query Analyzer to identify which fields have bad data.

    3. Create a report or codeunit in Navision that will loop through the table and UPPERCASE the fields that contain the bad data.

    Note - There may be more tables with the same problem.

    This article was TechKnowledge Document ID: 28365
Sign In or Register to comment.