CPYTOIMPF FROMFILE(PRODLIB/ARTICOLI) +
TOSTMF('/home/export/articoli.csv') +
MBROPT(*REPLACE) +
STMFCCSID(1208) +
RCDDLM(*CRLF) +
DTAFMT(*DLM) +
STRDLM(*NONE) +
FLDDLM(';')
Per includere i nomi delle colonne come prima riga si aggiunge ADDCOLNAM(*SQL).
Esempio: esportare una selezione, non tutto il file
CPYTOIMPF copia un file intero. Quando servono solo alcune colonne, o solo le righe di una
zona, la strada non è filtrare dopo in Excel: è dare al comando un oggetto che contiene già
quello che serve.
Una vista in QTEMP costa niente e sparisce da sola a fine job:
CREATE VIEW QTEMP/EXPCLI AS
SELECT CODCLI, RAGSOC, FATTURATO
FROM PRODLIB/CLIENTI
WHERE ZONA = 'NORD'
AND FATTURATO > 0
CPYTOIMPF FROMFILE(QTEMP/EXPCLI) +
TOSTMF('/home/export/clienti-nord.csv') +
MBROPT(*REPLACE) +
STMFCCSID(1208) +
RCDDLM(*CRLF) +
DTAFMT(*DLM) +
STRDLM(*NONE) +
FLDDLM(';') +
ADDCOLNAM(*SQL)
Con ADDCOLNAM(*SQL) l'intestazione arriva dai nomi delle colonne della vista, quindi
rinominandole nel SELECT (AS "Codice cliente") si decide cosa legge chi apre il file,
senza toccare il file di origine.
Nota
STMFCCSID(1208) scrive in UTF-8 ed è quasi sempre la scelta giusta. È il motivo
per cui le lettere accentate arrivano corrette invece che come simboli: senza, il file esce
nella codifica EBCDIC del job e chi lo apre su Windows vede caratteri sbagliati.
Suggerimento
dove Excel è configurato con la virgola come separatore decimale (gran
parte dell'Europa continentale) il separatore di campo giusto è il punto e virgola, non
la virgola: con FLDDLM(',') i numeri finiscono spezzati su due colonne.
Rilasci. CPYTOIMPF c'è da sempre. Il parametro ADDCOLNAM, che scrive i nomi delle
colonne come prima riga, è più recente: se il comando lo rifiuta segnalando una parola chiave
non valida, il sistema è su un rilascio che non lo ha, e l'intestazione va aggiunta a parte.
Commenti
Nessun commento ancora. Sii il primo a commentare!
Devi avere un account per commentare. Accedi · Registrati