Vai al contenuto

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

  1. Inizializzazione (a000): controllo abilitazione, init programma, apertura file transito, lettura azienda, data di sistema, divisa conto, configurazione tasti funzione, preparazione maschera
  2. Impostazione parametri (a4 -> a05): caricamento configurazione RNEWCONF, impostazione valori predefiniti per personalizzazione (az-personal), costruzione controlli
  3. Accept parametri:
  4. a-tm-sel: tipo ricerca (S=singola, G=gruppo) - con F5 selezione multipla via COGU05
  5. a-tm-qta: quantita' di calcolo - via COGU20
  6. a-tm-ord-mer: ordinamento merci (solo per gruppo)
  7. a-tm-da-merce / a-tm-a-merce: intervallo merce (solo per gruppo) - via COGS68W
  8. a-tm-list: valorizzazione (listino/costo)
  9. a-tm-jmp: salto pagina
  10. a-tm-ord: ordine componenti
  11. a-tm-ncoll: stampa note collegate
  12. a-tm-esplodo: esplosione semilavorati
  13. a-tm-st-doc-tec: stampa documento tecnico
  14. a-tm-not-rig: stampa note di riga
  15. a-tm-classe: classe merce
  16. Conferma (a-richiesta-conferma -> a90): scelta stampante/formato via COGS54
  17. Elaborazione (ela-00):
  18. b1-singolo: stampa una singola distinta
  19. b2-gruppo: scansione intervallo merci per stampa a gruppo
  20. 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 da tm-da-merce a tm-a-merce ed 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.