Vai al contenuto

COGD42 - Ristampa Entrate Magazzino

Sorgente: cbl/cogd42.cbl | Tipo: Programma di stampa con interfaccia grafica | Program-ID: COGD42

Menu:

  • Magazzino > Entrate > Ristampa

Scopo

Stampa (ristampa) dei documenti di entrata in magazzino: carichi da fornitore, resi da cliente, entrate da conto lavoro. Supporta due modalita' di stampa:

  1. Stampa standard (modo "S"): richiama COGV16 (o COGV16F se az-ges-qta-2 = "S" per doppia unita' di misura)
  2. Stampa con modelli Word (modo diverso da "S"): genera un file XML con i dati del documento e lo invia a WORDMDL per la formattazione con modello configurato tramite COGPA3

Puo' funzionare sia in modo interattivo (selezione manuale del documento) sia richiamato come sottoprogramma (chiamata via linkage util-cogd42).


Interfaccia utente

Maschera (tab-maschera)

Campo Tipo Descrizione
tm-doc-mag X(01) Codice magazzino
tm-doc-ann 9(04) Anno bolla
tm-doc-tip X(01) Tipo bolla
tm-doc-num 9(06) Numero bolla

Ordine di accept dei campi

Magazzino > Anno > Tipo > Numero > Conferma

Tasti funzione

Tasto Funzione
ESC Esce
F1 Configurazione della funzione (RNEWCONF)
F2 Torna al campo precedente
F3 Conferma e avvia la stampa
F8 Calendario (su anno)

File e tabelle

File/Tabella Copybook Uso
FEURTAB cogfiles.cpy Tabella parametri generali
COGTESBO cogd42.fd Testata bolle (lettura documento)
COGTESAP cogd42.fd Appendice testata bolle (brand, gruppo aziendale)
COGMOMAG cogd42.fd Movimenti di magazzino (righe del documento)
COGGEANA cogd42.fd Anagrafica clienti/fornitori
COGMERCI cogd42.fd Anagrafica merci
COGMAGAZ cogd42.fd Anagrafica magazzini
COGTABEL cogd42.fd Tabelle generiche (causali tipo 15, divise tipo 56, pagamenti tipo 14, contropartite tipo 16)
COGPNCON cogd42.fd Piano dei conti (descrizione conto)
COGMATRI cogd42.fd Matricole (per serial number)
COGMTSNA cogd42.fd Serial number alternativi
COGMERLT cogd42.fd Lotti merce
COGMRFOR cogd42.fd Merce-fornitore (codice articolo fornitore)
PRNTOPER cogd42.fd Operatori (descrizione operatore di inserimento)
COGMERLT cogd42.fd Lotti merce

Programmi chiamati

Programma Scopo
COGV16 Stampa standard bolla entrata
COGV16F Stampa standard bolla entrata con doppia unita' di misura
COGPA3 Selezione modello di stampa (tipo "COGD42")
WORDMDL Generazione documento da modello Word/XML
COGS54 Gestione stampante
COGS87 Calcolo totali IVA del documento
COGU10 Utility formattazione valute/importi
COGU18 Utility commesse
COGU22 Utility pagamento/banca (u22-leggi per descrizione RB)
COGU09 Utility
COGS52W Gestione date
COGS09 Utility note documento
GESSTR Utility manipolazione stringhe
RNEWCONF Lettura/modifica configurazioni (F1)

Copybook principali

  • cogd42.select, cogd42.fd, cogd42.wrk, cogd42.prc, cogd42.decla, cogd42-01.scr -- Screens
  • cogazien.cpy -- Dati azienda (az-ges-qta-2 per doppia UM, az-prof per profili)
  • k-u10.cpy -- Costanti utility valute
  • k-personal.cpy -- Costanti personalizzazioni
  • utils09.cpy -- Utility note
  • utils52.cpy -- Date (COGS52W)
  • utils54.cpy -- Stampante (COGS54)
  • utils87.cpy -- Calcolo totali IVA (COGS87)
  • utilu10.cpy -- Utility valute (COGU10)
  • utilu09.cpy -- Utility
  • utilu18.cpy -- Utility commesse (COGU18)
  • utilu22.cpy -- Utility pagamento (COGU22)
  • utilncnf.cpy -- Interfaccia RNEWCONF
  • utilwordmdl.cpy -- Interfaccia WORDMDL
  • utilcogpa3.cpy -- Interfaccia COGPA3
  • utilgesstr.cpy -- Interfaccia GESSTR
  • utilcogd42.cpy -- Interfaccia linkage per chiamata esterna

Dati di interscambio called (util-cogd42)

Campo Tipo Descrizione
cogd42-called costante "COGD42-CALLED" se richiamato
cogd42-caller X Programma chiamante
cogd42-doc-mag X(01) Magazzino preimpostato
cogd42-doc-ann 9(04) Anno preimpostato
cogd42-doc-tip X(01) Tipo preimpostato
cogd42-doc-num 9(06) Numero preimpostato
cogd42-fl-sta X(01) Flag esito stampa (output: "S" = ok, "N" = errore)

Configurazione (tm-cfg, via RNEWCONF)

Parametro Tipo Descrizione
tm-cfg-modo-stampa X(01) "S" = stampa standard, altro = stampa modelli Word
tm-cfg-stampa-dag-merce X(01) Stampa dati aggiuntivi merce
tm-cfg-cau-ent-contolav 9(02) Causale entrata da conto lavoro (cambia titolo in "ENTRATA DA CLIENTE")
tm-cfg-etichetta-key-alt X(25) Chiave alternativa etichetta
tm-cfg-cau-rip-forn 9(02) Causale rientro fornitore

Logica di elaborazione

Modalita' called

Se cogd42-called = "COGD42-CALLED":

  1. Carica i parametri del documento dal linkage
  2. Legge COGTESBO per verificare che il documento esista
  3. Salta direttamente a a-lancia-stampa senza mostrare la maschera

Modalita' interattiva

  1. Accept dei campi: magazzino, anno, tipo, numero
  2. Validazione di ogni campo
  3. Conferma utente
  4. Avvia la stampa

Stampa standard (modo "S")

Prepara link-rec con i riferimenti della bolla e chiama COGV16 (o COGV16F se doppia unita' di misura).

Stampa con modelli Word (stampa-wordmdl)

  1. Selezione modello: chiama COGPA3 con tipo "COGD42", tipo anagrafico e codice anagrafico del documento. COGPA3 ritorna il modello da usare e la composizione delle tabelle
  2. Ricerca indici tabelle: cerca l'indice della tabella "TAB-RIGHE" tra le tabelle restituite da COGPA3; verifica la presenza del tag "SN" (serial number)
  3. Apertura file XML: chiama WORDMDL con operazione "Apri-XML"
  4. Scrittura testata: genera i tag XML per tutti i dati di testata:
  5. DATASIS, OPE-INS-COD, OPE-INS-DES, ANA-COD, ANA-NOME, ANA-IND, ANA-LOCA, ANA-CAP, ANA-PROV
  6. DOC-MAG, DOC-MAG-DES, DOC-TITOLO, DOC-ANN, DOC-TIP, DOC-NUM, DOC-KEY, DOC-DATA
  7. RIF-DOC, RIF-DATA, CAU-COD, CAU-DES, DIV-COD, DIV-DES, PAGAMENTO
  8. TOT-IVA, TOT-IVATO, SCADENZE, NOTE
  9. Titolo documento: dipende dalla causale:
  10. Se causale = cau-ent-contolav: "ENTRATA DA CLIENTE"
  11. Se tipo = "R": "RESO DA CLIENTE"
  12. Altrimenti: "ENTRATA DA FORNITORE"
  13. Calcolo totali: chiama COGS87 per calcolare totale, IVA, totale ivato. Formatta con COGU10
  14. Scadenze: legge le scadenze del documento e le formatta come stringa
  15. Note: legge le note del documento tramite utility COGS09
  16. Scrittura righe: per ogni riga di COGMOMAG della bolla, genera i tag della tabella TAB-RIGHE:
  17. Codice merce, descrizione, unita' di misura, quantita', prezzo, sconti, valore, seconda UM/prezzo (se attiva)
  18. Dati aggiuntivi merce (se configurato)
  19. Codice articolo fornitore (da COGMRFOR)
  20. Serial number (se tag SN presente nel modello): legge COGMATRI per la riga e formatta l'elenco dei serial number
  21. Commesse e sottocommesse (da COGU18)
  22. Locazione magazzino
  23. Chiusura: chiama WORDMDL con operazione "Esegui" per generare la stampa

Note

  • Il programma supporta la doppia unita' di misura (az-ges-qta-2 = "S"): in tal caso, per ogni riga stampa anche quantita' e prezzo nella seconda unita' di misura
  • La gestione dei serial number sulle righe e' condizionata alla presenza del tag "SN" nel modello di stampa (verifica fatta su w-cogpa3-te-info)
  • Il file XML temporaneo per WORDMDL viene creato nella directory modelli con nome cogd42_<operatore>.txt
  • Le commesse sono gestite tramite COGU18 (utilu18.cpy)
  • Il programma gestisce le locazioni magazzino con formato box/corsia/colonna/piano (w-mloc)

Documentazione tecnica -- 2026-04-06