Come: |
Lingue disponibili: reporting
La funzione EDIT estrae caratteri dalla stringa di origine e aggiunge caratteri alla stringa di emissione, a seconda della maschera. Questa funzione è in grado di estrarre una stringa secondaria da diverse parti della stringa di origine. È inoltre in grado di inserire caratteri dalla stringa di origine ad una stringa di emissione. Per esempio, è in grado di estrarre i primi due caratteri e gli utilimi due caratteri di una stringa per formare una singola stringa di emissione.
EDIT lavora paragonando i caratteri in una maschera ai caratteri in una stringa d'origine. Quando si incontra un nove (9) nella maschera, EDIT copia il carattere corrispondente dal campo d'origine alla stringa di emissione. Quando si incontra un simbolo del dollaro ($) nella maschera, EDIT ignora il carattere corrispondente nella stringa d'origine. Quando si incontra qualsiasi altro carattere nella maschera, EDIT copia quel carattere alla posizione corrispondente della stringa d'origine. Questo procedimento termina quando la maschera è esaurita.
Nota:
EDIT(source_string, 'mask');
dove:
Alfanumerico
Stringa di caratteri dalla quale scegliere i caratteri. Ciascun 9 nella maschera rappresenta una cifra; pertanto le dimensioni della source_string devono essere almeno pari al numero di 9 che appare nella maschera.
Alfanumerico
Una stringa di caratteri maschera racchiusa tra virgolette singole o un campo contenente la stringa di caratteri racchiusa tra virgolette singole. La lunghezza della maschera, escludendo qualsiasi carattere diverso da 9 e $, determina la lunghezza del campo d'emissione.
EDIT estrae la prima iniziale dal campo FIRST_NAME e memorizza il risultato in FIRST_INIT. EDIT inoltre aggiunge trattini al campo EMP_ID e memorizza il risultato in EMPIDEDIT. La maschera usata per estrarre la prima iniziale viene memorizzata nel campo virtuale MASK1:
DEFINE FILE EMPLOYEE MASK1/A10 = '9$$$$$$$$$' END TABLE FILE EMPLOYEE PRINT LAST_NAME AND COMPUTE FIRST_INIT/A1 = EDIT(FIRST_NAME, MASK1); EMPIDEDIT/A11 = EDIT(EMP_ID, '999-99-9999'); WHERE DEPARTMENT EQ 'MIS'; END
L'emissione è:
LAST_NAME FIRST_INIT EMPIDEDIT --------- ---------- --------- SMITH M 112-84-7612 JONES D 117-59-3129 MCCOY J 219-98-4371 BLACKWOOD R 326-17-9357 GREENSPAN M 543-72-9165 CROSS B 818-69-2173
WebFOCUS |