COGP14 - Composizione Distinta Base¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGP14 |
| Titolo | Composizione Distinta Base |
| Posizione menu | Magazzino -> Produzione -> Distinta Base -> Stampe -> Composizione |
Scopo e logica generale¶
COGP14 e' un programma di stampa della composizione delle distinte base. Supporta due modalita' di selezione: singola distinta (ricerca manuale, con possibilita' di selezione multipla tramite COGU05) o per gruppo (intervallo da merce a merce). L'elaborazione puo' essere semplice (un solo livello) o con esplosione ricorsiva dei semilavorati. E' possibile valorizzare i componenti tramite listino o costo.
Utilizza un file di transito (COGTRANS) come appoggio temporaneo e il modulo COGS64 per la configurazione, COGU16W per la selezione multipla delle merci.
Il programma ha due varianti di larghezza di stampa: 80 caratteri (senza esplosione) e 172 caratteri (con esplosione semilavorati).
Flusso principale¶
- Inizializzazione (
a000): controllo abilitazione, init programma, apertura file transito, lettura azienda, data di sistema, divisa conto, configurazione tasti funzione, preparazione maschera - Impostazione parametri (
a4->a05): caricamento configurazione RNEWCONF, impostazione valori predefiniti per personalizzazione (az-personal), costruzione controlli - Accept parametri:
a-tm-sel: tipo ricerca (S=singola, G=gruppo) - con F5 selezione multipla via COGU05a-tm-qta: quantita' di calcolo - via COGU20a-tm-ord-mer: ordinamento merci (solo per gruppo)a-tm-da-merce/a-tm-a-merce: intervallo merce (solo per gruppo) - via COGS68Wa-tm-list: valorizzazione (listino/costo)a-tm-jmp: salto paginaa-tm-ord: ordine componentia-tm-ncoll: stampa note collegatea-tm-esplodo: esplosione semilavoratia-tm-st-doc-tec: stampa documento tecnicoa-tm-not-rig: stampa note di rigaa-tm-classe: classe merce- Conferma (
a-richiesta-conferma->a90): scelta stampante/formato via COGS54 - Elaborazione (
ela-00): b1-singolo: stampa una singola distintab2-gruppo: scansione intervallo merci per stampa a gruppo- Chiusura (
z-chiudi): cancellazione transito, cancel moduli COGU16W/COGS50/COGL61, exit program
Personalizzazioni per az-personal¶
k-personal-bb-elettronica: ordine default "C", no esplosione, note di riga "S", classe "M"- Altri: ordine default "I", no esplosione, note di riga "N", classe "T", listino attivo
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGTRANS | trs-rec | I-O | File di transito temporaneo per elaborazione |
| COGMERCI | mer-rec | Input | Anagrafica merci - validazione e dati articolo |
| COGDISBA | (via COGS64/COGL61) | Input | Distinte base |
| COGCONOR | (via COGL61) | Input | Consegne ordini |
Il programma utilizza COGL61 (subroutine esplosione distinta) e COGS64 (gestione configurazione distinta) che accedono internamente a tutti i file della distinta base.
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogp14-01.scr |
Maschera principale |
cogp14.select |
SELECT dei file |
cogp14.fd |
FD dei file |
cogp14.wrk |
Working storage maschera |
cogp14.decla |
Declaratives |
Working storage¶
| Copybook | Contenuto |
|---|---|
wstato.cpy |
Working stato |
wgrave.cpy |
Gestione errori gravi |
wopenf.cpy |
Gestione apertura file |
wnscr.cpy |
Gestione schermo |
cogazien.cpy |
Dati azienda |
k-u10.cpy |
Costanti COGU10 |
wrk-u10.cpy |
Working COGU10 |
k-personal.cpy |
Costanti personalizzazione |
utilu05.cpy |
Interfaccia COGU05 (selezione multipla distinta) |
UTILU10.CPY |
Interfaccia COGU10 |
utilu12.cpy |
Interfaccia COGU12 |
UTILU16.CPY |
Interfaccia COGU16W (selezione multipla merci) |
UTILU20.CPY |
Interfaccia COGU20 (quantita') |
utils50.cpy |
Interfaccia COGS50 |
utils54.cpy |
Interfaccia COGS54 (stampante) |
utils25.cpy |
Interfaccia date |
utils64.cpy |
Interfaccia COGS64 (configurazione distinta) |
utils68.cpy |
Interfaccia COGS68W (selezione merce) |
utils60w2.cpy |
Interfaccia COGS60W2 |
utilcogl61.cpy |
Interfaccia COGL61 (esplosione distinta) |
utils52.cpy |
Interfaccia COGS52 (calendario) |
utilncnf.cpy |
Struttura parametri RNEWCONF |
tabmperc.cpy |
Tabella merci percentuale |
utilgesstr.cpy |
Utility gestione stringhe |
distrans.cpy |
Struttura record COGTRANS |
Linkage¶
| Copybook | Contenuto |
|---|---|
wcont.cpy |
Dati operatore |
utils01.cpy |
Interfaccia COGS01 (Eurocold) |
util021.cpy |
Interfaccia modulo 021 |
utilp14.cpy |
Interfaccia chiamante |
utils16a.cpy |
Interfaccia COGS16 alternativa |
wcont1.cpy |
Dati azienda linkage |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGU05 | Selezione multipla distinte (F5 su modalita' singola) |
| COGU16W | Selezione merci per intervallo |
| COGS52W | Calendario |
| COGS54 | Selezione stampante e formato |
| COGS64 | Configurazione e gestione parametri distinta base |
| COGS68W | Selezione merce da/a |
| COGL61 | Subroutine esplosione distinta base |
| COGS50 | Utility stampa |
| COGS01 | Gestione Eurocold (personalizzazione AO) |
| RNEWCONF | Lettura configurazione |
| GRIDADMN | Amministrazione griglia |
Configurazione (RNEWCONF)¶
| Variabile | Uso |
|---|---|
tm-cfg-ord |
Ordinamento default componenti |
tm-cfg-desag |
Flag stampa descrizione aggiuntiva |
tm-cfg-loc |
Flag stampa localizzazione |
tm-cfg-files |
Stato apertura file configurazione |
tm-cfg-tipval |
Tipo valorizzazione default |
tm-cfg-tip-agg |
Tipo aggiornamento |
Logica di business¶
Modalita' singola vs. gruppo¶
- Singola (
tm-sel = "S"): l'utente seleziona manualmente un articolo. Con F5 e' possibile aprire COGU05 per una selezione interattiva della distinta. - Gruppo (
tm-sel = "G"): il programma scansiona l'intervallo merci datm-da-merceatm-a-merceed elabora tutte le distinte trovate nel range.
Esplosione semilavorati¶
Quando tm-esplodo = "S", il programma chiama COGL61 ricorsivamente per espandere i semilavorati presenti nei livelli inferiori. La stampa usa la larghezza estesa (172 caratteri) con indicazione del livello di appartenenza (Liv.1, Liv.2, ...).
Valorizzazione¶
Il tipo valorizzazione (tm-list) determina il listino o il costo da usare per il calcolo del prezzo unitario e del costo totale della distinta. Se non valorizzato, vengono stampati solo le quantita'.
Identificatori cursori di navigazione¶
I cursori k-cur-id-1 ("SDB1") fino a k-cur-id-2-no-loc ("SDB4") identificano i diversi stati di navigazione nella griglia/stampa per la gestione del focus.