Pytanie : ORA: 6533 Subscript z pasmo

Przy the kreskowy PREC_CEP_CALCULATIONS_ARRAY.EXTEND;  I dostawać the z błąd błąd.  

I używać the dane przy ten strona internetowa mój 2 2 szyk.  
http://www.oracle.com/tech nology/oramag/oracle/06-jan/o16plsql.html

In the zegarek, the szyk pojawiać się jakaś element, ono mieć właśnie jeden w inny próbowanie.  
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
create lub zamieniać
PROCEDURA PREC_CEP_CALCULATED

ZACZYNAĆ
  OZNAJMIAĆ
    PREC_CEP_CALCULATIONS_ARRAY twodim_varray.array_t
      : = twodim_varray.array_t ();
    MPI_D_DF LICZBA (10,6);
    MPI_D_RG LICZBA (10,6);
    S_DF LICZBA (10,6);
    S_RG LICZBA (10,6);
    i LICZYĆ;
    j LICZBA;
    k LICZBA;
    l LICZBA;
    CEP LICZBA (10,6);
    TYP RADIUS_ARRAY BYĆ VARRAY (475) LICZBA (10,3);
    PROMIENIOMIERZ RADIUS_ARRAY: = RADIUS_ARRAY ();
    delta_range LICZBA (10,3);
    STEP_RADIUS LICZBA (10,3);
    TYP THETA_ARRAY BYĆ VARRAY (507) LICZBA (10,2);
    THETA THETA_ARRAY: = THETA_ARRAY ();
    STEP_THETA LICZBA (10,2);
    
  ZACZYNAĆ
    WYBIERAĆ dR W delta_range OD INTEGRATION_VARIABLES;
      radius.extend (475);
    DLA i W 1. 475 PĘTLA
      STEP_RADIUS: = delta_range * (i-1);
      PROMIENIOMIERZ (i): = STEP_RADIUS;
    KOŃCÓWKA PĘTLA;
    
      THETA.EXTEND (507);
    DLA i W 1. 507 PĘTLA
      STEP_THETA: = (3.141/253) * (i-1);
      THETA (i): = STEP_THETA;
    KOŃCÓWKA PĘTLA;
    
    PREC_CEP_CALCULATIONS_ARRAY.EXTEND;
    PREC_CEP_CALCULATIONS_ARRAY (475)
      : = twodim_varray.data_t ();
    PREC_CEP_CALCULATIONS_ARRAY (507) .EXTEND;
    PREC_CEP_CALCULATIONS_ARRAY (1) (1): = (0);

    WYBRANY MPI_DELTA_DF W MPI_D_DF OD INTEGRATION_VARIABLES;
    WYBRANY MPI_DELTA_RG W MPI_D_RG OD INTEGRATION_VARIABLES;
    WYBRANY SIGMA_DF W S_DF OD INTEGRATION_VARIABLES;
    WYBRANY SIGMA_RG W S_RG OD INTEGRATION_VARIABLES;

    
    DLA k W 1. 475 PĘTLA
      DLA l W 1. 507 PĘTLA
        CEP: =PREC_CEP_CALCULATION (THETA (l), PROMIENIOMIERZ (k), S_DF, S_RG, MPI_D_DF, MPI_D_RG);
        prec_cep_calculations_array (k) (l): = CEP;
      KOŃCÓWKA PĘTLA;
    KOŃCÓWKA PĘTLA;
  KOŃCÓWKA;
KOŃCÓWKA PREC_CEP_CALCULATED;

Odpowiedź : ORA: 6533 Subscript z pasmo

Pozwalać twój przykład łatwy…

tak, ty móc the ograniczenie the varray, ale ty musieć initialize ono pusty szyk najpierw.

Ponieważ tam  być naprawdę dwuwymiarowy konstrukcja, ty musieć initialize musieć gniazdować varray także, then przedłużyć varray.

The odrzynek pod przedstawienie dlaczego w pełni initialize oba wymiar.
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
OZNAJMIAĆ
    TYP data_t BYĆ VARRAY (475) LICZBA;

    TYP array_t BYĆ VARRAY (507) Data_t;

    v_array array_t: = array_t ();
ZACZYNAĆ
    v_array.EXTEND (507);

    DLA i W 1. v_array.COUNT
    PĘTLA
        v_array (i): = data_t ();
        v_array (i) .EXTEND (475);
    KOŃCÓWKA PĘTLA;
KOŃCÓWKA;
Inne rozwiązania  
 
programming4us programming4us