Cobol e xls

di il
10 risposte

Cobol e xls

Buongiorno a tutti.
Lavoro in un'azienda che ha come gestionale programmi scritti in Cobol.
Ho qualche conoscenza del linguaggio ma voleva sapere se esiste qualche
script o simile che converte le stampe da procedura cobol in xls
Grazie

10 Risposte

  • Re: Cobol e xls

    Ciao,
    senza modifiche al pgm di stampa direi di no,
    se si può modificare il pgm allora ogni volta che scrivi una riga in stampa la scrivi anche in una tabella di lavoro con lo stesso tracciato del printerfile.
    Quindi, nei sistemi IBM i con s.o. IBM iOS 7.x esiste il comando
    CPYTOIMPF FROMFILE(&LIB/&FIL) TOSTMF(&STMFNAM) +
    MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
    RCDDLM(*LF) FLDDLM(';') DECPNT(*COMMA) +
    DATFMT(*ISO) TIMFMT(*ISO)
    che trasferisce &FIL contenuto nella libreria &LIB nella cartella/file dell IFS &STMFNAM.
    Tipicamente &STFMNAM è valorizzata con '/HOME/usrfolder/filnam.CSV'
    Tutti gli altri parametri concorrono ad ottenere un file .CSV da una qualunque tabella del database DB2 del sitema IBM i.

    Non conosco altri ambienti.
    Spero di essere stato utile.
  • Re: Cobol e xls

    Di solito utilizzo una PERFORM alternativa a quella di stampa, che mi genera un .CSV con separatore il "TAB" (quello di default usato da excel),
    preferisco non usare altri tipi di tabulatori, in quanto potrebbero essere presenti nei campi, e quindi potrebbero dare noie ad excel.
  • Re: Cobol e xls

    Salve, vedo che è una discussione di qualche "giorno" fa ... magari la risposta può essere utile a qualcun altro che ha un problema simile.

    Basta sostitutire al dispositivo di output (printerfile) il file fisico dotato di estensione TXT, e lo potete importare in excel con campi standard a formato fisso, senza bisogno di gestire nè tabulazioni nè separatori di campo.

    A quel punto nel file XLS importato, basta eliminare le righe con le intestazioni di pagina successive alla prima, ed il gioco è fatto.
  • Re: Cobol e xls

    Cobol ha scritto:


    Salve, vedo che è una discussione di qualche "giorno" fa ... magari la risposta può essere utile a qualcun altro che ha un problema simile.
    Certo che si puo' fare anche così,
    ma è un tantino più complesso,
    nel senso che, EXCEL, per leggere un file txt, ha bisogno di conoscere, dove inizia un campo, e poi ancora il successivo,
    si puo' eseguire la procedura guidata di excel, ma ripeto, è un tantino più complesso.

    IMHO: specificando il tabulatore tra un campo e l'altro, l'importazione del file in excel, diventa piu' semplice.
  • Re: Cobol e xls

    [Neapolis] ha scritto:


    Cobol ha scritto:


    Salve, vedo che è una discussione di qualche "giorno" fa ... magari la risposta può essere utile a qualcun altro che ha un problema simile.
    Certo che si puo' fare anche così,
    ma è un tantino più complesso,
    nel senso che, EXCEL, per leggere un file txt, ha bisogno di conoscere, dove inizia un campo, e poi ancora il successivo,
    si puo' eseguire la procedura guidata di excel, ma ripeto, è un tantino più complesso.

    IMHO: specificando il tabulatore tra un campo e l'altro, l'importazione del file in excel, diventa piu' semplice.
    Permettimi di contraddirti ... se esegui la procedura di import dati di excel, oltre al tipo di dati "Delimitato", hai sotto "Larghezza fissa", ora essendo tutte le stampe già incolonnate, excel intuisce in automatico el colonne interessate, importandoti direttamente i campi correttamente allineati, quasi al 90%. Il resto delle eventuali colonne che non riesce a individurae, batsa un click nella posizione relativa.
    E' una procedura già collaudata che uso spesso nel mio gestionale contabile, quando vuoi tirare fuori una statistica e magari 'darla in pasto' ad excel che ha sicuramente più strumenti di analisi e aggregazione dei dati, di qualunque gestionale potresti inventarti.

    Gino.
  • Re: Cobol e xls

    Vabbè... abbiamo due modi diversi di lavorare,
    quandi dici "quasi al 90%", fai intendere che comunque necessita di un intervento "manuale" da parte dell'operatore per poter raddrizzare alcuni campi che excel non riesce a gestire correttamente, poi se vuoi, potrei andare avanti parlando delle righe di intestazioni, o quelle finali del foglio di totalizzazioni, e se pensi ad un tabulato con diverse decine di pagine .... mbè....
    Cmq, non dico che è sbagliato operare cosi, ma solo che, mi piace meno...
  • Re: Cobol e xls

    Certamente, non c'è un sistema giusto o sbagliato, c'è un sistema più o meno semplice che poi (alla fine) dipende dalle procedure usate.
    Ovviamente nella brevità della risposta nn mi sono dilungato sui dettagli tecnici e l'ambiente di contorno in cui la fase di stampa si va ad innestare, ma nel mio gestionale, c'è la possibilità di produrre file di testo (con colonne personalizzabili), che alla fine possono essere inviate via mail, salvate o esportate (appunto). Il tutto utilizzando lo stesso programma di stampa che fa solo un controllo sul dispositivo utilizzato come output, ovvero se ha capacità grafiche, ed allora produrrà una stampa con font diversi, logo, intestazioni e piede, oppure una stampa solo testo, per i motivi prima addotti.

    Si, in caso di centinaia di pagine devi eliminare a mano le righe di intestazioni e dei totali, ma non è complicato/lungo farlo da excel, ed ancora meno fare due righe di codice che le eliminano direttamente all'origine, se il file è destinato all'esportazione ... in COBOL si può fare tutto.
  • Re: Cobol e xls

    Cobol ha scritto:


    ... in COBOL si può fare tutto.


    te per la produzione di file in formato .pdf cosa utilizzi ?
    p.s. il mio ambiente di sviluppo non ha "dentro di se" questa possibilità....
  • Re: Cobol e xls

    [Neapolis] ha scritto:


    Cobol ha scritto:


    ... in COBOL si può fare tutto.


    te per la produzione di file in formato .pdf cosa utilizzi ?
    p.s. il mio ambiente di sviluppo non ha "dentro di se" questa possibilità....
    Uno dei tanti PDF Creator, oppure la stampante PDF di windows 10 ... ho tribolato un pò, ma ho integrato le API native di windows e quindi mi interfaccio direttamente coi Driver, anzi meglio, con le stampanti che ha Windows nel pannello di Controllo.
    L'aggiunta di una nuova stampante, la vedo in automatico ed in tempo reale dal mio gestionale, anche se è una stampante di rete ... con il Cobol si può fare tutto .. l'ho già detto ?
  • Re: Cobol e xls

    Cobol ha scritto:



    Uno dei tanti PDF Creator, oppure la stampante PDF di windows 10 ...
    Diciamo, che ti sei concentrato sul problema più semplice, di una normalissima stampa (tabulato),
    il mio obiettivo è stato quello di interfacciare la stampa su un modello pdf esistente. Il classico esempio: posso stampare un modello F24, prelevando il pdf dalla agenzia delle entrate ? Oppure di un qualsiasi altro modello pdf, trovato in rete ?

    Esempio di stampa F24:
    Allegati:
    21422_c3bc9753abb6639c9fbe36a5432b5a3b.jpg
    21422_c3bc9753abb6639c9fbe36a5432b5a3b.jpg
Devi accedere o registrarti per scrivere nel forum
10 risposte