Translation of 4GL names to iSeries

 1 Replies
 0 Subscribed to this topic
 17 Subscribed to this forum
Sort:
Author
Messages
Walter
Advanced Member
Posts: 22
Advanced Member
    Does anyone have any idea how Lawson determines the iSeries RPG field names when custom tables are created in DBDEF?

    We're migrating to LSF9 from 8.1. In 8.1 I created several files under a custom system code. When these files were created, the process came up with the field names. I know that the first character begins with "D", the next three is the file prefix. But how it comes up with the remaining characters, is somewhat of a mystery. I wasn't too worried about it because I wrote my supporting custom programs using the field names that were assigned. However, when migrating to LSF9, I ran into issues with 2 field names. Here is an example of the error I get with one of the fields:
    "Sysload Translation INVLNG Already in Use for Element INV-LENGTH"

    The field is named DZAYINVLNG in 8.1. Under LSF9 it gets named INV_L00001. It seems to me the translation process has something to do with the element that is chosen for the field name in DBDEF. (that's been my suspicion for awhile). In LSF9, that the process is different. But this is not making sense because we have several custom tables, so why isn't the problem more widespread?
    Steven Gray
    Advanced Member
    Posts: 21
    Advanced Member
      Walter,

      My best guess on the how the ile-xlate algorithm works, involves selecting a set number of consonants from each of the 4GL Name sections. For example:


      4GL Name MATCH-DEFR-PCT
      ile-xlate MT + DF + PC
      Prefix DZMR
      iSeries Name DZMRMTDFPC


      If you have migrated definitions for custom files, and the iSeries names got changed in the process, you may have to delete and re-enter your custom files again in dbdef. You should be able see the ile-name base that was used in the table genlib/ILEXLT.