Created
September 2, 2012 23:37
-
-
Save sbob-sfdc/3605654 to your computer and use it in GitHub Desktop.
Workshop 201, Tutorial 3, Step 4.3, Apex
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class InvoiceUtilities { | |
// class method to renumber Line Items for a given Invoice number | |
// returns a string that indicates success or failure | |
public static String renumberLineItems(String invoiceName) { | |
// create a copy of the target Invoice object and it's Line Items | |
Invoice__c invoice = [Select i.Name, (Select Name From Line_Items__r ORDER BY Name) | |
From Invoice__c i | |
Where i.Name = :invoiceName LIMIT 1]; | |
// loop through each Line Item, renumbering as you go | |
Integer i = 1; | |
for (Line_Item__c item : invoice.Line_Items__r) { | |
item.Name = String.valueOf(i); | |
System.debug(item.Name); | |
i++; | |
} | |
// update the Line Items in one transaction, rollback if any problems | |
// and return error messages to the calling environment | |
try { | |
database.update(invoice.Line_Items__r); | |
} | |
catch (DmlException e) { | |
return e.getMessage(); | |
} | |
// on success, return a message to the calling program | |
return 'Line items renumbered successfully.'; | |
} | |
} |
Hi Faced same issue..Here is my solution.
My code executed.I just copied the Invoice number from Record and used in code. The dash length is same as developer console.
String s = InvoiceUtilities.renumberLineItems('INV–0011');
Srilaxmi15 is correct, copy and paste the invoice number from the application; for some reason it's a different dash. In the workbook, they use U+2013, En Dash, instead of what's in the record, a simple U+002D, Hyphen Minus sign.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
My code executed pretty ok. I noticed after the execution however that my "Invoice Number" field format is without the dash so that's INV0004 for me.
thanks rafal00785 I have also noted your approach.