選択リストの状態前後比較

メソッド  ソース

    public static Map<String,Integer> getPicklist(String sObjName, String fieldName){
        Map<String,Integer> pickListMap = new Map<String,Integer>();
        List<Schema.PicklistEntry> pickList;
        Schema.SObjectType sObjType = (Schema.SObjectType) Schema.getGlobalDescribe().get(sObjName);
        if(sObjType != null){
            Map<String, Schema.SObjectField> fieldmap = sObjType.getDescribe().fields.getMap();
            Schema.SObjectField f = (Schema.SObjectField) fieldmap.get(fieldName);
            if(f != null){
                Schema.DescribeFieldResult r = f.getDescribe();
                pickList = r.getPicklistValues();
                System.debug('値' + pickList);
            }
        }
        for (Integer i = 0; i < picklist.size(); i++) {
            if (picklist[i].isActive()) {
                pickListMap.put(picklist[i].getValue(), i);
            }
        }
        return pickListMap;
    }
 
使う
Map<String,Integer> stageNameMap = getPicklist('Opportunity','StageName');