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¶
- Inizializzazione: apertura file, lettura azienda, caricamento configurazioni
- Ricerca consegne: popola la tabella
tab-righe(max 200 consegne) - Lettura ordine: legge la testata ordine da COGTESOR
- Dialog stampa: chiama COGS54 per la configurazione stampante (F3 = procedi, ESC = annulla)
- Ciclo consegne (
st-10): per ogni consegna nella tabella: - Verifica flag "RIMANENZA" (merci residue)
- Controlla BDP collegati (
b-cerca-bdp) - Legge le righe ordine da COGCONOR
- Per ogni riga (
a20-loop): - Valida la merce (salta
cor-merce = LOW-VALUES) - Se Modula DB Frontiera attivo: legge
mer-recdel componente (dadba-merce-f); i componentimer-modula = "S"vengono stampati con marcatore" (M)"accodato al codice/descrizione (vedi 2026-05-15) - Calcola disponibilita':
msal-qta - msal-qta-prenotata - Cerca componenti (COGRACMC) per articoli assemblati
- Recupera descrizioni aggiuntive (COGDESOR)
- Cerca ubicazioni (COGLGMER, fino a 3 locazioni)
- Intestazione (
intesta): causale, data/ora, ordine, barcode, layout righe - 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:
- Legge le righe BDP da COGRIGBP per la chiave del documento
- Esclude i BDP chiusi (
tbp-fl-cls = "C") - Verifica se il BDP e' sotto controllo ISIR (COGISIRR)
- 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