Vai al contenuto

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).

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)

  1. Rilegge la configurazione prezzi (x-cerca-stampa-prezzi) e imposta la causale ("IN" = inverti comportamento prezzi) in funzione di az-sta-pre e tm-fl-sta-prezzi.
  2. Se configurato il controllo ristampa (tm-cfg-ctr-prn = "S") e il documento risulta gia' stampato (tes-fl-sta = "S"), chiede conferma.
  3. Se e' configurata l'archiviazione automatica (tm-cfg-archivia-auto = "S", personalizzazione Siderpress), esegue prima una passata di stampa-bolla in modalita' archiviazione.
  4. Esegue stampa-bolla per la stampa vera e propria.
  5. 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 lancia COGV52VE; per la causale di trasferimento interno (tm-cfg-caus-trasf-int) lancia COGP28*. Chiamati con call wo-cogv52 using stringhe maschera; su on overflow ripiega su sb-100-standard.
  • sb-100-standard / sb-100-std-ok - selezione modulo standard secondo configurazione tm-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 moduli COGV52*/Word.
  • Doppia natura chiamato/stand-alone: gestita da w-dc-fl-called e w-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 in cbl/screens/.