FIELDLEN()

 

Syntax:

       Then: xx=FIELDLEN(lookupname,fieldno)

"lookupname" is the name of the lookup file. Use a dash "-" to represent the current file.
"fieldno" is an expression designating the field number for which you want the length.

Return value is a numeric field containing the length of the target field.

 

Version Ref:  4.5

Description:

Returns the length of the specified field in a lookup file.

 

Examples:

Retrieves the length of a lookup field and places it in variable aa.

       Then: lookup inv=arinvoice k=2 i=a -nx
       Then: aa=fieldlen(inv,"5")

Assigns a length to a field based on the length of a lookup field.

       Then: lookup inv=arinvoice k=2 i=a -nx
       Then: aa(10,fieldlen(inv,"5"))

The following code uses other filePro field functions to display the "map" of a lookup file. It displays the field names, lengths, and edit types in a listbox that looks similar to an actual map printout. (Assumes the lookup name is "file".)

      Then: dim map(100)(60,*)
      Then: no(3,.0) = "1"
        If: numfield(file) eq "0"
      Then: errorbox "No fields" ; end
loop    If: no gt numfield(file) or no gt "99"
      Then: goto done
      Then: map[no] = no & " - " &
            doedit(fieldname(file,no),"*","45") & " " &
            doedit(fieldlen(file,no),".0","3") <
            fieldedit(file,no)
      Then: no = no + "1" ; goto loop
done    If:
      Then: aa = listbox(map,"1",no-"1")

 

Note the use of the DOEDIT() function while building the map entry. This guarantees that all entries will be of the same length, and the columns will be aligned.