PL SQL Oracle PLSQL

SQL>
SQL> create table ord(
  2           order_no               integer
  3          ,cust_no                integer
  4          ,order_date             date not null
  5          ,total_order_price      number(7,2)
  6          ,deliver_date           date
  7          ,deliver_time           varchar2(7)
  8          ,payment_method         varchar2(2)
  9          ,emp_no                 number(3,0)
 10          ,deliver_name           varchar2(35)
 11          ,gift_message           varchar2(100)
 12  );
Table created.
SQL>
SQL>
SQL> CREATE OR REPLACE PROCEDURE p_add_orders (v_ord_ctr IN number, v_item_ctr IN number,
  2  v_cust_no IN number, v_emp_no IN number)
  3  AS
  4     v_loop  number := 1;
  5     v_type_ctr      number := 1;
  6     v_curr_order ord.order_no%TYPE;
  7
  8     TYPE PayMethods IS VARRAY(10) OF VARCHAR2(2);
  9     v_paymethods    PayMethods := PayMethods('VS','CA','VG','AX','CK','MC','DI','CA','CK','VS');
 10
 11     TYPE Orderdates IS VARRAY(10) OF DATE;
 12     v_odates        Orderdates :=  Orderdates(add_months(sysdate, -45),
 13                                                     add_months(sysdate, -14),
 14                                                     add_months(sysdate, -22),
 15                                                     add_months(sysdate, -38),
 16                                                     add_months(sysdate, -46),
 17                                                     add_months(sysdate, -59),
 18                                                     add_months(sysdate, -19),
 19                                                     add_months(sysdate, -11),
 20                                                     add_months(sysdate, -74),
 21                                                     add_months(sysdate, -6));
 22  begin
 23             WHILE v_loop <= v_ord_ctr LOOP
 24                     IF v_type_ctr > 10 THEN
 25                        v_type_ctr := 1;
 26                     END IF;
 27
 28                     INSERT INTO ord (ORDER_NO, CUST_NO, ORDER_DATE, TOTAL_ORDER_PRICE, DELIVER_DATE,
 29                                      PAYMENT_METHOD, EMP_NO)
 30                     VALUES (999, v_cust_no, v_odates(v_type_ctr), 0, v_odates(v_type_ctr) + 10,
 31                               v_paymethods(v_type_ctr), v_emp_no );
 32
 33                     SELECT 11111
 34                       INTO v_curr_order
 35                       FROM dual ;
 36
 37                     v_loop := v_loop + 1 ;
 38                     v_type_ctr := v_type_ctr + 1 ;
 39             END LOOP;
 40  end;
 41  /
Procedure created.
SQL>
SQL> show error
No errors.
SQL>
SQL>
SQL> drop table ord;
Table dropped.
SQL>
SQL>
SQL> --