function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
rekha sharmarekha sharma 

Do Schema.RecordTypeInfo Runs under user context??

String[] types = new String[]{'Account'};
List<Schema.DescribeSobjectResult> results = Schema.describeSObjects(types);
Map<String, Schema.RecordTypeInfo> rmap = new Map<String, Schema.RecordTypeInfo> ();

for (Schema.RecordTypeInfo ri: results[0].getRecordTypeInfos()) {
        rmap.put(ri.getname(), ri);//use ri.getRecordTypeId() for an Id map 
    }
system.debug('@@@@@rmap@@@@'+rmap);

+++++++++++++++++++++++++++++++++++++++++++++++++++++
in the above debug log for record type i am getting the translated values for record types
MagulanDuraipandianMagulanDuraipandian
Hi, it runs in System mode.

http://www.infallibletechie.com
rekha sharmarekha sharma
Thanks Magulan , the same is my understanding. 

but to a very strange observation when i run the same above piece of code in salesforce environment it is providing me record type name different in language as per user's lanugage, is this normal behaviour or some bug that needs to be reported in salesforce.

USER_DEBUG [8]|DEBUG|@@@@@rmap@@@@
{Master=Schema.RecordTypeInfo[getName=Master;getRecordTypeId=012000000000000AAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=true;],
 New Account=Schema.RecordTypeInfo[getName=New Account;getRecordTypeId=0123000000020JdAAI;isAvailable=true;isDefaultRecordTypeMapping=true;isMaster=false;],
 Not Verified Account=Schema.RecordTypeInfo[getName=Not Verified Account;getRecordTypeId=012300000002japAAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], Partner Account=Schema.RecordTypeInfo[getName=Partner Account;getRecordTypeId=01230000001NqVZAA0;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], Pending Account=Schema.RecordTypeInfo[getName=Pending Account;getRecordTypeId=0123000000020JjAAI;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], SFDC Impl=Schema.RecordTypeInfo[getName=SFDC Impl;getRecordTypeId=01230000000puZ4AAI;isAvailable=false;isDefaultRecordTypeMapping=false;isMaster=false;], Verified Account=Schema.RecordTypeInfo[getName=Verified Account;getRecordTypeId=0123000000020MjAAI;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;]}

BUG|@@@@@rmap@@@@{Partner Account=Schema.RecordTypeInfo[getName=Partner Account;getReco
 rdTypeId=01230000001NqVZAA0;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], SFDC Impl=Schema.RecordTypeInfo[getName=SFDC Impl;getRecordTypeId=01230000000puZ4AAI;isAvailable=false;isDefaultRecordTypeMapping=false;isMaster=false;], マスタ=Schema.RecordTypeInfo[getName=マスタ;getRecordTypeId=012000000000000AAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=true;], 新規取引先=Schema.RecordTypeInfo[getName=新規取引先;getRecordTypeId=0123000000020JdAAI;isAvailable=true;isDefaultRecordTypeMapping=true;isMaster=false;], 検証されていない取引先=Schema.RecordTypeInfo[getName=検証されていない取引先;getRecordTypeId=012300000002japAAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], 検証中の取引先=Schema.RecordTypeInfo[getName=検証中の取引先;getRecordTypeId=0123000000020JjAAI;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], 検証済みの取引先=Schema.RecordTypeInf
 o[getName=検証済みの取引先;getRecordTypeId=012300
 0000020MjAAI;isAvailable=true;isDefaultRecordTypeMapping=
 false;isMaster=false;]}



madhu_ramadhu_ra
I know this is very old post. But I would like to know if anyone has a confirmation on this as I'm also still getting it in user context when translation enabled.
madhu_ramadhu_ra
Looks like summer '18 (https://developer.salesforce.com/docs/atlas.en-us.214.0.apexcode.meta/apexcode/apex_methods_system_sobject_describe.htm" target="_blank) will bring something helpful with v43. It has 
getRecordTypeInfosByDeveloperName()

which I believe will be run in system context.