Vai al contenuto

COGVA0 - Bolle Accompagnatorie (Ins. rapido da ordine)

Sorgente: cbl/cogva0.cbl | Program-ID: COGVA0 | Tipo: Programma interattivo (standalone, GUI con griglia)

Menu: Magazzino > Uscite > Bolle Accompagnatorie > Ins. rapido da ordine


Scopo

Fatturazione/inserimento rapido di bolle accompagnatorie a partire dagli ordini clienti aperti. Dati magazzino, data documento e cliente, il programma legge tutti gli ordini non chiusi del cliente (COGTESOR) e le relative righe consegna aperte (COGCONOR con qta consegnata inferiore alla qta ordinata), le carica in un file di lavoro temporaneo (COGTRANS) e le presenta in una griglia navigabile con spaginamento. L'operatore seleziona le righe consegna omogenee (stessi pagamento, listino, RB, causale, raggruppamento e destinazione) e con F3 innesca la creazione della testata bolla (COGTESBO) e dei movimenti magazzino (COGMOMAG) di tipo "I", aggiornando giacenze e legami consegna/ordine. L'accesso e' riservato alla personalizzazione k-personal-torric-imp.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB Indexed Input Tabella nomi file
COGTRANS Indexed Output / I-O File di lavoro temporaneo (nome a runtime: #$trscogva0.{wo-oper}) con 4 chiavi; contiene le righe consegna estratte, la selezione e i riferimenti ordine
COGTABEL Indexed Input Tabella generica (tipo 23 cod. "SC" gruppo sconti incondizionati; tipo 67 aliquote IVA)
COGMERCI Indexed Input Anagrafica merci (codice IVA, um, confezione, contrassegno, gestione SN)
COGGEANA Indexed Input Anagrafica clienti/fornitori (cliente consegna e cliente fatturazione)
COGMAGAZ Indexed Input Anagrafica magazzini
COGTESBO Indexed I-O Testate bolle/documenti magazzino (scrittura testata "I")
COGMOMAG Indexed I-O Movimenti magazzino (scrittura righe bolla)
COGMOAGG Indexed I-O Movimenti aggiuntivi (prezzo ivato per clienti privati con configurazione Privato-Ivato)
COGTESOR Indexed Input Testate ordini clienti
COGRIGOR Indexed Input Righe ordine clienti (prezzo, sconti, qta ordinata/consegnata)
COGCONOR Indexed Input Righe consegna ordini
COGMERAP Indexed Input Merci per reparto (gestione reparti, tipo config odonto/gestione-reparti)
COGMATRI Indexed Input Anagrafica matricole/serial number
COGMTUSC Indexed Input Matricole in uscita (controllo aggancio SN alla bolla)
exp-grid Line sequential Output File di appoggio per export griglia in Excel

Copybook utilizzate

Copybook Descrizione
feurtab.fd SELECT tabella nomi file
cogfiles.cpy Record FEURTAB
cogva0.select / cogva0.fd SELECT/FD dei file gestiti (generati da Screens)
cogva0.wrk Working-storage generata da Screens
k-u10.cpy Costanti importi
k-personal.cpy Costanti personalizzazioni (k-personal-torric-imp, ecc.)
wgrave.cpy Gestione errori gravi
wnscr.cpy Dati schermo
wopenf.cpy Apertura file
wstato.cpy Stato I/O
cogazien.cpy Dati azienda
utilu10.cpy Utility importi COGU10
wgrid.cpy Gestione griglia
utilgdad.cpy Linkage GRIDADMN
utils25.cpy Utility numerazione COGS25
utils52.cpy Utility date COGS52
utils65.cpy Utility ricerca anagrafica COGS65W
utilu09.cpy Linkage COGU09 (legami consegna/ordine, chiusura documenti)
utilu12.cpy Linkage COGU12 (aggiornamento giacenze)
utilw36.cpy Linkage COGW36 (aiuto magazzino)
utildlg.cpy Linkage DIALOGS
utilncnf.cpy Linkage RNEWCONF (configurazioni)
wcont.cpy Linkage stringhe comuni
utill14.cpy Linkage COGL14 (matricole)
utilv52.cpy Linkage COGV52 (stampa bolla)
wcont1.cpy Linkage area utente 2
grave.cpy Paragrafi errori gravi
mmmask.cpy Paragrafi init/exit programma
opengen.cpy Apertura file
stato.cpy / stato1.cpy Controllo stato I/O
winmsg.cpy Messaggi a video
sendw36.cpy Paragrafi COGW36
cogva0.prc Paragrafi generati da Screens
dtab.cpy Utility tabelle
fscrol2.cpy Utility scrolling griglia
utilpggr.cpy Utility griglia paginata
cogtrans.k01 .. .k04 Accesso COGTRANS per le 4 chiavi
cogtesor.k03 Chiave secondaria COGTESOR
cogconor.k05 Chiave secondaria COGCONOR
cogmtusc.k03 Chiave secondaria COGMTUSC

Logica di elaborazione

  1. Inizializzazione (apri): lettura dati azienda, apertura file, verifica personalizzazione. Se az-personal non e' k-personal-torric-imp il programma segnala "Funzione Non Abilitata" e termina. Vengono attivati i tasti funzione (F1 configura, F3 conferma/aggiorna, F8 aiuto/calendario, Shift-F4 griglia, Shift-F5 export Excel, invio seleziona, F5 seleziona tutto).
  2. Configurazioni (x99-confi): tramite RNEWCONF vengono lette causale default inserimento uscita "I" (causali/causale-ins-uscita-i), protocollo ICE (progcogv51/euta-c041-ice e -ice-sn), Privato-Ivato (FATTURAZ/PRIVATO-IVATO) e gestione reparti (odonto/gestione-reparti). Da COGTABEL tipo 23 cod. "SC" viene ricavato il gruppo/sottogruppo degli sconti incondizionati.
  3. Input dati testata (a-tm-mag .. a-tm-ordinamento): magazzino (default az-main-mag, aiuto via COGW36), data documento (default data di sistema, validazione COGS52/calendario), cliente (COGS65W, con eventuale cliente fatturazione = padre anagrafico) e criterio di ordinamento della griglia ("M" merce, "N" numero ordine, "D" data, che selezionano rispettivamente le chiavi 2/3/4 di COGTRANS).
  4. Estrazione righe (carica-file): scorre gli ordini aperti del cliente (COGTESOR chiave 2, escludendo quelli chiusi tor-chiu = "C"); per ogni ordine legge le righe consegna (COGCONOR chiave 5) scartando merci nulle, righe chiuse (cor-fl-close = "C") o gia' interamente consegnate (cor-qtacons >= cor-qta). Ogni riga valida viene scritta in COGTRANS con le tre chiavi alternative composte (merce, ordine, data).
  5. Costruzione griglia (carica-tab / z-costruisci-grid): il file temporaneo viene spaginato in griglia tramite GRIDADMN, con supporto Page-Up/Page-Down. Se non ci sono record estratti viene mostrato "Nessun record estratto!".
  6. Selezione righe (a-grid, ramo invio): la selezione/deselezione di una riga marca trs-sel = "SELEZIONATO" in COGTRANS. La prima riga selezionata fissa le condizioni (pagamento, listino, RB, causale, raggruppamento, destinazione); righe con condizioni diverse non sono selezionabili. F5 seleziona/deseleziona tutte le righe.
  7. Controllo omogeneita' (x1-controllo): prima della creazione verifica che tutte le righe selezionate abbiano condizioni identiche, altrimenti blocca l'aggiornamento.
  8. Creazione documento (x3-crea-doc): con F3 e conferma vengono create le bolle di tipo "I". Alla prima riga selezionata viene creata la testata (x31-testata): numerazione da COGS25 (cod. 3 per tipo "I"), scrittura COGTESBO con dati derivati dall'ordine e dall'anagrafica (pagamento, RB, listino, causale con fallback su tm-cfg-cau-def-i, vettori, agenti, ecc.). Per ogni riga viene scritto il movimento COGMOMAG con qta residua, prezzo netto sconti (arrotondato via COGU10), valore, marcatura sconto incondizionato ("E"/"U"), colli, reparto se abilitato. Per clienti privati con Privato-Ivato attivo il prezzo viene scorporato dell'IVA (aliquota da COGTABEL tipo 67) e memorizzato il prezzo ivato in COGMOAGG.
  9. Aggiornamenti collegati: dopo la scrittura di ogni movimento vengono richiamati COGU12 (aggiornamento giacenza) e COGU09 (crea-legame per collegare movimento-riga consegna-ordine). A fine ciclo COGU09 (riapertura-o-chiusura) chiude eventualmente consegne/ordini evasi.
  10. Post-creazione (x3-99): dialogo DIALOGS con opzioni Continua, F3 gestione bolla (COGV56), F9 stampa bolla (COGV52) e, se az-ges-sn = "S", F6 gestione matricole (COGL14). In uscita, con gestione SN attiva, viene verificato l'aggancio completo dei serial number alla bolla (controlla-aggancio-matricole) con avviso se incompleto.

Chiamate a sottoprogrammi

Programma Scopo
RNEWCONF Lettura parametri di configurazione
GRIDADMN Gestione griglia (prepara, add/modify record, svuota, personalizzazione utente)
COGS25 Numerazione documenti (numero bolla)
COGS52 Gestione input data con validazione
COGS65W Ricerca/selezione anagrafica cliente
COGU10 / COGU10W Gestione e arrotondamento importi e valute
COGU12 Aggiornamento giacenze magazzino
COGU09 Creazione legami movimento/consegna/ordine e riapertura/chiusura documenti
COGW36 (send-w36) Aiuto/ricerca magazzino
DIALOGS Finestra di dialogo post-creazione bolla
COGL14 Gestione matricole/serial number
COGV56 Gestione bolla creata
COGV52 Stampa bolla