Vai al contenuto

COGP10 — Stampa etichette clienti / fornitori / soci

Sorgente: cbl/cogp10.cbl | Tipo: interattivo a maschera con elaborazione batch di stampa | Program-ID: cogp10

Menu: Contabilita' > Archivi & Tabelle > Stampe > Clienti > Etichette ; Contabilita' > Archivi & Tabelle > Stampe > Fornitori > Etichette ; Contabilita' > Archivi & Tabelle > Stampe > Soci > Etichette


Scopo

Stampa le etichette di indirizzo delle anagrafiche clienti, fornitori o soci. Il tipo di anagrafica trattata dipende dal parametro wo-parametro passato in linkage ("C" clienti, "F" fornitori, "S"/"G" soci), che determina anche il titolo maschera e i tipi anagrafici usati come chiave su COGGEANA (ana-tipo).

L'operatore sceglie il criterio di selezione (tm-sel) dei nominativi, l'ordinamento, l'intervallo, ed eventuali filtri (agente, tipologia, destinazione, periodo). Il formato fisico dell'etichetta non e' scelto in maschera ma deriva dalla configurazione (x99-src-cfgtab-config): tm-cfg-tp-eti seleziona il layout, tm-cfg-file il numero di etichette per fila, tm-cfg-num-rig-etic il numero di righe. La stampa e' gestita da COGS54 (selezione stampante/emulazione).

File e tabelle principali

File/Tabella Copybook Uso
FEURTAB / COGTABEL cogfiles.cpy (FD), cogp10.fd Tabelle generiche; tipo 84 (euta-tpl-tit) per il "titolo" da stampare in base alla tipologia cliente
COGGEANA tramite cogp10.fd/paragrafi rd-/rdnxt-coggeana Anagrafica clienti/fornitori/soci: ana-tipo, ana-cod, ana-nome, ana-ind, ana-cap, ana-loca, ana-prov, ana-agente, ana-val
COGAPPOG cogappog (via rd-cogappog) Dati di appoggio anagrafica: app-tip-stt (tipologia/stato) per selezione T e titolo
COGFATTU via rd-/st-cogfattu Selezione per periodo di fatturazione (tm-sel = "F"): scansione fatture con ricerca dicotomica
COGMOMAG via st-cogmomag-notmin-chia4 Selezione clienti con movimenti in data (tm-sel = "M")
COGANAPP via rd-coganapp (aap-rec) Recupero indirizzo per etichette Eltron personalizzate
sta (PRINTER) / flsta flsta.cpy File di stampa: sta per stampanti a righe, flsta per output su file (formato Eltron/EPL2)

Servizi: w92 (utilw92.cpy) per destinazioni/indirizzi alternativi; utils52, utils54, utils65, copybook lingua/status-bar.

Criteri di selezione (tm-sel)

  • C — da cliente a cliente (intervallo di codici);
  • E — elenco selezionato con F5 (multi-selezione COGU04);
  • F — per periodo di fatturazione (solo clienti/soci);
  • M — con movimenti di magazzino in un intervallo di date;
  • T — con tipologia determinata (tm-tip-stt, aiuto COGF10).

Filtri aggiuntivi: ordinamento per codice/descrizione (tm-ord), agente (tm-age-cod, solo clienti), destinazione merce (tm-dst-id-idx), flag inclusione anagrafiche cancellate (tm-fl-canc), intervallo date movimento.

Formati etichetta (tm-cfg-tp-eti)

  • 1 — etichette su modulo continuo, righe r1/r1-1/r2/r3 (personalizzazioni UN, ME); numero righe da configurazione.
  • 2 — etichette su modulo A4 in continuo, righe l0/l1/l2/l3 (titolo, nominativo, indirizzo, CAP-localita'-prov).
  • 3 / 5 — etichette laser su piu' file (righe a1/a1-1/a2/a3), posizionamento pilotato da tm-v-pos/tm-o-pos (paragrafi a10-print/print-fila, gestione w-kyo-*).
  • 4 — stampa su etichettatrice Eltron/EPL2 (s-stampa-eti-eltron), comandi ZPL-like scritti su flsta con STRIP_TRAILING_SPACES.

Ogni riga porta nominativo (ana-nome), eventuale "C/O" e recapito da destinazione alternativa (w92-dest-*), indirizzo, CAP, localita', provincia. Per i fornitori il titolo e' forzato a "Spett.le".

Flusso principale

  1. apri — init programma, rd-azi, open-files, lettura configurazione (x99-src-cfg), titolo maschera in base a wo-parametro, definizione tasti funzione, rd-msk-pop.
  2. a4 — inizializza tab-maschera con default (tm-sel = "C", ordinamento codice, 1 copia).
  3. a-tm-sel ... a-tm-copie — catena di accept dei campi maschera (tipo selezione, filtri, posizioni, copie); ogni campo ha x-controlla-tm-* e navigazione F2/mouse (x-test-mouse).
  4. a-riga-finex-imposta-conferma: rivalida tutti i campi; se F3 ok procede.
  5. st-00 — conferma stampa via COGS54 (scelta stampante/emulazione, chr-stampa e emulazione dipendono da tm-cfg-tp-eti); apre sta/flsta in output.
  6. stampa — dispatch sul criterio: st-10-loop (da/a codice), st-10-alf (ordinamento descrizione), st-10-fat (fatturazione, con ricerca/src_loop/src_back_loop dicotomici), st-10-eln (elenco), st-10-tip (tipologia), st-10-mov (movimenti).
  7. st-20 / st-20-ok / a10-print / print-fila — composizione righe etichetta e write sul formato attivo.
  8. fine2 / sta-99 — chiusura pagina, chiusura file di stampa, COGS54 after-print, messaggio se nulla stampato.
  9. fine / z-chiudi — chiude i file e termina.

Sottoprogrammi chiamati

Programma Ruolo
COGS54 Selezione stampante/emulazione e gestione del ciclo di stampa (before/after print)
COGS52W Editing/validazione date movimento (da/a)
COGU04 Multi-selezione nominativi per l'elenco (tm-sel = "E")
COGF10 Aiuto/gestione tipologia (tm-tip-stt) su F8
send-w92 (COGW92) Recupero destinazioni/indirizzi alternativi e formattazione recapito

Note

  • Il formato etichetta e la disposizione (numero per fila, righe, emulazione) provengono dalla configurazione, non dalla maschera: modifiche al layout richiedono coordinamento con tab-config/x99-src-cfg.
  • Numerose personalizzazioni cliente sono cablate su az-personal (UN, LO, ME) e su tm-cfg-tp-eti 4/5 (etichette Eltron per "Artic Seals"); il paragrafo s-stampa-eti-eltron-artic esiste ma la sua chiamata e' commentata.
  • La selezione per fatturazione (st-10-fat) usa una ricerca dicotomica su COGFATTU (ricerca, src_loop, src_back_loop) per posizionarsi sulla prima fattura nell'intervallo date: logica delicata, non modificare senza verificare gli estremi w_ini/w_fin.
  • Il sorgente usa estesamente GO TO fra i paragrafi di accept e i loop di stampa, e alcuni PERFORM ... THRU (controlla-ordine thru ex-controlla-ordine, x7-acc-start thru ex-x7): forme legacy della conversione, da non replicare.