Frage : ORA: Tiefzeichen 6533 aus Strecke heraus

An der Linie PREC_CEP_CALCULATIONS_ARRAY.EXTEND;  Ich erhalte aus subscript Störung heraus.  

I verwendete die Daten an dieser Webseite, um meine Maßreihe 2 zu verursachen.  
http://www.oracle.com/tech nology/oramag/oracle/06-jan/o16plsql.html

In die Uhr, die Reihe erscheint nicht zu irgendwelchen Elementen, es hat gehabt gerade ein in anderen Versuchen.  
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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
create oder ersetzen
VERFAHREN PREC_CEP_CALCULATED
WIE
ANFANGEN
  ERKLÄREN
    PREC_CEP_CALCULATIONS_ARRAY twodim_varray.array_t
      : = twodim_varray.array_t ();
    MPI_D_DF NR. (10.6);
    MPI_D_RG NR. (10.6);
    S_DF NR. (10.6);
    S_RG NR. (10.6);
    ich ZAHL;
    J-ZAHL;
    k-ZAHL;
    L ZAHL;
    CEP NR. (10.6);
    ART RADIUS_ARRAY IST VARRAY (475) VON NR. (10.3);
    RADIUS RADIUS_ARRAY: = RADIUS_ARRAY ();
    delta_range NR. (10.3);
    STEPP_RADIUS NR. (10.3);
    ART THETA_ARRAY IST VARRAY (507) VON NR. (10.2);
    THETA THETA_ARRAY: = THETA_ARRAY ();
    STEPP_THETA NR. (10.2);
    
  ANFANGEN
    Dr. INTO delta_range VON INTEGRATION_VARIABLES VORWÄHLEN;
      radius.extend (475);
    FÜR i IN 1. SCHLEIFE 475
      STEPP_RADIUS: = delta_range * (i-1);
      RADIUS (i): = STEPP_RADIUS;
    ENDEN-SCHLEIFE;
    
      THETA.EXTEND (507);
    FÜR i IN 1. SCHLEIFE 507
      STEPP_THETA: = (3.141/253) * (i-1);
      THETA (i): = STEPP_THETA;
    ENDEN-SCHLEIFE;
    
    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;

    MPI_DELTA_DF IN MPI_D_DF VON INTEGRATION_VARIABLES VORWÄHLEN;
    MPI_DELTA_RG IN MPI_D_RG VON INTEGRATION_VARIABLES VORWÄHLEN;
    SIGMA_DF IN S_DF VON INTEGRATION_VARIABLES VORWÄHLEN;
    SIGMA_RG IN S_RG VON INTEGRATION_VARIABLES VORWÄHLEN;

    
    FÜR k IN 1. SCHLEIFE 475
      FÜR L IN 1. SCHLEIFE 507
        CEP: =PREC_CEP_CALCULATION (THETA (l), RADIUS (k), S_DF, S_RG, MPI_D_DF, MPI_D_RG);
        prec_cep_calculations_array (k) (l): = CEP;
      ENDEN-SCHLEIFE;
    ENDEN-SCHLEIFE;
  ENDE;
ENDE PREC_CEP_CALCULATED;

Antwort : ORA: Tiefzeichen 6533 aus Strecke heraus

Uns Ihr Beispiel einfacher bilden lassen…

ja können Sie auf die Begrenzung auf das varray verlängern, aber Sie müssen es zu einer leeren Reihe zuerst initialisieren.

Da es nicht wirklich ein zweidimensionales Konstruieren gibt, müssen Sie jedes initialisieren nisteten varray außerdem, dann verlängern jede von ihnen.

Das Stückchen unterhalb der Erscheinen, wie man völlig beide Maße initialisiert.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
ERKLÄREN
    ART data_t IST VARRAY (475) der ZAHL;

    ART array_t IST VARRAY (507) VON data_t;

    v_array array_t: = array_t ();
ANFANGEN
    v_array.EXTEND (507);

    FÜR i IN 1. v_array.COUNT
    SCHLEIFE
        v_array (i): = data_t ();
        v_array (i).EXTEND (475);
    ENDEN-SCHLEIFE;
ENDE;
Weitere Lösungen  
 
programming4us programming4us