COGV52 - Ristampa Documento / Selezione Programma Stampa Bolle¶
Sorgente: cbl/cogv52.cbl | Tipo: Programma interattivo GUI (dispatcher di stampa) | Program-ID: COGV52
Menu:
- Magazzino > Uscite > Bolle Accompagnatorie > Stampe > Ristampa documento
- Vendite > Bolle Vendita > Stampe > Ristampa documento
- Vendite > Bolle Vendita > Stampe > Certificato Estero
Scopo¶
Ristampa (o archiviazione) di un documento di trasporto/bolla accompagnatoria gia' emesso. Il commento di testata lo dichiara: "Selezione programma stampa bolle immediate".
Il programma non stampa direttamente: raccoglie i parametri (magazzino, anno, tipo, numero bolla, copie, stampa prezzi, ecc.), poi in base a configurazioni RNEWCONF e personalizzazioni aziendali seleziona e lancia il modulo di stampa effettivo (una delle numerose varianti COGV52*, oppure moduli Word COGV52M/DDTCTR, oppure programmi personalizzati COGV52VE/COGP28*). Gestisce inoltre l'archiviazione ottica del documento (generazione PDF e caricamento in COGU06).
Puo' funzionare in due modi:
- stand-alone (da menu): mostra la maschera di selezione documento;
- richiamato (
v52-called = "COGV52-CALLED"): riceve il documento gia' impostato dal chiamante e, secondo configurazione/personalizzazione, puo' saltare la maschera e stampare direttamente.
Con parametro di menu "CE" cambia funzione e titolo in "Certificato di consegna all'estero" (PCASE-1259), instradando alla stampa su modulo Word.
Struttura del programma¶
Inizializzazione (apri)¶
Legge wo-parametro (in menu-parametro; "CE" = certificato estero), rileva se e' chiamato (v52-called) valorizzando w-dati-called (documento, flag stampato, numero copie forzato, no-cancel, archiviazione), apre i file, legge l'azienda. Legge la configurazione prezzi per documento (x99-src-confi per i clienti laser, x99-src-cfg per le chiavi PRNTSTBOLL/PRNTSTFATT). Carica i pulsanti custom di navigazione documento (Precedente/Successivo/Primo/Ultimo su F5/F6/F9/F10). Se chiamato con documento gia' impostato e la maschera non va mostrata (w-dc-fl-show-form = k-no), salta direttamente a a-lancia-stampa.
Accept dei parametri (a4 - a-fine-dati)¶
Serie di paragrafi a-tm-* con navigazione F2 (indietro) / F3 (conferma) / mouse (x-test-mouse):
| Paragrafo | Campo | Descrizione |
|---|---|---|
a-tm-doc-mag |
tm-doc-mag | Magazzino COGE (F1 = modifica configurazione stampa) |
a-tm-doc-ann |
tm-doc-ann | Anno documento (F8 = calendario) |
a-tm-doc-tip |
tm-doc-tip | Tipo documento |
a-tm-doc-num |
tm-doc-num | Numero bolla; F5/F6/F9/F10 = documento precedente/successivo/primo/ultimo (a1-proponi-*) |
a-tm-copie |
tm-copie | Numero di copie |
a-tm-stampa-serial |
tm-stampa-serial | Stampa serial numbers |
a-tm-fl-sta-prezzi |
tm-fl-sta-prezzi | Stampa prezzi sul documento |
a-tm-stampa-controllo |
tm-stampa-controllo | Stampa di controllo (modulo Word) |
a-fine-dati valida tutti i campi (x-controlla-dati).
Navigazione documenti (a1-proponi-*)¶
Ricerca su COGTESBO per proporre il primo/ultimo/precedente/successivo documento del tipo selezionato, potendo cambiare anno (a1-proponi-successivo-anno / a1-proponi-precedente-anno), aggiornando i campi maschera e ricaricando il cliente di destinazione (x-carica-cli-dst).
Lancio stampa (a-lancia-stampa)¶
- Rilegge la configurazione prezzi (
x-cerca-stampa-prezzi) e imposta lacausale("IN"= inverti comportamento prezzi) in funzione diaz-sta-preetm-fl-sta-prezzi. - Se configurato il controllo ristampa (
tm-cfg-ctr-prn = "S") e il documento risulta gia' stampato (tes-fl-sta = "S"), chiede conferma. - Se e' configurata l'archiviazione automatica (
tm-cfg-archivia-auto = "S", personalizzazione Siderpress), esegue prima una passata distampa-bollain modalita' archiviazione. - Esegue
stampa-bollaper la stampa vera e propria. - Art. 62 (deperibili): se abilitato (
tm-cfg-deperibili-art62 = "S"con separazione mag/tipobolla), cerca in COGRACBB la seconda bolla agganciata (rbb-tip = "DP") e la stampa anch'essa.
Selezione modulo di stampa (stampa-bolla / sb-100-standard / sb-100-std-ok)¶
Il cuore del dispatcher. In stampa-bolla valorizza la struttura maschera (dati documento) e, se in archiviazione, prepara i nomi file di stampa (PCL/PDF locali). Poi sceglie il modulo:
- Moduli personalizzati (via COGV52.CNF,
x99-src-confi): per VEGE/OPEL/clienti laser lanciaCOGV52VE; per la causale di trasferimento interno (tm-cfg-caus-trasf-int) lanciaCOGP28*. Chiamati concall wo-cogv52 using stringhe maschera; suon overflowripiega susb-100-standard. sb-100-standard/sb-100-std-ok- selezione modulo standard secondo configurazionetm-cfg-mod/tm-cfg-mod-con/tm-cfg-modo-stampa:
| Condizione | Modulo lanciato |
|---|---|
| Modo stampa "W" + stampa controllo | DDTCTR |
| Modo stampa "W" (Word) | COGV52M |
| Parametro menu "CE" (certificato estero) | COGV52M |
Gestione seconda quantita' (az-ges-qta-2) |
COGV52P |
| Modello "L" (laser) | COGV52L |
| Modello "T" con/senza controparte | COGV52E1 / COGV52ES |
| Modello "F" con/senza controparte | COGV52F1 / COGV52F |
| Modello "G" con/senza controparte | COGV52G1 / COGV52G |
| Modello "B" | COGV52B |
| Default con/senza controparte | COGV52N1 / COGV52NO |
Archiviazione (sb-200)¶
Se in modalita' archiviazione (fl-archiviazione = "S"): verifica che il file di stampa sia stato generato (COPIAF fileinfo), lo sposta in locale (COPIAF move), lo converte in PDF (SVIEW), lo archivia in ottico (COGU06 con tipo doc "BU" e chiave documento), poi cancella i file temporanei.
Infine, se il documento e' stato stampato (w-dc-v52-fl-sta = "S" o personalizzazione Artic Seals), aggiorna il flag tes-fl-sta = "S" su COGTESBO.
Chiusura (fine / z-chiudi)¶
Se wesc imposta v52-fine-stampa = "S". Chiude i file e, secondo la modalita' (chiamato/stand-alone, form mostrato o no), esce come programma (z-99-exit-program) o come subroutine (z-99-exit-subroutine).
Tabelle e file¶
| File logico | Tabella | Accesso | Descrizione |
|---|---|---|---|
| FEURTAB | FEURTAB | Input | Tabella di sistema |
| COGTABEL | COGTABEL | Input | Tabelle generiche |
| COGGEANA | COGGEANA | Input | Anagrafica clienti (nominativo, cliente di destinazione) |
| COGTESBO | COGTESBO | I-O | Testate bolle/documenti (lettura documento, navigazione, rewrite flag stampato tes-fl-sta) |
| COGRACBB | COGRACBB | Input | Raccordo tra bolle (art. 62: seconda bolla deperibili, rbb-tip = "DP") |
| cogv52-t-doc | (transito) | — | File di transito documenti dichiarato dal generatore |
La struttura maschera (dati documento passati al modulo di stampa) e' costruita in working-storage e passata per call ... using stringhe maschera.
COPY incluse¶
File-Control / File Section¶
feurtab.fd, cogv52.select (genera SELECT COGTABEL/COGGEANA/COGTESBO/COGRACBB + transito, da cbl/screens/), cogfiles.cpy, cogv52.fd
Working-Storage¶
k-personal.cpy, cogv52.wrk, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, utildlg.cpy (DIALOGS), utils52.cpy (COGS52 data/calendario), utils54.cpy (COGS54 stampa), utils68.cpy (COGS68 merce), utilu06.cpy (COGU06 archiviazione ottica), utilsview.cpy (SVIEW conversione PDF), l-copiaf.cpy (COPIAF), utilgesdebug.cpy, utilncnf.cpy
Linkage / Screen¶
wcont.cpy, u-copiaf.cpy, utilv52.cpy (interfaccia del programma: v52-called, v52-bolla, v52-nr-copie, v52-fl-archivia, v52-stampa-da-trs, v52-fine-stampa, ...), wcont1.cpy, cogv52-01.scr
Procedure Division¶
cogv52.decla (declaratives), grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, gesdebug.cpy, cogv52.prc
CALL a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazioni |
| DIALOGS | Dialog di scelta stampa prezzi (prg-call-dialogs, oggi commentata nel flusso principale) |
| COPIAF | Gestione file di stampa in archiviazione (delete/fileinfo/move) |
| SVIEW | Conversione del file di stampa in PDF |
| COGU06 | Archiviazione ottica del documento (tipo doc "BU") |
| COGS54 | Gestione stampa/periferica (cancel dopo la stampa) |
| COGV52M | Modulo di stampa su modulo Word (anche certificato estero "CE") |
| DDTCTR | Stampa di controllo su modulo Word |
| COGV52P | Stampa con gestione seconda quantita' |
| COGV52L / COGV52B | Stampa modello laser / modello "B" |
| COGV52E1 / COGV52ES | Stampa modello "T" (con/senza controparte) |
| COGV52F1 / COGV52F | Stampa modello "F" (con/senza controparte) |
| COGV52G1 / COGV52G | Stampa modello "G" (con/senza controparte) |
| COGV52N1 / COGV52NO | Stampa modello di default (con/senza controparte) |
| COGV52VE | Stampa personalizzata VEGE/OPEL/clienti laser |
| COGP28 / COGP28* | Stampa personalizzata per trasferimenti interni |
Configurazioni RNEWCONF¶
x99-src-confi (file COGV52.CNF, pacchetto "C")¶
Legge le personalizzazioni "cliente laser": fino a 10 coppie PERSONALIZZAZIONE CLIENTE LASER / CLIENTE LASER, compattate in tm-cfg-personal / tm-cfg-cliente; determinano se per un dato cliente usare il modulo COGV52R/COGV52VE.
x99-src-cfg (pacchetto "C", 35 chiavi)¶
| Gruppo | Chiave | Destinazione | Descrizione |
|---|---|---|---|
| PRNTSTBOLL | euta-c022-not | tm-cfg-not | Note stampa (default "B") |
| PRNTSTBOLL | euta-c022-v-off / euta-c022-h-off | tm-cfg-v-off / tm-cfg-h-off | Offset verticale/orizzontale |
| PRNTSTBOLL | euta-c022-mod | tm-cfg-mod | Modello di stampa (T/F/G/L/B, default "T") |
| PRNTSTBOLL | euta-c022-ctr-prn | tm-cfg-ctr-prn | Controllo ristampa (default "N") |
| PRNTSTBOLL | euta-c022-mod-con | tm-cfg-mod-con | Con/senza controparte (default "S") |
| PRNTSTBOLL | euta-c022-rch-prz | tm-cfg-rch-prz | Richiesta stampa prezzi |
| PRNTSTBOLL | euta-c022-cop | tm-cfg-cop | Numero copie di default (default 1) |
| PRNTSTBOLL | euta-c022-sn | tm-cfg-sn | Stampa serial numbers (default "N") |
| CAUSALI | trasferimento-interno | tm-cfg-caus-trasf-int | Causale trasferimento interno (instrada a COGP28) |
| abilita | merci-deperibili-art-62 | tm-cfg-deperibili-art62 | Gestione art. 62 deperibili (doppia bolla) |
| progcogv51 | art62-separazione-mag-tipo-bolla | tm-cfg-art62-separazione-mag-tipobolla | Criterio separazione bolla art. 62 (M/D) |
| uscite | modo-stampa | tm-cfg-modo-stampa | Modo stampa ("W" = Word) |
| ARC-OTT | PATH-APRI-FILE | tm-cfg-path-locale | Path locale per archiviazione |
Inoltre x-cerca-stampa-prezzi legge la chiave prntstboll / forza-stampa-prezzi (suddivisa per cliente) in tm-stampa-prezzi.
L'archiviazione automatica (tm-cfg-archivia-auto) e' forzata a "S" solo per la personalizzazione Siderpress.
Note tecniche¶
- Dispatcher di stampa: la funzione principale e' selezionare e lanciare il modulo di stampa corretto in base a configurazione aziendale (
tm-cfg-mod,tm-cfg-mod-con,tm-cfg-modo-stampa), parametro di menu ("CE") e personalizzazioni (az-personal). La stampa vera e propria e' delegata ai moduliCOGV52*/Word. - Doppia natura chiamato/stand-alone: gestita da
w-dc-fl-calledew-dc-fl-show-form; alcune personalizzazioni (Modena funghi, Malavasi, Ferranti, VEGE, OPEL, BB Elettronica) forzano la visualizzazione della maschera anche quando chiamate. - Archiviazione ottica: la stessa stampa puo' produrre un PDF archiviato (percorso PCL → move locale → SVIEW PDF → COGU06), pilotata da
fl-archiviazione. - Art. 62 deperibili: quando abilitato, la stampa puo' generare due bolle collegate tramite COGRACBB (
rbb-tip = "DP"). - Certificato estero: con parametro di menu
"CE"il programma cambia titolo e forza la stampa su modulo Word (COGV52M) - stesso sorgente, funzione diversa dalla ristampa bolla. - I file generati da Screens (
cogv52.select,.fd,.wrk,.prc,.decla) risiedono incbl/screens/.