Vai al contenuto

COGP86HT — Stampa Packing List (versione Artic Seals)

Sorgente: cbl/cogp86ht.cbl | Tipo: Sottoprogramma di stampa | Program-ID: COGP86HT

Menu: Programma non a menu — richiamato da procedure ordini/consegne


Scopo

Genera la stampa della packing list (distinta di evasione) per ordini e consegne. E' la versione specializzata per Artic Seals, che gestisce la stampa con layout personalizzato e supporto per modelli Word (WORDMDL). Rispetto al programma base COGP86, include funzionalita' aggiuntive per la gestione delle merci disponibili, il codice merce cliente e il canale di spedizione.


Interfaccia

Il programma viene richiamato tramite CALL con i parametri definiti nella linkage section. Riceve la chiave del documento (ordine/consegna) da stampare.


File e Tabelle

File/Tabella Uso
COGTESOR Testata ordini clienti
COGCONOR Consegne ordini (chiave primaria e k02)
COGMERCI Anagrafica merci
COGSLMAG Giacenze magazzino
COGMERCL Codici merce cliente
COGRACMC Componenti/distinta base (k02)
COGDESOR Descrizioni aggiuntive righe ordine
COGRORA2 Codici lavorazione
COGTABEL Tabelle generiche (causali)
COGDBASE Dati base
COGPRENO Prenotazioni (k02)
COGRIGBP Righe BDP - buoni prelievo (k04)
COGTESBP Testata BDP
COGISIRR Controlli ISIR (k04)
COGLGMER Ubicazioni/locazioni merce
COGDESTI Destinazioni diverse
COGANAGR Anagrafica clienti

Programmi chiamati

Programma Scopo
COGS54 Gestore form di stampa (dialog stampante)
COGU23 Utility merci/giacenze
RNEWCONF Lettura configurazioni

Copybook principali

  • cogp86ht.wrk, cogp86ht.select, cogp86ht.fd — Definizioni generate da Screens

Logica di Elaborazione

Modalita' di ricerca

Tipo Valore p86-tiposta Descrizione
Consegne multiple '1' Cerca tutte le consegne di un ordine (fino a 200)
Singola consegna altro Stampa una specifica consegna tramite parametri diretti

Flusso principale

  1. Inizializzazione: apertura file, lettura azienda, caricamento configurazioni
  2. Ricerca consegne: popola la tabella tab-righe (max 200 consegne)
  3. Lettura ordine: legge la testata ordine da COGTESOR
  4. Dialog stampa: chiama COGS54 per la configurazione stampante (F3 = procedi, ESC = annulla)
  5. Ciclo consegne (st-10): per ogni consegna nella tabella:
  6. Verifica flag "RIMANENZA" (merci residue)
  7. Controlla BDP collegati (b-cerca-bdp)
  8. Legge le righe ordine da COGCONOR
  9. Per ogni riga (a20-loop):
  10. Valida la merce (salta cor-merce = LOW-VALUES)
  11. Se Modula DB Frontiera attivo: legge mer-rec del componente (da dba-merce-f); i componenti mer-modula = "S" vengono stampati con marcatore " (M)" accodato al codice/descrizione (vedi 2026-05-15)
  12. Calcola disponibilita': msal-qta - msal-qta-prenotata
  13. Cerca componenti (COGRACMC) per articoli assemblati
  14. Recupera descrizioni aggiuntive (COGDESOR)
  15. Cerca ubicazioni (COGLGMER, fino a 3 locazioni)
  16. Intestazione (intesta): causale, data/ora, ordine, barcode, layout righe
  17. Stampa: output formattato su 133 colonne, 12 righe per pagina

Informazioni stampate

Il dettaglio della packing list include:

Tag Descrizione
Codice merce Codice interno e avanzato
Codice merce cliente (MCL-CMC) Codice utilizzato dal cliente per identificare l'articolo
Descrizione merce Descrizione articolo
Quantita' richiesta / evadibile Quantita' della consegna e quantita' disponibile
Giacenza Giacenza fisica al netto della prenotata
Ubicazione (locazione) Posizione fisica della merce
Unita' di misura UM dell'articolo
Canale di spedizione Canale di spedizione configurato per il documento
Riferimento ordine Riferimento ordine cliente originale
Commessa Commessa collegata alla riga

Stampa tramite modello Word

Il programma supporta la generazione tramite WORDMDL (modello Word configurabile tramite la configurazione ordcli - stampa-packing-wordmdl). Il modello riceve tag con i dati dell'ordine, della consegna e del dettaglio righe.


Regole di business

Componenti Modula evidenziati nella packing (TASK-2969, aggiornamento 2026-05-15)

Originariamente (TASK-2969 build 2026/0005) i componenti con mer-modula = "S" venivano esclusi dalla packing list quando la configurazione sistmga001 - modula-db-frontiera valeva "S". Con la modifica del 2026-05-15 e' stato deciso che i componenti vanno comunque stampati ma marcati: per ogni riga con mer-modula = "S" il codice/descrizione componente (r9-desc) viene composto come "{rcm-cod-ava} (M)" (e analogamente quando si compone con i codici merce cliente / mcl-cmc). In questo modo l'operatore vede sulla packing list anche i componenti gestiti da Modula, contraddistinti dal suffisso (M).

Il blocco di lettura mer-rec da cogmerci rimane condizionato a tm-cfg-modula-db-frontiera = "S": se la configurazione non e' attiva il flag mer-modula non viene popolato e la marcatura (M) non viene applicata.

Controllo BDP (Buoni di Prelievo)

Per ogni consegna il programma verifica i BDP collegati:

  1. Legge le righe BDP da COGRIGBP per la chiave del documento
  2. Esclude i BDP chiusi (tbp-fl-cls = "C")
  3. Verifica se il BDP e' sotto controllo ISIR (COGISIRR)
  4. I BDP in controllo ISIR non vengono conteggiati nelle quantita'

Articoli assemblati

Se la merce ha componenti in COGRACMC, il dettaglio stampa anche i codici componente e il codice EAN.


Configurazioni

Gruppo Parametro Note
ordcli stampa-packing-wordmdl Modello Word per la stampa
COGM85:M88 CAUSALE-PACKING-CONTO-ANTICIPI Causale per packing conto anticipi
ricegenera uso-cma Flag uso CMA (carica merci automatico)
sistmga001 modula-db-frontiera Se attivo, esclude merci Modula dalla packing list (TASK-2969)

Storico Modifiche Rilevanti

Build Descrizione
2025/0105 Aggiunto nel dettaglio il codice merce cliente (MCL-CMC)
2025/0123 Aggiunta stampa del canale di spedizione
2026/0005 TASK-2969: modifiche per procedura Modula DB Frontiera
2026/0515 TASK-2969 estensione: i componenti mer-modula = "S" non vengono piu' esclusi dalla packing list; vengono stampati con suffisso " (M)" sul codice/descrizione (applicato anche quando si concatena con mcl-cmc). Il blocco if mer-modula = "S" exit paragraph e' stato commentato; la lettura cogmerci di mer-rec viene mantenuta condizionata a tm-cfg-modula-db-frontiera = "S"

Documentazione tecnica generata automaticamente — 2026-03-20