Miklix

Dynamics AX 2012-ൽ ഡാറ്റയും buf2Buf() ഉം തമ്മിലുള്ള വ്യത്യാസം

പ്രസിദ്ധീകരിച്ചത്: 2025, ഫെബ്രുവരി 15 10:55:39 PM UTC
അവസാനം അപ്ഡേറ്റ് ചെയ്തത്: 2026, ജനുവരി 12 8:41:25 AM UTC

ഡൈനാമിക്സ് AX 2012 ലെ buf2Buf() ഉം data() രീതികളും തമ്മിലുള്ള വ്യത്യാസങ്ങൾ ഈ ലേഖനം വിശദീകരിക്കുന്നു, ഓരോന്നും ഉപയോഗിക്കുന്നത് എപ്പോൾ ഉചിതമാകുമെന്നതും ഒരു X++ കോഡ് ഉദാഹരണവും ഉൾപ്പെടെ.


ഈ പേജ് കഴിയുന്നത്ര ആളുകൾക്ക് ആക്‌സസ് ചെയ്യുന്നതിനായി ഇംഗ്ലീഷിൽ നിന്ന് മെഷീൻ വിവർത്തനം ചെയ്‌തിരിക്കുന്നു. നിർഭാഗ്യവശാൽ, മെഷീൻ വിവർത്തനം ഇതുവരെ പൂർണ്ണത നേടിയിട്ടില്ലാത്ത ഒരു സാങ്കേതികവിദ്യയാണ്, അതിനാൽ പിശകുകൾ സംഭവിക്കാം. നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഇവിടെ യഥാർത്ഥ ഇംഗ്ലീഷ് പതിപ്പ് കാണാൻ കഴിയും:

The Difference Between data() and buf2Buf() in Dynamics AX 2012

ഈ പോസ്റ്റിലെ വിവരങ്ങൾ ഡൈനാമിക്സ് AX 2012 R3 അടിസ്ഥാനമാക്കിയുള്ളതാണ്. മറ്റ് പതിപ്പുകൾക്ക് ഇത് സാധുതയുള്ളതോ സാധുതയില്ലാത്തതോ ആകാം.

ഡൈനാമിക്സ് AX-ൽ ഒരു ടേബിൾ ബഫറിൽ നിന്ന് മറ്റൊന്നിലേക്ക് എല്ലാ ഫീൽഡുകളുടെയും മൂല്യം പകർത്തേണ്ടിവരുമ്പോൾ, നിങ്ങൾ പരമ്പരാഗതമായി ഇതുപോലൊന്ന് ചെയ്യും:

toTable.data(fromTable);

ഇത് നന്നായി പ്രവർത്തിക്കുന്നു, മിക്ക കേസുകളിലും ഇതാണ് പോംവഴി.

എന്നിരുന്നാലും, പകരം നിങ്ങൾക്ക് buf2Buf ഫംഗ്ഷൻ ഉപയോഗിക്കാനുള്ള ഓപ്ഷനുമുണ്ട്:

buf2Buf(fromTable, toTable);

ഇതും നന്നായി പ്രവർത്തിക്കുന്നു. അപ്പോൾ എന്താണ് വ്യത്യാസം?

വ്യത്യാസം എന്തെന്നാൽ buf2Buf സിസ്റ്റം ഫീൽഡുകൾ പകർത്തുന്നില്ല എന്നതാണ്. സിസ്റ്റം ഫീൽഡുകളിൽ RecId, TableId, ഒരുപക്ഷേ ഏറ്റവും പ്രധാനമായി ഈ സന്ദർഭത്തിൽ, DataAreaId പോലുള്ള ഫീൽഡുകൾ ഉൾപ്പെടുന്നു. രണ്ടാമത്തേത് ഏറ്റവും പ്രധാനപ്പെട്ടതാകാൻ കാരണം, കമ്പനി അക്കൗണ്ടുകൾക്കിടയിൽ റെക്കോർഡുകൾ ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യുമ്പോൾ, സാധാരണയായി changeCompany കീവേഡ് ഉപയോഗിച്ച്, ഡാറ്റ() ന് പകരം buf2Buf() ഉപയോഗിക്കുന്ന ഏറ്റവും സാധാരണമായ സാഹചര്യമാണ്.

ഉദാഹരണത്തിന്, നിങ്ങൾ "dat" കമ്പനിയിലാണെങ്കിൽ, "com" എന്ന മറ്റൊരു കമ്പനി ഉണ്ടെങ്കിൽ, CustTable-ലെ എല്ലാ റെക്കോർഡുകളും ഇതിൽ നിന്ന് പകർത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നു:

while select crossCompany : ['com'] custTableFrom
{
    buf2Buf(custTableFrom, custTableTo);
    custTableTo.insert();
}

ഈ സാഹചര്യത്തിൽ, സിസ്റ്റം ഫീൽഡുകൾ ഒഴികെയുള്ള എല്ലാ ഫീൽഡ് മൂല്യങ്ങളും buf2Buf പുതിയ ബഫറിലേക്ക് പകർത്തുന്നതിനാൽ ഇത് പ്രവർത്തിക്കും. പകരം നിങ്ങൾ data() ഉപയോഗിച്ചിരുന്നെങ്കിൽ, പുതിയ റെക്കോർഡ് "com" കമ്പനി അക്കൗണ്ടുകളിൽ ചേർക്കപ്പെടുമായിരുന്നു, കാരണം ആ മൂല്യം പുതിയ ബഫറിലേക്കും പകർത്തപ്പെടുമായിരുന്നു.

(യഥാർത്ഥത്തിൽ, അത് ഒരു ഡ്യൂപ്ലിക്കേറ്റ് കീ പിശകിന് കാരണമാകുമായിരുന്നു, പക്ഷേ നിങ്ങൾ ആഗ്രഹിക്കുന്നതും അതല്ല).

കൂടുതൽ വായനയ്ക്ക്

നിങ്ങൾക്ക് ഈ പോസ്റ്റ് ഇഷ്ടപ്പെട്ടെങ്കിൽ, ഈ നിർദ്ദേശങ്ങളും നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ടേക്കാം:


ബ്ലൂസ്കൈയിൽ പങ്കിടുകഫേസ്ബുക്കിൽ പങ്കിടുകLinkedIn-ൽ പങ്കിടുകTumblr-ൽ പങ്കിടുകX-ൽ പങ്കിടുകLinkedIn-ൽ പങ്കിടുകPinterest-ൽ പിൻ ചെയ്യുക

മിക്കൽ ക്രിസ്റ്റൻസൺ

എഴുത്തുകാരനെ കുറിച്ച്

മിക്കൽ ക്രിസ്റ്റൻസൺ
മിക്കൽ miklix.com ന്റെ സ്രഷ്ടാവും ഉടമയുമാണ്. ഒരു പ്രൊഫഷണൽ കമ്പ്യൂട്ടർ പ്രോഗ്രാമർ/സോഫ്റ്റ്‌വെയർ ഡെവലപ്പർ എന്ന നിലയിൽ 20 വർഷത്തിലേറെ പരിചയമുള്ള അദ്ദേഹം ഇപ്പോൾ ഒരു വലിയ യൂറോപ്യൻ ഐടി കോർപ്പറേഷനിൽ മുഴുവൻ സമയ ജോലിക്കാരനാണ്. ബ്ലോഗിംഗ് അല്ലാത്തപ്പോൾ, അദ്ദേഹം തന്റെ ഒഴിവു സമയം വിവിധ താൽപ്പര്യങ്ങൾ, ഹോബികൾ, പ്രവർത്തനങ്ങൾ എന്നിവയിൽ ചെലവഴിക്കുന്നു, ഇത് ഒരു പരിധിവരെ ഈ വെബ്‌സൈറ്റിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന വിഷയങ്ങളിൽ പ്രതിഫലിച്ചേക്കാം.