In case we need to import field programatically, without direct referencnig, there is a FieldRef in Navision.
setField(tabName : Text[30];fieldId : Integer;mVal : Text[1024])
IF fieldId < 1 THEN EXIT;
IF tabName = 'sometablename' THEN BEGIN
greRecRef.GETTABLE(greNS); // get table reference
greFieldRef:=greRecRef.FIELD(fieldId);
IF FORMAT(greFieldRef.TYPE) = 'Boolean' THEN BEGIN
IF (mVal = '1') OR (UPPERCASE(mVal) = 'YES') THEN greFieldRef.VALUE:=TRUE
ELSE greFieldRef.VALUE:=FALSE;
END ELSE IF (FORMAT(greFieldRef.TYPE) = 'Integer') OR (FORMAT(greFieldRef.TYPE) = 'Decimal') THEN BEGIN
EVALUATE(mNum,mVal);
greFieldRef.VALUE:=mNum;
END ELSE IF (FORMAT(greFieldRef.TYPE) = 'Code') OR (FORMAT(greFieldRef.TYPE) = 'Text') THEN BEGIN
greFieldRef.VALUE:=mVal;
END ELSE IF (FORMAT(greFieldRef.TYPE) = 'Date') THEN BEGIN
EVALUATE(mDate,mVal);
greFieldRef.VALUE:=mDate;
END ELSE IF (FORMAT(greFieldRef.TYPE) = 'Time') THEN BEGIN
EVALUATE(mTime,mVal);
greFieldRef.VALUE:=mTime;
END ELSE ERROR('This field type is not yet covered.');
END;