Buongiorno , ho necessita' di contare il numero di caratteri di una stringa,
rispetto all'ultimo carattere valido contenuto in essa.
Data la variabile WS-DESTINATARIO dichiarata PIC X(30) che contiene il valore "COLOR EXPERT "
quindi 12 caratteri complessivi compreso lo spazio fra COLOR e EXPERT.
1) Utilizzando l'istruzione
INSPECT WS-DESTINATARIO TALLYING CONTA-CAMPO FOR CHARACTERS
ottengo nella variabile CONTA-CAMPO non il numero dei caratteri contenuti nella stringa che sono 12
ma 30 che e' la lunghezza complessiva del campo.
Non trovo il modo, nella sintassi del comando, di ottenere il valore 12.
2) -Se utiizzo
INSPECT WS-DESTINATARIO TALLYING CONTA-CAMPO
FOR CHARACTERS BEFORE SPACE
ottengo il valore 5 ovvero conta i caratteri sino al primo spazio
( puo' andare bene solo su valori contigui di contenuto di campo)
3) -Solo se utilizzo l'istruzione
INSPECT WS-DESTINATARIO TALLYING CONTA-CAMPO
FOR CHARACTERS BEFORE INITIAL " " ( lasciando 2 spazi all'interno del literal )
ottengo il valore 12
ma questa istruzione ha delle limitazioni:, in quanto controlla se ci sono 2 caratteri spazio
nella stringa e questi possono essere in qualsiasi punto della stringa prima dell'ultimo carattere valido, oppure se solo se il contenuto del valore della stringa e' < di 29 caratteri,.
A me interessa conoscere i caratteri complessivi comprensivi degli spazi contenuti in una stringa , fino
all'ultimo carattere valido contenuto su di esso.
C'e' qualcuno che mi puo' indicare la soluzione ?
Grazie. Roberto