Miklix

ଡାଇନାମିକ୍ସ AX 2012 ରେ କେଉଁ ଉପଶ୍ରେଣୀକୁ ଇନଷ୍ଟାଣ୍ଟାଇଟ୍ କରିବେ ତାହା ଜାଣିବା ପାଇଁ ସାଇସ୍ ଏକ୍ସଟେନ୍ସନ୍ ଫ୍ରେମୱାର୍କ ବ୍ୟବହାର କରିବା

ପ୍ରକାଶିତ: 12:28:53 AM UTC ଠାରେ ଫେବୃଆରୀ 16, 2025
ଶେଷ ଥର ପାଇଁ ଅଦ୍ୟତନ ହୋଇଥିଲା: 8:43:46 AM UTC ଠାରେ ଜାନୁଆରୀ 12, 2026

ଏହି ପ୍ରବନ୍ଧଟି ବର୍ଣ୍ଣନା କରେ ଯେ ଡାଇନାମିକ୍ସ AX 2012 ଏବଂ ଡାଇନାମିକ୍ସ 365 ରେ ଅପରିଚିତ SysExtension ଫ୍ରେମୱାର୍କକୁ କିପରି ବ୍ୟବହାର କରି ଆଟ୍ରିବ୍ୟୁଟ୍ ସାଜସଜ୍ଜା ଉପରେ ଆଧାରିତ ଉପ ଶ୍ରେଣୀଗୁଡ଼ିକୁ ଇନଷ୍ଟାଣ୍ଟିଏଟ୍ କରିବେ, ଯାହା ଏକ ପ୍ରକ୍ରିୟାକରଣ ଶ୍ରେଣୀ ପଦାନୁକ୍ରମର ସହଜରେ ବିସ୍ତାରିତ ଡିଜାଇନ୍ ପାଇଁ ଅନୁମତି ଦେବ।


ଏହି ପୃଷ୍ଠାକୁ ଅଧିକରୁ ଅଧିକ ଲୋକଙ୍କ ପାଖରେ ପହଞ୍ଚାଇବା ପାଇଁ ଇଂରାଜୀରୁ ମେସିନ୍ ଅନୁବାଦ କରାଯାଇଥିଲା। ଦୁର୍ଭାଗ୍ୟବଶତଃ, ମେସିନ୍ ଅନୁବାଦ ଏପର୍ଯ୍ୟନ୍ତ ଏକ ସିଦ୍ଧ ପ୍ରଯୁକ୍ତିବିଦ୍ୟା ନୁହେଁ, ତେଣୁ ତ୍ରୁଟି ହୋଇପାରେ। ଯଦି ଆପଣ ଚାହାଁନ୍ତି, ତେବେ ଆପଣ ଏଠାରେ ମୂଳ ଇଂରାଜୀ ସଂସ୍କରଣ ଦେଖିପାରିବେ:

Using the SysExtension Framework to Find Out Which Subclass to Instantiate in Dynamics AX 2012

ଏହି ପୋଷ୍ଟରେ ଥିବା ସୂଚନା ଡାଇନାମିକ୍ସ AX 2012 R3 ଉପରେ ଆଧାରିତ। ଏହା ଅନ୍ୟ ସଂସ୍କରଣ ପାଇଁ ବୈଧ ହୋଇପାରେ କିମ୍ବା ନ ହୋଇପାରେ। (ଅପଡେଟ୍: ମୁଁ ନିଶ୍ଚିତ କରିପାରିବି ଯେ ଏହି ଆର୍ଟିକିଲରେ ଥିବା ସୂଚନା ଅପରେସନ୍ ପାଇଁ ଡାଇନାମିକ୍ସ 365 ପାଇଁ ମଧ୍ୟ ବୈଧ)

Dynamics AX ରେ ପ୍ରକ୍ରିୟାକରଣ ଶ୍ରେଣୀ କାର୍ଯ୍ୟକାରୀ କରିବା ସମୟରେ, ଆପଣ ପ୍ରାୟତଃ ଏକ ଶ୍ରେଣୀ ପଦାନୁକ୍ରମ ସୃଷ୍ଟି କରିବାର ସମ୍ମୁଖୀନ ହୁଅନ୍ତି ଯେଉଁଥିରେ ପ୍ରତ୍ୟେକ ଉପଶ୍ରେଣୀ ଏକ enum ମୂଲ୍ୟ ସହିତ ମେଳ ଖାଏ କିମ୍ବା ଅନ୍ୟ କିଛି ଡାଟା ସଂଯୋଗ ଥାଏ। ଏକ କ୍ଲାସିକ୍ ଡିଜାଇନ୍ ହେଉଛି ସୁପର ଶ୍ରେଣୀରେ ଏକ ନିର୍ମାଣ ପଦ୍ଧତି ରହିବା, ଯେଉଁଥିରେ ଏକ ସ୍ୱିଚ୍ ଥାଏ ଯାହା ଇନପୁଟ୍ ଆଧାରରେ କେଉଁ ଶ୍ରେଣୀ ଇନଷ୍ଟାଣ୍ଟିଏଟ୍ କରିବ ତାହା ନିର୍ଣ୍ଣୟ କରେ।

ଏହା ନୀତିଗତ ଭାବରେ ଭଲ କାମ କରେ, କିନ୍ତୁ ଯଦି ଆପଣଙ୍କର ଅନେକ ଭିନ୍ନ ସମ୍ଭାବ୍ୟ ଇନପୁଟ୍ ଅଛି (ଏକ enum ରେ ଅନେକ ଉପାଦାନ କିମ୍ବା ହୁଏତ ଇନପୁଟ୍ ଅନେକ ଭିନ୍ନ ମୂଲ୍ୟର ମିଶ୍ରଣ), ତେବେ ଏହା ବଜାୟ ରଖିବା ପାଇଁ କ୍ଲାନ୍ତିକର ଏବଂ ତ୍ରୁଟିପୂର୍ଣ୍ଣ ହୋଇପାରେ ଏବଂ ଡିଜାଇନ୍ ର ସର୍ବଦା ଅସୁବିଧା ରହିଛି ଯେ ଯଦି ଆପଣ କେବେ ଏକ ନୂତନ ଉପଶ୍ରେଣୀ ଯୋଡନ୍ତି କିମ୍ବା କେଉଁ ଇନପୁଟ୍ ଆଧାରରେ କେଉଁ ଉପଶ୍ରେଣୀ ବ୍ୟବହାର କରାଯିବା ଉଚିତ ସେଥିରେ ପରିବର୍ତ୍ତନ କରନ୍ତି ତେବେ ଆପଣଙ୍କୁ ଉକ୍ତ ନିର୍ମାଣ ପଦ୍ଧତିକୁ ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡିବ।

ସୌଭାଗ୍ୟବଶତଃ, ଏହା କରିବାର ଏକ ବହୁତ ସୁନ୍ଦର, କିନ୍ତୁ ଦୁର୍ଭାଗ୍ୟବଶତଃ ବହୁତ କମ୍ ଜଣାଶୁଣା ଉପାୟ ଅଛି, ଅର୍ଥାତ୍ SysExtension ଫ୍ରେମୱାର୍କ ବ୍ୟବହାର କରି।

ଏହି ଫ୍ରେମୱାର୍କ ଏପରି ଗୁଣଗୁଡ଼ିକର ଲାଭ ନେଇଥାଏ ଯାହାକୁ ଆପଣ ଆପଣଙ୍କର ଉପ ଶ୍ରେଣୀଗୁଡ଼ିକୁ ସଜାଇବା ପାଇଁ ବ୍ୟବହାର କରିପାରିବେ ଯାହା ଦ୍ୱାରା ସିଷ୍ଟମ କେଉଁ ଉପ ଶ୍ରେଣୀକୁ ପରିଚାଳନା କରିବା ପାଇଁ ବ୍ୟବହାର କରାଯିବା ଉଚିତ ତାହା ଜାଣିପାରିବ। ଆପଣଙ୍କୁ ଏବେ ବି ଏକ ନିର୍ମାଣ ପଦ୍ଧତି ଆବଶ୍ୟକ ହେବ, କିନ୍ତୁ ଯଦି ସଠିକ୍ ଭାବରେ କରାଯାଏ, ତେବେ ନୂତନ ଉପ ଶ୍ରେଣୀ ଯୋଡ଼ିବା ସମୟରେ ଆପଣଙ୍କୁ ଏହାକୁ କେବେବି ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡ଼ିବ ନାହିଁ।

ଆସନ୍ତୁ ଏକ କାଳ୍ପନିକ ଉଦାହରଣ ଦେଖିବା ଏବଂ କହିବା ଯେ ଆପଣ ଏକ ପଦାନୁକ୍ରମ କାର୍ଯ୍ୟକାରୀ କରିବାକୁ ଯାଉଛନ୍ତି ଯାହା InventTrans ଟେବୁଲ ଉପରେ ଆଧାରିତ କିଛି ପ୍ରକାରର ପ୍ରକ୍ରିୟାକରଣ କରେ। କେଉଁ ପ୍ରକ୍ରିୟାକରଣ କରାଯିବ ତାହା ରେକର୍ଡଗୁଡ଼ିକର StatusReceipt ଏବଂ StatusIssue ଉପରେ ନିର୍ଭର କରେ, ଏବଂ ରେକର୍ଡଗୁଡ଼ିକ SalesLine, PurchLine କିମ୍ବା କୌଣସିଟି ସହିତ ଜଡିତ କି ନାହିଁ ତାହା ଉପରେ ମଧ୍ୟ ନିର୍ଭର କରେ। ପୂର୍ବରୁ, ଆପଣ ବହୁତ ଭିନ୍ନ ମିଶ୍ରଣ ଦେଖୁଛନ୍ତି।

ତେବେ ଆସନ୍ତୁ କହିବା ଯେ ଆପଣ ଜାଣନ୍ତି ଯେ ବର୍ତ୍ତମାନ ପାଇଁ ଆପଣଙ୍କୁ କେବଳ କିଛି ମିଶ୍ରଣକୁ ପରିଚାଳନା କରିବାକୁ ପଡିବ, କିନ୍ତୁ ଆପଣ ଏହା ମଧ୍ୟ ଜାଣନ୍ତି ଯେ ସମୟ ସହିତ ଆପଣଙ୍କୁ ଅଧିକରୁ ଅଧିକ ମିଶ୍ରଣକୁ ପରିଚାଳନା କରିବାକୁ ସକ୍ଷମ ହେବାକୁ କୁହାଯିବ।

ଏହାକୁ ତୁଳନାତ୍ମକ ଭାବରେ ସରଳ ରଖିବା ଏବଂ କହିବା ଯେ ବର୍ତ୍ତମାନ ପାଇଁ ଆପଣଙ୍କୁ କେବଳ ReservPhysical କିମ୍ବା ReservOrdered ର StatusIssue ସହିତ SalesLine ସମ୍ବନ୍ଧୀୟ ରେକର୍ଡଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବାକୁ ପଡିବ, ଅନ୍ୟ ସମସ୍ତ ମିଶ୍ରଣକୁ ବର୍ତ୍ତମାନ ପାଇଁ ଅଣଦେଖା କରାଯାଇପାରିବ, କିନ୍ତୁ ଯେହେତୁ ଆପଣ ଜାଣନ୍ତି ଯେ ଆପଣଙ୍କୁ ପରେ ସେଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବାକୁ ପଡିବ, ଆପଣ ଆପଣଙ୍କର କୋଡ୍ ଏପରି ଭାବରେ ଡିଜାଇନ୍ କରିବାକୁ ଚାହିଁବେ ଯାହା ଏହାକୁ ସହଜରେ ବିସ୍ତାରିତ କରିପାରିବ।

ଆପଣଙ୍କର ପଦାନୁକ୍ରମ ବର୍ତ୍ତମାନ ପାଇଁ ଏହିପରି ଦେଖାଯାଇପାରେ:

  • ମୋରପ୍ରୋସେସରମୋରପ୍ରୋସେସର_ବିକ୍ରୟମୋରପ୍ରୋସେସର_ବିକ୍ରୟ_ସଂରକ୍ଷିତଅର୍ଡର କରାଯାଇଛିମୋରପ୍ରୋସେସର_ବିକ୍ରୟ_ସଂରକ୍ଷିତଭୌତିକ

ଏବେ, ଆପଣ ସୁପର କ୍ଲାସରେ ଏକ ପଦ୍ଧତି ସହଜରେ କାର୍ଯ୍ୟକାରୀ କରିପାରିବେ ଯାହା ଏକ ModuleInventPurchSales ଏବଂ ଏକ StatusIssue enum ଉପରେ ଆଧାରିତ ଏକ ଉପକ୍ଲାସକୁ ଇନଷ୍ଟାଣ୍ଟିଏଟ୍ କରିଥାଏ। କିନ୍ତୁ ଆପଣଙ୍କୁ ପ୍ରତ୍ୟେକ ଥର ଏକ ଉପକ୍ଲାସ ଯୋଡିବା ସମୟରେ ସୁପର କ୍ଲାସକୁ ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡିବ, ଏବଂ ଏହା ପ୍ରକୃତରେ ଅବଜେକ୍ଟ-ଓରିଏଣ୍ଟେଡ୍ ପ୍ରୋଗ୍ରାମିଂରେ ଇନହେରିଟେନ୍ସର ଧାରଣା ନୁହେଁ। ସର୍ବୋପରି, ପ୍ରତ୍ୟେକ ଥର ଆପଣ ଏକ ନୂତନ ବ୍ୟାଚ୍ କାର୍ଯ୍ୟ ଯୋଡିବା ସମୟରେ ଆପଣଙ୍କୁ RunBaseBatch କିମ୍ବା SysOperationServiceBase ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡିବ ନାହିଁ।

ଏହା ବଦଳରେ, ଆପଣ SysExtension ଫ୍ରେମୱାର୍କ ବ୍ୟବହାର କରିପାରିବେ। ଏଥିପାଇଁ ଆପଣଙ୍କୁ ଆଉ ଏକ ଶ୍ରେଣୀ ଯୋଡିବାକୁ ପଡିବ, ଯାହାକୁ SysAttribute ବିସ୍ତାର କରିବାକୁ ପଡିବ। ଏହି ଶ୍ରେଣୀକୁ ଆପଣ ଆପଣଙ୍କର ପ୍ରକ୍ରିୟାକରଣ ଶ୍ରେଣୀଗୁଡ଼ିକୁ ସଜାଇବା ପାଇଁ ଗୁଣ ଭାବରେ ବ୍ୟବହାର କରାଯିବ।

ଏହି ଶ୍ରେଣୀଟି SysOperation କାର୍ଯ୍ୟାନ୍ୱୟନ ପାଇଁ ଆପଣ କିପରି ଏକ ଡାଟା କଣ୍ଟ୍ରାକ୍ଟ ଶ୍ରେଣୀ ତିଆରି କରିବେ ତାହା ସହିତ ବହୁତ ସମାନ, କାରଣ ଏଥିରେ ସେହି ମୂଲ୍ୟଗୁଡ଼ିକୁ ପାଇବା ଏବଂ ସେଟ୍ କରିବା ପାଇଁ କିଛି ଡାଟା ସଦସ୍ୟ ଏବଂ parm ପଦ୍ଧତି ରହିବ।

ଆମ କ୍ଷେତ୍ରରେ, ClassDeclaration ଏହିପରି ଦେଖାଯାଇପାରେ:

class MyProcessorSystemAttribute extends SysAttribute
{
    ModuleInventPurchSales  module;
    StatusIssue             statusIssue;
    StatusReceipt           statusReceipt
}

ସମସ୍ତ ଡାଟା ସଦସ୍ୟଙ୍କୁ ଇନଷ୍ଟାଣ୍ଟିଏଟ୍ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଏକ new() ପଦ୍ଧତି ତିଆରି କରିବାକୁ ପଡିବ। ଯଦି ଆପଣ ଚାହାଁନ୍ତି ତେବେ ଆପଣ ସେମାନଙ୍କ ମଧ୍ୟରୁ କିଛି କିମ୍ବା ସମସ୍ତ ଡିଫଲ୍ଟ ମୂଲ୍ୟ ଦେଇପାରିବେ, କିନ୍ତୁ ମୁଁ ତାହା କରିନାହିଁ।

public void new(ModuleInventPurchSales  _module,
                StatusIssue             _statusIssue,
                StatusReceipt           _statusReceipt)
{
    ;

    super();

    module          = _module;
    statusIssue     = _statusIssue;
    statusReceipt   = _statusReceipt;
}

ଏବଂ ଆପଣଙ୍କୁ ପ୍ରତ୍ୟେକ ଡାଟା ସଦସ୍ୟଙ୍କ ପାଇଁ ଏକ parm ପଦ୍ଧତି ମଧ୍ୟ କାର୍ଯ୍ୟକାରୀ କରିବା ଉଚିତ, କିନ୍ତୁ ମୁଁ ଏଠାରେ ସେଗୁଡ଼ିକୁ ବାଦ୍ ଦେଇଛି କାରଣ ମୁଁ ନିଶ୍ଚିତ ଯେ ଆପଣ ତାହା କିପରି କରିବେ ତାହା ଜାଣନ୍ତି - ନଚେତ୍, ଏହାକୁ ଏକ ଅଭ୍ୟାସ ଭାବରେ ବିଚାର କରିବା ;-)

ଏବେ ଆପଣ ଆପଣଙ୍କର ପ୍ରତ୍ୟେକ ପ୍ରକ୍ରିୟାକରଣ ଶ୍ରେଣୀକୁ ସଜାଇବା ପାଇଁ ଆପଣଙ୍କର ଆଟ୍ରିବ୍ୟୁଟ୍ ଶ୍ରେଣୀ ବ୍ୟବହାର କରିପାରିବେ। ଉଦାହରଣ ସ୍ୱରୂପ, ଶ୍ରେଣୀ ଘୋଷଣାଗୁଡ଼ିକ ଏହିପରି ଦେଖାଯାଇପାରେ:

[MyProcessorSystemAttribute(ModuleInventPurchSales::Sales,
                            StatusIssue::None,
                            StatusReceipt::None)]
class MyProcessor_Sales extends MyProcessor
{
}

[MyProcessorSystemAttribute(ModuleInventPurchSales::Sales,
                            StatusIssue::ReservOrdered,
                            StatusReceipt::None)]
class MyProcessor_Sales_ReservOrdered extends MyProcessor_Sales
{
}

[MyProcessorSystemAttribute(ModuleInventPurchSales::Sales,
                            StatusIssue::ReservPhysical,
                            StatusReceipt::None)]
class MyProcessor_Sales_ReservPhysical extends MyProcessor_Sales
{
}

ଆପଣ ନିଶ୍ଚିତ ଭାବରେ ଆପଣଙ୍କର ଶ୍ରେଣୀଗୁଡ଼ିକୁ ଯେକୌଣସି ପ୍ରକାରେ ନାମକରଣ କରିପାରିବେ, ଏଠାରେ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ କଥା ହେଉଛି ଆପଣ ଆପଣଙ୍କର ଶ୍ରେଣୀଗୁଡ଼ିକୁ ଏପରି ଗୁଣବତ୍ତା ସହିତ ସଜାନ୍ତୁ ଯାହା ସେମାନେ କେଉଁ ପ୍ରକାରର ପ୍ରକ୍ରିୟାକରଣ କରନ୍ତି ତାହା ସହିତ ମେଳ ଖାଏ। (କିନ୍ତୁ ମନେରଖନ୍ତୁ ଯେ Dynamics AX ରେ ଶ୍ରେଣୀ ପଦାନୁକ୍ରମ ପାଇଁ ନାମକରଣ ପ୍ରଥା ଅଛି ଏବଂ ଯଦି ସମ୍ଭବ ହୁଏ, ତେବେ ସେଗୁଡ଼ିକୁ ଅନୁସରଣ କରିବା ସର୍ବଦା ଏକ ଭଲ ଧାରଣା)।

ଏବେ ତୁମେ ତୁମର ଶ୍ରେଣୀଗୁଡ଼ିକୁ ସଜାଡ଼ି ସାରିଛ ଯେ ସେମାନେ ପ୍ରତ୍ୟେକ କି ପ୍ରକାରର ପ୍ରକ୍ରିୟାକରଣ କରନ୍ତି ତାହା ଚିହ୍ନଟ କରିବା ପାଇଁ, ତୁମେ ଆବଶ୍ୟକତା ଅନୁସାରେ ଉପ-ଶ୍ରେଣୀଗୁଡ଼ିକର ଅବଜେକ୍ଟଗୁଡ଼ିକୁ ଇନଷ୍ଟାଣ୍ଟିଏଟ୍ କରିବା ପାଇଁ SysExtension ଫ୍ରେମୱାର୍କର ସୁବିଧା ନେଇପାରିବ।

ଆପଣଙ୍କର ସୁପର କ୍ଲାସ (MyProcessor) ରେ, ଆପଣ ଏହିପରି ଏକ ନିର୍ମାଣ ପଦ୍ଧତି ଯୋଡିପାରିବେ:

public static MyProcessor construct(ModuleInventPurchSales _module,
StatusIssue _statusIssue,
StatusReceipt _statusReceipt)
{
    MyProcessor                 ret;
    MyProcessorSystemAttribute  attribute;
    ;

    attribute = new MyProcessorSystemAttribute( _module,
                                                _statusIssue,
                                                _statusReceipt);

    ret = SysExtensionAppClassFactory::getClassFromSysAttribute(classStr(MyProcessor), attribute);

    if (!ret)
    {
        //  no class found
        //  here you could throw an error, instantiate a default
        //  processor instead, or just do nothing, up to you
    }

    return ret;
}

ପ୍ରକୃତରେ ଆକର୍ଷଣୀୟ ଅଂଶ - ଏବଂ ପ୍ରକୃତରେ ଏହି ସମ୍ପୂର୍ଣ୍ଣ ପୋଷ୍ଟର ବସ୍ତୁ (କ୍ଷତିକୁ କ୍ଷମା କରନ୍ତୁ) - ହେଉଛି SysExtensionAppClassFactory ଶ୍ରେଣୀରେ getClassFromSysAttribute() ପଦ୍ଧତି। ଏହି ପଦ୍ଧତି ଯାହା କରେ ତାହା ହେଉଛି ଏହା ଏକ ପଦାନୁକ୍ରମର ସୁପର ଶ୍ରେଣୀର ନାମ ଗ୍ରହଣ କରେ (ଏବଂ ଏହି ସୁପର ଶ୍ରେଣୀ ପଦାନୁକ୍ରମର ଶୀର୍ଷରେ ରହିବା ଆବଶ୍ୟକ ନାହିଁ; ଏହାର ଅର୍ଥ ହେଉଛି କେବଳ ଏହି ଶ୍ରେଣୀକୁ ବିସ୍ତାର କରୁଥିବା ଶ୍ରେଣୀଗୁଡ଼ିକ ଯୋଗ୍ୟ ହେବେ) ଏବଂ ଏକ ଆଟ୍ରିବ୍ୟୁଟ୍ ଅବଜେକ୍ଟ।

ଏହା ତା’ପରେ ଏକ ଶ୍ରେଣୀର ଏକ ଅବଜେକ୍ଟ ଫେରସ୍ତ କରେ ଯାହା ନିର୍ଦ୍ଦିଷ୍ଟ ସୁପର ଶ୍ରେଣୀକୁ ବିସ୍ତାର କରେ ଏବଂ ଏକ ଅନୁରୂପ ଗୁଣ ସହିତ ସଜାଯାଇଥାଏ।

ଆପଣ ନିଶ୍ଚିତ ଭାବରେ ନିର୍ମାଣ ପଦ୍ଧତିରେ ଯେତେ ଇଚ୍ଛା ଅଧିକ ବୈଧତା କିମ୍ବା ଯୁକ୍ତି ଯୋଡିପାରିବେ, କିନ୍ତୁ ଏଠାରେ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ କଥା ହେଉଛି ଯେ ଥରେ କାର୍ଯ୍ୟକାରୀ ହେବା ପରେ, ଆପଣଙ୍କୁ ଏହି ପଦ୍ଧତିକୁ ଆଉ କେବେ ପରିବର୍ତ୍ତନ କରିବାକୁ ପଡିବ ନାହିଁ। ଆପଣ ପଦାନୁକ୍ରମରେ ଉପ-ଶ୍ରେଣୀ ଯୋଡିପାରିବେ ଏବଂ ଯେପର୍ଯ୍ୟନ୍ତ ଆପଣ ସେଗୁଡ଼ିକୁ ଉପଯୁକ୍ତ ଭାବରେ ସଜାଇବାକୁ ନିଶ୍ଚିତ କରିବେ, ନିର୍ମାଣ ପଦ୍ଧତି ସେଗୁଡ଼ିକୁ ଖୋଜି ପାଇବ ଯଦିଓ ଏହା ଲେଖାଯିବା ସମୟରେ ସେଗୁଡ଼ିକ ନଥିଲା।

କାର୍ଯ୍ୟଦକ୍ଷତା ବିଷୟରେ କ'ଣ? ମୁଁ ସଚ୍ଚୋଟ ଭାବରେ ଏହାକୁ ବେଞ୍ଚମାର୍କ କରିବାକୁ ଚେଷ୍ଟା କରିନାହିଁ, କିନ୍ତୁ ମୋର ଅନ୍ତଃସ୍ପନ୍ଦନ ହେଉଛି ଯେ ଏହା ହୁଏତ କ୍ଲାସିକ୍ ସ୍ୱିଚ୍ ଷ୍ଟେଟମେଣ୍ଟ ଡିଜାଇନ୍ ଅପେକ୍ଷା ଖରାପ କାର୍ଯ୍ୟଦକ୍ଷତା କରେ। ତଥାପି, Dynamics AX ରେ ସର୍ବାଧିକ କାର୍ଯ୍ୟଦକ୍ଷତା ସମସ୍ୟା ଡାଟାବେସ୍ ପ୍ରବେଶ ଦ୍ୱାରା ହୋଇଥାଏ ବୋଲି ବିଚାର କରି, ମୁଁ ଏହା ବିଷୟରେ ଅଧିକ ଚିନ୍ତା କରିବି ନାହିଁ।

ନିଶ୍ଚିତ ଭାବରେ, ଯଦି ଆପଣ ଏପରି କିଛି କାର୍ଯ୍ୟକାରୀ କରୁଛନ୍ତି ଯାହା ପାଇଁ ହଜାର ହଜାର ବସ୍ତୁ ଶୀଘ୍ର ସୃଷ୍ଟି କରିବାକୁ ପଡିବ, ତେବେ ଆପଣ ଆହୁରି ତଦନ୍ତ କରିବାକୁ ଚାହିଁପାରନ୍ତି, କିନ୍ତୁ ଯେଉଁ କ୍ଲାସିକ୍ କ୍ଷେତ୍ରରେ ଆପଣ କେବଳ ଗୋଟିଏ ବସ୍ତୁକୁ କିଛି ଲମ୍ବା ପ୍ରକ୍ରିୟାକରଣ କରିବା ପାଇଁ ଇନଷ୍ଟାଣ୍ଟିଏଟ୍ କରନ୍ତି, ମୁଁ ସନ୍ଦେହ କରେ ଯେ ଏହା ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ହେବ। ଏହା ସହିତ, ମୋର ସମସ୍ୟା ନିବାରଣ ଟିପ୍ (ପରବର୍ତ୍ତୀ ଅନୁଚ୍ଛେଦ) ବିଚାର କରି, ଏହା ଦେଖାଯାଉଛି ଯେ SysExtension ଫ୍ରେମୱାର୍କ କ୍ୟାସିଂ ଉପରେ ନିର୍ଭର କରେ, ତେଣୁ ଏକ ଚାଲୁଥିବା ସିଷ୍ଟମରେ ମୁଁ ସନ୍ଦେହ କରେ ଯେ ଏହାର ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ କାର୍ଯ୍ୟଦକ୍ଷତା ହିଟ୍ ଅଛି।

ସମସ୍ୟା ନିବାରଣ: ଯଦି ନିର୍ମାଣ ପଦ୍ଧତି ଆପଣଙ୍କର ଉପ ଶ୍ରେଣୀଗୁଡ଼ିକୁ ସଠିକ୍ ଭାବରେ ସଜାଯାଇଛି ବୋଲି ନିଶ୍ଚିତ ହେବା ସତ୍ତ୍ୱେ ତାହା ଖୋଜି ପାଏ ନାହିଁ, ତେବେ ଏହା ଏକ କ୍ୟାସିଂ ସମସ୍ୟା ହୋଇପାରେ। କ୍ଲାଏଣ୍ଟ ଏବଂ ସର୍ଭର ଉଭୟରେ କ୍ୟାସି ସଫା କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ। ପ୍ରକୃତରେ AOS ପୁନଃଆରମ୍ଭ କରିବା ଆବଶ୍ୟକ ନୁହେଁ, କିନ୍ତୁ ଏହା ଶେଷ ଉପାୟ ହୋଇପାରେ।

ଅଧିକ ପଠନ

ଯଦି ଆପଣ ଏହି ପୋଷ୍ଟକୁ ଉପଭୋଗ କରିଛନ୍ତି, ତେବେ ଆପଣଙ୍କୁ ଏହି ପରାମର୍ଶଗୁଡ଼ିକ ମଧ୍ୟ ପସନ୍ଦ ଆସିପାରେ:


ବ୍ଲୁସ୍କିରେ ସେୟାର କରନ୍ତୁଫେସବୁକରେ ସେୟାର କରନ୍ତୁଲିଙ୍କଡିନ୍‌ରେ ସେୟାର୍‌ କରନ୍ତୁଟମ୍ବଲରରେ ସେୟାର କରନ୍ତୁX ରେ ସେୟାର କରନ୍ତୁଲିଙ୍କଡିନ୍‌ରେ ସେୟାର୍‌ କରନ୍ତୁପିନ୍ଟରେଷ୍ଟରେ ପିନ୍ କରନ୍ତୁ

ମିକେଲ୍ କ୍ରିଷ୍ଟେନସେନ୍

ଲେଖକଙ୍କ ବିଷୟରେ

ମିକେଲ୍ କ୍ରିଷ୍ଟେନସେନ୍
ମିକେଲ୍ ହେଉଛନ୍ତି miklix.com ର ସୃଷ୍ଟିକର୍ତ୍ତା ଏବଂ ମାଲିକ। ତାଙ୍କର ଜଣେ ବୃତ୍ତିଗତ କମ୍ପ୍ୟୁଟର ପ୍ରୋଗ୍ରାମର/ସଫ୍ଟୱେର୍ ଡେଭଲପର ଭାବରେ 20 ବର୍ଷରୁ ଅଧିକ ଅଭିଜ୍ଞତା ଅଛି ଏବଂ ସେ ବର୍ତ୍ତମାନ ଏକ ବଡ଼ ୟୁରୋପୀୟ IT କର୍ପୋରେସନରେ ପୂର୍ଣ୍ଣକାଳୀନ ନିଯୁକ୍ତି ପାଇଛନ୍ତି। ବ୍ଲଗ୍ ନ ଲେଖିବା ସମୟରେ, ସେ ତାଙ୍କର ଖାଲି ସମୟ ବିଭିନ୍ନ ପ୍ରକାରର ଆଗ୍ରହ, ହବି ଏବଂ କାର୍ଯ୍ୟକଳାପରେ ବିତାଇଥାନ୍ତି, ଯାହା କିଛି ପରିମାଣରେ ଏହି ୱେବସାଇଟରେ ଆବୃତ ବିଭିନ୍ନ ବିଷୟଗୁଡ଼ିକରେ ପ୍ରତିଫଳିତ ହୋଇପାରେ।