ইন Salesforce CRM এর , প্রত্যেক বস্তুর 15 অক্ষরের আলফানিউমেরিক আইডি, যা কেস সংবেদনশীল আছে। যদি কারও কৌতূহল হয় তবে এটি বেস -২২ সংখ্যা । তবে ডেটা মাইগ্রেশন এবং সংহতকরণের জন্য ব্যবহৃত সরঞ্জামগুলি কেস সংবেদনশীলতা সমর্থন করতে পারে বা নাও করতে পারে। এটি অতিক্রম করতে, আইডিগুলি নিরাপদে 18-অক্ষরের কেস-সংবেদনশীল আলফানিউমারিক আইডিতে রূপান্তর করা যায়। এই প্রক্রিয়াতে 3-অক্ষরের বর্ণমালা চেকসাম আইডিতে সংযুক্ত করা হয়। রূপান্তর অ্যালগরিদম হ'ল:
উদাহরণ :
a0RE000000IJmcN
তিনটি 5-অক্ষরের অংশগুলিতে আইডি বিভক্ত করুন।
a0RE0 00000 IJmcN
প্রতিটি অংশ বিপরীত।
0ER0a 00000 NcmJI
প্রতিটি অংশের প্রতিটি অক্ষর
1
যদি এটি বড় হয় বা0
অন্যথায় হয় তা দ্বারা প্রতিস্থাপন করুন ।01100 00000 10011
প্রতিটি 5-সংখ্যার বাইনারি সংখ্যার জন্য
i
,i
বড় হাতের বর্ণমালা এবং 0-5 (ABCDEFGHIJKLMNOPQRSTUVWXYZ012345
) অঙ্কের সংমিশ্রণে অবস্থানের অক্ষর পান ।00000 -> A, 00001 -> B, 00010 -> C, ..., 11010 -> Z, 11011 -> 0, ..., 11111 -> 5`
ফলনশীল:
M A T
এই অক্ষরগুলি, চেকসামটি মূল আইডিতে যুক্ত করুন।
আউটপুট :
a0RE000000IJmcNMAT
প্রোগ্রাম বা ফাংশন লিখুন যা ইনপুট হিসাবে 15-অক্ষরের আলফানিউমিক (ASCII) স্ট্রিং নেয় এবং 18-অক্ষর আইডি ফেরত দেয়।
ইনপুট বৈধতা এই প্রশ্নের সুযোগের বাইরে। প্রোগ্রামগুলি অবৈধ ইনপুটটিতে কোনও মান বা ক্র্যাশ দিতে পারে।
দয়া করে বিক্রয় চক্রের স্বতন্ত্র ভাষার বৈশিষ্ট্যগুলি ব্যবহার করবেন না যা এই চ্যালেঞ্জকে তুচ্ছ করে তোলে (যেমন সূত্র CASESAFEID()
, এপেক্স এবং সি তে রূপান্তর Id
করে String
))
পরীক্ষার মামলা
a01M00000062mPg -> a01M00000062mPgIAI
001M000000qfPyS -> 001M000000qfPySIAU
a0FE000000D6r3F -> a0FE000000D6r3FMAR
0F9E000000092w2 -> 0F9E000000092w2KAA
aaaaaaaaaaaaaaa -> aaaaaaaaaaaaaaaAAA
AbCdEfGhIjKlMnO -> AbCdEfGhIjKlMnOVKV
aBcDEfgHIJKLMNO -> aBcDEfgHIJKLMNO025
public class X{public X(Id i){System.debug((String)i);}}
। যদিও কেবল বৈধ বিক্রয়কেন্দ্র আইডি দিয়ে কাজ করে।