💡 Por lo general, usamos el comando RGZPFM para reutilizar el espacio de los registros que hemos borrado en un archivo. Como los datos se insertan de forma secuencial, los espacios que dejan los registros eliminados no se usan para información nueva. Ese espacio inútil se acumula hasta que ejecutamos RGZPFM para reorganizar el archivo.
🔢 Importante: Una vez que reorganizas el archivo, el Número Relativo de Registro (RRN) de los datos cambiará.
🔑 Caso de uso: Si tienes un archivo que se lee principalmente por su valor clave y quieres cambiar la forma de acceder a él (de secuencial a por clave, o cambiar a una clave distinta), RGZPFM es la herramienta ideal.
📌 Ejemplo Práctico
Aquí tenemos los registros de la cuenta (ACCOUNT) según su orden de llegada original:
Plaintext
ORG ACC CCY PARTY
000001 190 A00000000001 CCY P00000000001
000002 191 A00000000002 EUR P00000000002
000003 192 A00000000003 USD P00000000003
000004 192 A00000000004 TRY P00000000004
000005 190 A00000000005 INR P00000000005
000006 190 A00000000006 TRY P00000000006
000007 192 A00000000007 INR P00000000007
000008 191 A00000000008 GBP P00000000002
000009 191 A00000000009 USD P00000000001
000010 195 A00000000010 EUR P00000000003
000011 193 A00000000011 TRY P00000000005
000012 192 A00000000012 EUR P00000000002
000013 190 A00000000013 EUR P00000000009
000014 191 P00000000014 USD P00000000004
000015 192 A00000000015 INR P00000000010
000016 192 A00000000016 GBP P00000000011
000017 192 A00000000017 AZK P00000000017
000018 191 A00000000018 EUR P00000000014
000019 190 P00000000019 EUR P00000000015
⚙️ Ahora, queremos ordenar los registros usando los valores clave del archivo (ORG/ACC/CCY). Para lograr esto, configuramos el parámetro KEYFILE = *FILE. (Nota: Si quisieras ordenarlos por una clave diferente, podrías indicar el nombre de un archivo lógico que contenga esa clave).
💻 Pantalla del comando RGZPFM:
Plaintext
Reorganize Physical File Mbr (RGZPFM)
Type choices, press Enter.
Data base file . . . . . . . . . FILE > ACCOUNT
Library . . . . . . . . . . . > QGPL
Member . . . . . . . . . . . . . MBR > ACCOUNT
Key file: KEYFILE
Logical file . . . . . . . . . > *FILE >>>>>>>>>>>
Library . . . . . . . . . .
Member . . . . . . . . . . . .
Rebuild access paths . . . . . . RBDACCPTH *YES
Allow cancel . . . . . . . . . . ALWCANCEL > *NO
Additional Parameters
Source update options . . . . . SRCOPT *SAME
✅ Resultado: Después de ejecutar la reorganización, los registros en ACCOUNT quedarán perfectamente ordenados según su valor clave:
Plaintext
ORG ACC CCY PARTY
000001 190 A00000000001 CCY P00000000001
000002 190 A00000000005 INR P00000000005
000003 190 A00000000006 TRY P00000000006
000004 190 A00000000013 EUR P00000000009
000005 190 P00000000019 EUR P00000000015
000006 191 A00000000002 EUR P00000000002
000007 191 A00000000008 GBP P00000000002
000008 191 A00000000009 USD P00000000001
000009 191 A00000000018 EUR P00000000014
000010 191 P00000000014 USD P00000000004
000011 192 A00000000003 USD P00000000003
000012 192 A00000000004 TRY P00000000004
000013 192 A00000000007 INR P00000000007
000014 192 A00000000012 EUR P00000000002
000015 192 A00000000015 INR P00000000010
000016 192 A00000000016 GBP P00000000011
000017 192 A00000000017 AZK P00000000017
000018 193 A00000000011 TRY P00000000005
000019 195 A00000000010 EUR P00000000003