Existen algunos cuidados necesarios para la creación y utilización de variables del tipo array, como por ejemplo:
- En la creación siempre debe inicializarse como un Array.
- Ejemplo:
// ArrayInitializationSample.prw
Local aRet1 := {}
Local aRet2 := Array()
De esta manera garantizamos que cuando utilicemos funciones como Len(), no se mostrará "Error".
- Cargar en líneas en lugar de colocarlos en una sola línea de comando y colocar una posición por línea.
- Ejemplo:
// ArrayAAddSample.prw
AAdd(aRet,{ X3Titulo(),; // 01
X3_CAMPO,; // 02
X3_PICTURE,; // 03
X3_TAMANHO,; // 04
X3_DECIMAL,; // 05
X3_VALID,; // 06
X3_USADO,; // 07
X3_TIPO,; // 08
X3_ARQUIVO,; // 09
X3_CONTEXT,; // 10
X3_PROPRI } ) // 11
- Para ayudar en el mantenimiento y utilización de este Array, es importante documentar siempre cada posición.
- Ejemplo:
// ArrayAssignmentSample.prw
// [01] Descuentos
// [02] Corrección monetaria
// [03] Intereses
// [04] Aumento
// [05] Decremento
// [06] Descuento
// [07] Valor original del título
// [08] Saldo del título en la moneda del título
// [09] Saldo del título en la moneda corriente
// [10] Pago parcial
// [11] Valor que se recibirá en la moneda del título
// [12] Valor que se recibirá en la moneda corriente
aRdpTlc[1][2] := aRdpTlc[1][2] + aValores[2]
aRdpTlc[2][2] := aRdpTlc[2][2] + aValores[10]
aRdpTlc[3][2] := aRdpTlc[3][2] + aValores[8]
aRdpTlc[4][2] := aRdpTlc[4][2] + aValores[5]
aRdpTlc[5][2] := aRdpTlc[5][2] + aValores[4]
aRdpTlc[6][2] := aRdpTlc[6][2] + aValores[9]
aRdpTlc[7][2] := aRdpTlc[7][2] + aValores[1]
aRdpTlc[8][2] := aRdpTlc[8][2] + aValores[6]
aRdpTlc[9][2] := aRdpTlc[9][2] + aValores[7]
aRdpTlc[10][2]:= aRdpTlc[10][2] + aValores[3]
aRdpTlc[11][2]:= aRdpTlc[11][2] + aValores[11]
aRdpTlc[12][2]:= aRdpTlc[12][2] + aValores[12]
- Antes de referenciar los datos de un Array, es necesario verificar si realmente tiene datos cargados, para que no haya error.
- Ejemplo:
// ArrayReferenceSample.prw
If Len(aRet) > 0
cRet := aRet[1]
EndIf