You need to sign in to do that
Don't have an account?
tulasiram ch
help me out in this trigger code error:
I am using custom settings in the below example : i don't know how to achieve this. i wrote below trigger but its not working please help me.
I stored some values in custom settings. Post an error if any user try to insert a value already existed in custom settings.
I stored some values in custom settings. Post an error if any user try to insert a value already existed in custom settings.
- trigger comparingExistedNumbers on Order_Product_Item__c (before insert)
- {
- set<id> setIds = new set<id>();
- for(Order_Product_Item__c orders : trigger.new)
- {
- if(orders.Enter_Number_Value__c != null)
- {
- setIds.add(orders.Enter_Number_Value__c);
- }
- list<Order_Product_Item__c> listofOrders = [select id, Enter_Number_Value__c from Order_Product_Item__c where id in:setIds];
- list<string> values = new list<string>();
- list<preDefinedValueList__c> cusList = preDefinedValueList__c.getAll().values(); // getting list of values in Custom settings
- for(Order_Product_Item__c newOrders:listofOrders)
- {
- for(preDefinedValueList__c custom : cusList)
- {
- //system.debug('' +custom.code__c);
- // system.debug('' +custom.Number__c);
- values.add(custom.Number__c); // data set strings storing in values variable
- }
- for(integer i=0; i<values.size();i++)
- { //comparing values
- if(newOrders.Enter_Number_Value__c ==values[i]){
- newOrders.Enter_Number_Value__c.addError('Do not enter existing values');
- }
- }
- }
- }
- }
All Answers
Thank You.
Example :custom settings list : 1,3,5,7,9,11,13,15,17,19
Enter_Number_value__c : 15
then it needs to post an error, dont enter that number.
You might want to test for Before Update too though since what happens when user enters number as Enter_Number_Value__c = 0, saves it and then chnage the number from 0 to 1.
Hope this helps!
error:
Invalid loop variable type expected preDefinedValueList__c was Integer
1.Custom settings Object:preDefinedValueList__c
Custom settings Field : Number__c(Number field)
2.Custom Object: Order_Product_Item__c
Field :Enter_Number_Value__c(Number)
If preDefinedValueList__c is Integer datatype then Enter_Number_Value__c should be a Number with Decimal 0 (18, 0)