Dynamics AX 2012 SysOperation Framework விரைவான கண்ணோட்டம்
வெளியிடப்பட்டது: 15 பிப்ரவரி, 2025 அன்று பிற்பகல் 10:36:51 UTC
கடைசியாகப் புதுப்பிக்கப்பட்டது: 12 ஜனவரி, 2026 அன்று AM 8:39:59 UTC
இந்தக் கட்டுரை, டைனமிக்ஸ் AX 2012 மற்றும் செயல்பாடுகளுக்கான டைனமிக்ஸ் 365 இல் உள்ள SysOperation கட்டமைப்பில் செயலாக்க வகுப்புகள் மற்றும் தொகுதி வேலைகளை எவ்வாறு செயல்படுத்துவது என்பது குறித்த விரைவான கண்ணோட்டத்தை (அல்லது ஏமாற்றுத் தாள்) வழங்குகிறது.
Dynamics AX 2012 SysOperation Framework Quick Overview
இந்தப் பதிவில் உள்ள தகவல்கள் டைனமிக்ஸ் AX 2012 R3 ஐ அடிப்படையாகக் கொண்டவை. இது மற்ற பதிப்புகளுக்கு செல்லுபடியாகலாம் அல்லது செல்லாமலும் இருக்கலாம். (புதுப்பிப்பு: இந்தக் கட்டுரையில் உள்ள தகவல்கள் டைனமிக்ஸ் 365 ஃபார் ஆபரேஷன்களுக்கும் செல்லுபடியாகும் என்பதை என்னால் உறுதிப்படுத்த முடியும்)
இந்தப் பதிவு ஒரு விரைவான கண்ணோட்டம் மற்றும் ஏமாற்றுத் தாளுக்காக மட்டுமே. நீங்கள் SysOperation கட்டமைப்பிற்குப் புதியவராக இருந்தால், இந்த விஷயத்தில் மைக்ரோசாப்டின் வெள்ளை அறிக்கையையும் படிக்குமாறு நான் கடுமையாக பரிந்துரைக்கிறேன். இந்த கட்டமைப்பைக் கொண்டு செயல்பாடுகளை உருவாக்குவதில் ஈடுபட்டுள்ள பல்வேறு வகுப்புகளைப் பற்றி விரைவாகப் புரிந்துகொள்ள வேண்டியிருந்தால், இங்குள்ள தகவல்கள் பயனுள்ளதாக இருக்கும்.
வேறுபாடுகள் உள்ளன, ஆனால் நான் கட்டமைப்பைப் பயன்படுத்தும்போது பொதுவாக மூன்று வகுப்புகளை செயல்படுத்துகிறேன்:
- தரவு ஒப்பந்தம் (SysOperationDataContractBase ஐ நீட்டிக்க வேண்டும்)
- சேவை (SysOperationServiceBase ஐ நீட்டிக்க வேண்டும்)
- கட்டுப்படுத்தி (SysOperationServiceController ஐ நீட்டிக்க வேண்டும்)
கூடுதலாக, நான் ஒரு UIBuilder வகுப்பையும் செயல்படுத்தலாம் (SysOperationUIBuilder ஐ நீட்டிக்க வேண்டும்), ஆனால் சில காரணங்களால் உரையாடல் கட்டமைப்பு தானாக உருவாக்குவதை விட மேம்பட்டதாக இருக்க வேண்டும் என்றால் மட்டுமே அது அவசியம்.
தரவு ஒப்பந்தம்
தரவு ஒப்பந்தம் உங்கள் செயல்பாட்டிற்குத் தேவையான தரவு உறுப்பினர்களைக் கொண்டுள்ளது. இதை RunBase கட்டமைப்பில் வரையறுக்கப்பட்ட வழக்கமான CurrentList மேக்ரோவுடன் ஒப்பிடலாம், ஆனால் அதற்கு பதிலாக ஒரு வகுப்பாக செயல்படுத்தப்படுகிறது. தரவு ஒப்பந்தம் SysOperationDataContractBase ஐ நீட்டிக்க வேண்டும், ஆனால் அது வேலை செய்யாவிட்டாலும் கூட வேலை செய்யும். சூப்பர் வகுப்பை நீட்டிப்பதன் நன்மை என்னவென்றால், அது பயனுள்ளதாக இருக்கும் சில அமர்வு தகவல்களை வழங்குகிறது.
class MyDataContract extends SysOperationDataContractBase
{
ItemId itemId;
}
இந்த எடுத்துக்காட்டில், itemId என்பது ஒரு தரவு உறுப்பினர். ஒவ்வொரு தரவு உறுப்பினருக்கும் நீங்கள் ஒரு parm முறையை செயல்படுத்த வேண்டும் மற்றும் அதை DataMemberAttribute உடன் டேக் செய்ய வேண்டும், இதனால் கட்டமைப்பு அது என்ன என்பதை அறியும். இது கட்டமைப்பு தானாகவே உங்களுக்காக உரையாடலை உருவாக்க உதவுகிறது.
public ItemId parmItemId(ItemId _itemId = itemId)
{
;
itemId = _itemId;
return itemId;
}
சேவை
சேவை வகுப்பு என்பது உண்மையான வணிக தர்க்கத்தைக் கொண்ட வகுப்பாகும். இது உரையாடல்களைக் காண்பிப்பதில், தொகுதி செயலாக்கத்தில் அல்லது இதுபோன்ற எதையும் கவனிப்பதில்லை - அது கட்டுப்படுத்தி வகுப்பின் பொறுப்பு. இதைப் பிரிப்பதன் மூலம், உங்கள் குறியீட்டை நன்றாக வடிவமைத்து மீண்டும் பயன்படுத்தக்கூடிய குறியீட்டை உருவாக்க அதிக வாய்ப்புள்ளது.
தரவு ஒப்பந்த வகுப்பைப் போலவே, சேவை வகுப்பும் குறிப்பாக எதிலிருந்தும் பெற வேண்டிய அவசியமில்லை, ஆனால் அது SysOperationServiceBase வகுப்பிலிருந்து பெறப்பட வேண்டும், குறைந்தபட்சம் சேவை ஒரு தொகுதி வேலையாக இயக்கப்படும் என்று நீங்கள் எதிர்பார்க்கிறீர்கள் என்றால், சூப்பர் வகுப்பு தொகுதி சூழல் பற்றிய சில தகவல்களை வழங்குகிறது. செயல்பாட்டைத் தொடங்கும் முறை (அதாவது வணிக தர்க்கத்தை இயக்குகிறது) உங்கள் தரவு ஒப்பந்த வகுப்பின் ஒரு பொருளை உள்ளீடாக எடுத்துக்கொள்ள வேண்டும் மற்றும் [SysEntryPointAttribute] உடன் அலங்கரிக்கப்பட வேண்டும். எடுத்துக்காட்டாக:
{
}
ரன் எனப்படும் ஒரு முறையுடன்:
public void run(MyDataContract _dataContract)
{
// run business logic here
}
கட்டுப்படுத்தி
உங்கள் செயல்பாட்டின் செயல்படுத்தல் மற்றும் தொகுதி செயலாக்கத்தை கட்டுப்படுத்தி வகுப்பு கையாளுகிறது. அதிகபட்ச செயல்திறனுக்காக குறியீடு CIL இல் செயல்படுத்தப்படுவதையும் இது உறுதி செய்கிறது. கட்டுப்படுத்தி வகுப்பு பொதுவாக SysOperationServiceController வகுப்பிலிருந்து பெறப்படுகிறது, இருப்பினும் பிற விருப்பங்களும் உள்ளன.
{
}
சூப்பர் வகுப்பின் கட்டமைப்பாளர் ஒரு வகுப்பு பெயர், முறை பெயர் மற்றும் (விருப்பத்தேர்வாக) செயல்படுத்தல் பயன்முறையை அளவுருக்களாக எடுத்துக்கொள்கிறார். வகுப்பு மற்றும் முறை பெயர்கள் உங்கள் சேவை வகுப்பின் பெயராகவும் அதில் இயக்கப்பட வேண்டிய முறையாகவும் இருக்க வேண்டும். எனவே, உங்கள் கட்டுப்படுத்தியின் கட்டுமான முறையை நீங்கள் இவ்வாறு செயல்படுத்தலாம்:
{
;
return new MyController(classStr(MyService),
methodStr(MyService, run));
}
பின்னர் MyController வகுப்பின் முக்கிய முறை எளிமையானதாக இருக்கலாம்
{
;
MyController::construct().startOperation();
}
நீங்கள் அடிப்படையில் முடித்துவிட்டீர்கள். மேலே உள்ளவை வெளிப்படையாக மிகவும் எளிமையான எடுத்துக்காட்டு மற்றும் கட்டமைப்பில் ஏராளமான பிற விருப்பங்கள் மற்றும் சாத்தியக்கூறுகள் உள்ளன, ஆனால் நீங்கள் சிறிது காலமாக கட்டமைப்பைப் பயன்படுத்தாதபோது ஒரு தூரிகை தேவைப்பட்டால் இது ஒரு விரைவான கண்ணோட்டமாக செயல்படுகிறது.
மேலும் படிக்க
இந்த இடுகை உங்களுக்குப் பிடித்திருந்தால், இந்த பரிந்துரைகளையும் நீங்கள் விரும்பலாம்:
- டைனமிக்ஸ் AX 2012 இல் எந்த துணைப்பிரிவை உடனடிப்படுத்த வேண்டும் என்பதைக் கண்டறிய SysExtension கட்டமைப்பைப் பயன்படுத்துதல்.
- டைனமிக்ஸ் AX 2012 இல் "தரவு ஒப்பந்த பொருளுக்கு மெட்டாடேட்டா வகுப்பு வரையறுக்கப்படவில்லை" என்ற பிழை.
- AIF ஆவண சேவைகளை X++ இலிருந்து நேரடியாக அழைக்கிறது Dynamics AX 2012
