WMSW02 - Index out of bound su F8/Shift+F7 con griglia vuota¶
| Campo | Valore |
|---|---|
| ID ClickUp | 869df00yn |
| Data segnalazione | 2026-05-27 |
| Data risoluzione | 2026-05-29 |
| Programmi coinvolti | WMSW02, WMS002 |
| Impatto | Alto |
Sintomo¶
Premendo F8 (dettaglio movimenti locazione) o Shift+F7 (vis. giacenze per locazione) sulla griglia di WMSW02 (consultazione locazioni) quando la griglia non contiene alcuna locazione, il runtime AcuCOBOL solleva un errore "index out of bound" che termina la sessione utente.
Causa¶
I rami F8 e Shift+F7 di WMSW02 verificavano la posizione corrente del cursore (i not = zero, tm-r-locazione (i) not = spaces) ma non controllavano se la griglia avesse effettivamente almeno una riga caricata. Quando la griglia era vuota (tm-grid-det-dati-pnt = zero oppure gor-r-n-m = 0), l'accesso ai vettori tm-r-locazione(i) con i non valorizzato provocava un'eccezione di accesso oltre i limiti del vettore.
Analoga condizione era gia' presente in WMS002 (mappatura locazioni) e gestita parzialmente.
Correzione¶
Modificato WMSW02 (TASK-5219):
- F8 (dettaglio movimenti): aggiunti controlli iniziali su
tm-grid-det-dati-pnt = zeroegor-r-n-m = 0che mostrano il messaggio "Nessuna locazione presente in griglia" e tornano aa-gridsenza tentare l'accesso al vettore - Shift+F7 (giacenze per locazione): stessa protezione
Modificato WMS002 (per coerenza, vedi anche la sezione "Validazioni recenti" nella sua documentazione):
- Shift+F7 (giacenze per locazione): controllo esplicito di griglia vuota e di riga non selezionata prima di chiamare WMSW03
- Ramo di cancellazione (CTE): esteso il guard a
gor-r-n-m = 0oltre atm-grid-det-dati-pnt = zero
Rilasciato anche negli ambienti BM + DEA, comprese le cartelle BUILD.