codeunit 50703 MyCodeunit { trigger OnRun() var SalesHeader: Record "Sales Header"; ValueFromExtension: Text; begin SalesHeader.Get(SalesHeader."Document Type"::Order, '10001'); ValueFromExtension := GetFieldValue(SalesHeader.RecordId, 'My Extension Field'); Message('Value from Extension with out Dependency: %1', ValueFromExtension); ValueFromExtension := 'New Value'; SetFieldValue(SalesHeader.RecordId, 'My Extension Field', ValueFromExtension); ValueFromExtension := GetFieldValue(SalesHeader.RecordId, 'My Extension Field'); Message('Value from Extension with out Dependency: %1', ValueFromExtension); end; local procedure SetFieldValue(pRecordID: RecordId; pFieldName: Text; pFieldValue: Text) var FieldRec: Record Field; RecRef: RecordRef; FieldRef: FieldRef; begin FieldRec.SetRange(TableNo, pRecordID.TableNo); if FieldRec.IsEmpty then Error(StrSubstNo('Table No. %1 does not exists.', pRecordID.TableNo)); FieldRec.SetRange(FieldName, pFieldName); if FieldRec.IsEmpty then Error(StrSubstNo('Field %1 does not exists in Table No. %2', pFieldName, pRecordID.TableNo)); FieldRec.FindFirst(); RecRef.Get(pRecordID); FieldRef := RecRef.Field(FieldRec."No."); FieldRef.Validate(pFieldValue); RecRef.Modify(true); end; local procedure GetFieldValue(pRecordID: RecordId; pFieldName: Text): Text var FieldRec: Record Field; RecRef: RecordRef; FieldRef: FieldRef; begin FieldRec.SetRange(TableNo, pRecordID.TableNo); if FieldRec.IsEmpty then Error(StrSubstNo('Table No. %1 does not exists.', pRecordID.TableNo)); FieldRec.SetRange(FieldName, pFieldName); if FieldRec.IsEmpty then Error(StrSubstNo('Field %1 does not exists in Table No. %2', pFieldName, pRecordID.TableNo)); FieldRec.FindFirst(); RecRef.Get(pRecordID); FieldRef := RecRef.Field(FieldRec."No."); exit(Format(FieldRef.Value)); end; }