Vai al contenuto

COGV03 - Causali Bolle

Sorgente: cbl/cogv03.cbl | Program-ID: COGV03 | Tipo: Programma interattivo (standalone, gestione tabella con maschera Screens)

Menu: Magazzino > Archivi & Tabelle > Tabelle > Causali Bolle


Scopo

Manutenzione della tabella delle causali di bolla/movimento. Consente inserimento, variazione e cancellazione di una causale identificata da un codice numerico a due cifre. Ogni causale definisce il comportamento del movimento di magazzino: tipo (interno/esterno/utile), magazzino associato, natura anagrafica (cliente/fornitore), incidenza su fatturazione, giacenza, valorizzazione e prezzi medi, gestione conto visione, conto lavorazione, riparazione, sostituzione, movimentazione di commessa (segno, giacenza, costo, ricavo), magazzino secondario, tipo fatturazione attiva, benestare, causale collegata, codice host e abilitazione allo shop. I dati sono memorizzati come record della tabella generica COGTABEL (tipo causale bolla), tramite l'area euta-rec.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB Indexed Input Tabella dei nomi fisici dei file (risoluzione path)
COGTABEL Indexed I-O Tabella generica; qui usata per le causali di bolla (tipo k-euta-tipo-causale-bolla = 15) e i tipi fatturazione (tipo k-euta-tipo-fat = "FL")
COGMAGAZ Indexed Input Anagrafica magazzini (verifica codice magazzino e descrizione)

Copybook utilizzate

Copybook Descrizione
feurtab.fd SELECT tabella nomi file
cogv03.select SELECT dei file gestiti (include cogtabel.fd, cogmagaz.fd)
cogfiles.cpy FD tabella nomi file FEURTAB
cogv03.fd FD dei file gestiti (generato Screens)
cogv03.wrk Working-storage generato Screens (variabili maschera, x-enabled/x-visible, s-msg)
k-personal.cpy Costanti/flag di personalizzazione
k-tipi-cogtabel.cpy Costanti tipi record COGTABEL (k-euta-tipo-causale-bolla, k-euta-tipo-fat)
wgrave.cpy Gestione errori gravi
wnscr.cpy Dati schermo
wopenf.cpy Apertura file
wstato.cpy Stato I/O
cogazien.cpy Dati azienda (az-tessile, az-personal)
utilw36.cpy Linkage WIN036 (ricerca magazzini)
utilw01.cpy Linkage WIN001 (ricerca causali)
utily68.cpy Linkage COGY68 (aiuto tipi fatturazione)
utilncnf.cpy Linkage RNEWCONF (lettura configurazioni)
wcont.cpy Linkage stringhe comuni
wcont1.cpy Linkage area utente 2
cogv03-01.scr Screen section (maschera Screens)
cogv03.decla Declaratives (gestione errori I/O)
grave.cpy Paragrafi errori gravi
mmmask.cpy Paragrafi init/exit programma (z-99-init-program/z-99-exit-program)
opengen.cpy Apertura file e lettura FEURTAB
stato.cpy / stato1.cpy Controllo stato I/O
winmsg.cpy Messaggi a video
cogv03.prc Procedure generate Screens (accesso dati, helper s60/s95, READLNG); include cogtabel.k01 e cogmagaz.k01
sendw36.cpy Chiamata WIN036
sendw01.cpy Chiamata WIN001
cogtabel.k01 Accesso COGTABEL per chiave primaria (rd/wr/rwr/del)
cogmagaz.k01 Accesso COGMAGAZ per chiave primaria

Logica di elaborazione

  1. Inizializzazione (apri): imposta program-id, esegue z-99-init-program, controlla abilitazioni (ctr-abil), legge le configurazioni tramite x99-confi (RNEWCONF), legge i dati azienda (rd-azi) e apre i file. Definisce i tasti funzione disponibili (F1 configura, F3 conferma/aggiorna, F4 cancella, F8 aiuto, Shift-F1 copia-da). In base ad azienda (az-tessile = "S" o az-personal = "OM") abilita il campo "Conto lavorazione" (fl-cau-lav-enabled). Carica lingua e costruisce i controlli s60. La configurazione GRUPPO-AZIENDE viene letta in tm-cfg-gruppo-aziende.
  2. Nuova iterazione (a4): reset della maschera, inizializzazione tab-maschera, disattivazione tasti di aggiornamento, attivazione F3-conferma.
  3. Input codice (a-tm-codice): accept del codice causale. F8 apre la ricerca causali (WIN001 via send-w01), F1 riapre la configurazione, F3 conferma la chiave. Il codice non puo' essere zero.
  4. Determinazione modalita' (a-fine-chiave): legge COGTABEL con tipo causale bolla e codice inserito (rd-cogtabel-lk). Se il record esiste imposta variazione (fl-vario = "V") e carica i dati (carica-dati) abilitando la cancellazione; altrimenti inserimento (fl-vario = "I") con valori di default (carica-default).
  5. Input dati: sequenza di accept sui singoli campi (descrizione, tipo, magazzino, tipo fatturazione, cliente/fornitore, considera in fattura/giacenza/valorizzazione/solo-valorizzazione/prezzi medi, conto visione, riparazione, shop, sostituzione, magazzino secondario, conto lavorazione, segno/giacenza/costo/ricavo commessa, causale collegata, codice host, benestare). Ogni campo ha un paragrafo di controllo x-controlla-* che colora il controllo e imposta x-f3-ok-parziale. La navigazione avanti/indietro usa F2/F3 ed e' guidata dai flag x-enabled-*/x-visible-*; lo spostamento col mouse e' gestito da x-test-mouse.
  6. Abilitazioni dinamiche: in a-tm-con-gia il flag sostituzione (flag-ok-cau-sost) segue "Considero in giacenza"; se la giacenza e' "N" il campo sostituzione viene azzerato. z-cambia-tm-con-val/z-cambia-tm-solo-val abilitano valorizzazione e solo-valorizzazione solo con giacenza attiva; z-cambia-tm-cau-clav mostra/nasconde il conto lavorazione secondo fl-cau-lav-enabled.
  7. Controlli incrociati (x-controlla-dati): validazioni di coerenza, tra cui: cliente/fornitore vs prezzi medi (tm-con-pm), magazzino esistente in COGMAGAZ, tipo fatturazione esistente in COGTABEL (tipo "FL"), causale collegata esistente e di segno opposto, modifica costo commessa in {N,F,V}, coerenza magazzino secondario / segno commessa / giacenza commessa.
  8. Conferma e salvataggio (a-fine-dati): richiede conferma; travasa i campi maschera nel record euta-rec (mappatura dei flag S/N in "SI"/"NO", conversione tm-con-pm in "NO"/V/A/AM/U, ecc.), verifica le abilitazioni operatore (w-abi-ins/w-abi-agg) e scrive il record: wr-cogtabel in inserimento, rwr-cogtabel in variazione. Al termine esegue a-sincronizza-aziende-gruppo (effettua unlock all se la gestione gruppo aziende e' attiva) e torna a a4.
  9. Cancellazione (cancella): verifica abilitazione (w-abi-del), richiede conferma, rilegge il record in lock (rd-cogtabel-lk) ed esegue del-cogtabel.
  10. Chiusura (fine/z-chiudi): chiude i file, la finestra e il programma (z-99-exit-program).

Chiamate a sottoprogrammi

Programma Scopo
RNEWCONF Lettura configurazioni (contabil/tipi-doc-per-causale, ABILITA/GRUPPO-AZIENDE)
COGY68 Aiuto/selezione codice tipi fatturazione attiva
WIN001 Popup ricerca causali di bolla (via send-w01)
WIN036 Popup ricerca magazzini (via send-w36)
COGS60W Gestione controlli a scelta (helper s60, da cogv03.prc)
COGS95 Gestione controlli SI/NO (helper s95, da cogv03.prc)
READLNG Caricamento etichette/lingua della maschera (da cogv03.prc)