Apex - For Loop

UN forloop es una estructura de control de repetición que le permite escribir de manera eficiente un ciclo que necesita ejecutarse un número específico de veces. Considere un caso comercial en el que se nos exija procesar o actualizar los 100 registros de una vez. Aquí es donde la sintaxis de Loop ayuda y facilita el trabajo.

Sintaxis

for (variable : list_or_set) { code_block }

Diagrama de flujo

Ejemplo

Considere que tenemos un objeto Factura que almacena información de las facturas diarias como Fecha de creación, Estado, etc. En este ejemplo, obtendremos las facturas creadas hoy y tendremos el estado Pagado.

Note - Antes de ejecutar este ejemplo, cree al menos un registro en Objeto de factura.

// Initializing the custom object records list to store the Invoice Records created today
List<apex_invoice__c> PaidInvoiceNumberList = new List<apex_invoice__c>();

// SOQL query which will fetch the invoice records which has been created today
PaidInvoiceNumberList = [SELECT Id,Name, APEX_Status__c FROM APEX_Invoice__c WHERE
   CreatedDate = today];

// List to store the Invoice Number of Paid invoices
List<string> InvoiceNumberList = new List<string>();

// This loop will iterate on the List PaidInvoiceNumberList and will process each record
for (APEX_Invoice__c objInvoice: PaidInvoiceNumberList) {
   
   // Condition to check the current record in context values
   if (objInvoice.APEX_Status__c == 'Paid') {
      
      // current record on which loop is iterating
      System.debug('Value of Current Record on which Loop is iterating is'+objInvoice);
      
      // if Status value is paid then it will the invoice number into List of String
      InvoiceNumberList.add(objInvoice.Name);
   }
}

System.debug('Value of InvoiceNumberList '+InvoiceNumberList);