Auto Populate the Lookup Value

yes I did write a extension class for CustAccount field of salestable datasource as you said,But there are few errors. What I want is when I create a sales order and select CustAccount the salesAgrement should Autofill.

[ExtensionOf(formDataFieldStr(SalesCreateOrder,SalesTable,CustAccount))]
final class FormDataField_IBS_Extension
{
public void modified()
{
FormDataObject formDataObject = any2Object(this) as FormDataObject;
FormDataSource formDataSource = formDataObject.datasource();
SalesTable salesTable;

    next modified();

    salesTable = formDataSource.cursor();
    
    // Check if there is a valid CustAccount
    if (salesTable.CustAccount)
    {
        SalesAgreementHeader salesAgreementHeader;
        CustTable custTable;
        

        // Assuming there is a method to find the appropriate SalesAgreementHeader
        salesAgreementHeader.SalesNumberSequence = SalesAgreementHeader::existForCustomer(salesTable.CustAccount);

        // Assuming SalesAgreementId is a field in SalesAgreementHeader
        salesagreementId = salesAgreementHeader.SalesNumberSequence;
    }
    else
    {
        salesagreementId = ''; // Set SalesAgreementId to blank if there is no CustAccount
    }

}

}