Insert all Record Into Record type Example

/* Formatted on 6/6/2018 2:42:52 PM (QP5 v5.227.12220.39754) */
--XXDM_FALCON_AR_INV_INTG_PKG


DECLARE
   TYPE xx1 IS RECORD
   (
      PAYMENT_NUMBER         VARCHAR2 (240),
      Correlation_ID         VARCHAR2 (240),
      Supplier_Number        VARCHAR2 (240),
      Supplier_Name          VARCHAR2 (240),
      Claim_Invoice_Number   VARCHAR2 (240),
      Source_System          VARCHAR2 (240),
      Date_Of_Settlement     VARCHAR2 (240),
      supplier_id            NUMBER,
      payment_amount         NUMBER,
      CHECK_ID               NUMBER,
      payment_date           DATE,
      BANK_ACCOUNT_NAME      VARCHAR2 (240),
      BANK_ACCOUNT_NUM       VARCHAR2 (240),
      CURRENCY               VARCHAR2 (240),
      claim_INVOICE_ID       NUMBER,
      claim_amount           NUMBER,
      claim_DESCRIPTION      VARCHAR2 (240),
      applied_AMOUNT         NUMBER
   );

   TYPE t_pay_dtls IS TABLE OF dmn_ar_inv_dist_rec_type
      INDEX BY BINARY_INTEGER;


   pay_dtls   t_pay_dtls;
BEGIN
     SELECT aca.check_number PAYMENT_NUMBER,
            aia.ATTRIBUTE13 Correlation_ID,
            asa.segment1 Supplier_Number,
            asa.vendor_name Supplier_Name,
            aia.invoice_num Claim_Invoice_Number,
            aia.SOURCE Source_System,
            aca.CLEARED_DATE Date_Of_Settlement,
            asa.VENDOR_ID supplier_id,
            aca.AMOUNT payment_amount,
            aca.CHECK_ID CHECK_ID,
            aca.CHECK_DATE payment_date,
            aca.BANK_ACCOUNT_NAME BANK_ACCOUNT_NAME,
            aca.BANK_ACCOUNT_NUM BANK_ACCOUNT_NUM,
            aca.CURRENCY_CODE CURRENCY,
            aia.INVOICE_ID claim_INVOICE_ID,
            aia.INVOICE_AMOUNT claim_amount,
            aia.DESCRIPTION claim_DESCRIPTION,
            aipa.AMOUNT applied_AMOUNT
     -  BULK COLLECT INTO pay_dtls
       FROM ap_checks_all aca,
            ap_invoice_payments_all aipa,
            ap_invoices_all aia,
            ap_suppliers asa
      WHERE     aca.check_id = aipa.check_id
            AND aipa.invoice_id = aia.invoice_id
            AND aia.vendor_id = asa.vendor_id
            AND check_number = '70145040'
   ORDER BY aca.check_number;
DBMS_OUTPUT.put_line ('t_pay_dtls' || t_pay_dtls.COUNT ());
END;