Posizionamento del cursore

Il posizionamento del cursore è importante quando si utilizza una mappa come input. Di solito, si imposta la posizione iniziale del cursore nella definizione della mappa includendo "insert cursor" (IC) nei valori ATTRB del campo in cui lo si desidera.

L'opzione CURSORE del comando INVIA MAPPA consente di ignorare questa specifica, se necessario, quando viene visualizzata la mappa. Se si specifica CURSOR(valore), BMS posiziona il cursore in quella posizione assoluta sullo schermo. Il conteggio inizia dalla prima riga e colonna (la posizione zero) e procede attraverso le righe. Quindi, per posizionare il cursore nella quarta colonna della terza riga di un display a 80 colonne, si digita CURSOR(163).

Specificando CURSOR senza un valore, si segnala al BMS che si desidera un "posizionamento simbolico del cursore". A tale scopo, si imposta il sottocampo di lunghezza del campo in cui si desidera posizionare il cursore a meno uno (-1). I sottocampi di lunghezza non sono definiti nelle mappe di sola uscita, pertanto è necessario definire la mappa come INOUT per utilizzare il posizionamento simbolico del cursore. (Si parla di sottocampi di lunghezza in Inserimento di schermate formattate e di mappe INOUT in Ricezione di dati mappati ) Se si contrassegnano più campi in questo modo, il BMS utilizza il primo che trova.

Il posizionamento simbolico del cursore è particolarmente utile per le mappe di input-output quando l'operatore del terminale inserisce dati errati. Se si convalidano i campi, impostando la lunghezza di ogni errore a -1, BMS posiziona il cursore sotto il primo errore quando viene visualizzato nuovamente. L' elaborazione dell'input mappato mostra questa tecnica.

È possibile posizionare il cursore anche con un comando di INVIO CONTROLLO, ma solo specificando un valore assoluto per il CURSORE; se si omette il CURSORE in INVIO CONTROLLO, il cursore non viene spostato.