Benzersiz kayıt anahtarını yeniden adlandırma.(renamePrimaryKey)

Merhaba,

Axaptada örneğin CustTable formunda sağ tıklayıp kayıt bilgileri derseniz aşağıdaki ekran açılır.

Yeniden adlandır butonu ile müşteri kodunu değiştirebilirsiniz. Ax bütün ilişkili tablolarda müşteri kodunu değiştirir. Bu işlem PrimaryKey olan diğer alanlar içinde gecerlidir. Farklı formlarda bu fonksiyonu kullanabilirsiniz. Ancak bu işlem tek bir kayıt için çalışır. Öreneğin siz bütün müşterilerin başında “M-” olsun istiyorsunuz bunu kodla yapmanız gerekir.

Örnek bir job yazalım:

static void renameCustAccountByName(Args _args)
{
    int             i;
    str             oldValue;
    str             newValue;
    fieldId         fieldId;
    CustTable       custTable;
    ;
    while select forupdate custTable
    {
        newValue = strfmt(“M-%1″,custTable.AccountNum);
        startLengthyOperation(); // ProgresBar koyar
        fieldId = fieldnum(CustTable,AccountNum);
        try
        {
            ttsbegin;
            // CC Start
            CCPrimaryKey::renamePrimaryKey(custTable, newValue, fieldId);
            // CC End
            custTable.(fieldId) = newValue;
            custTable.renamePrimaryKey();
            ttscommit;
        }
        catch (Exception::Error)
        {
            ttsabort;
        }
    }
  �
    info(‘Tüm kayıtlar güncellenmiştir.’);
}

Selamlar.

 
Comment are closed.