Vai al contenuto

COGO3A - Consultazione prenotazioni

Scopo

Consultazione filtrata delle prenotazioni aperte (righe ordine fornitore prenotate a fronte di buoni di prelievo cliente). Il programma estrae le prenotazioni di tipo "F" da COGPRENO, ricostruisce per ciascuna il legame ordine fornitore / buono di prelievo cliente / ordine cliente e ne presenta i dati (cliente, fornitore, articolo, quantita', prezzi, date consegna) in una griglia con filtri persistenti, ordinamento, menu contestuale ed export Excel. E' invocabile in modalita' standalone o come chiamato (COGO3A-CALLED) con filtri precompilati.

Ordini > Clienti > Visualizzazioni > Prenotazioni

File e tabelle

File Tipo Descrizione
FEURTAB Parametri File parametri di ambiente/azienda
COGPRENO Indicizzato Prenotazioni; chiave .k03 (prn-tip, prn-stato), campi prn-chiave-oggetto, prn-bdp, prn-fl-canc
CLNPRENO Indicizzato Clone di COGPRENO usato per risalire dal BDP alle prenotazioni cliente (cln-bdp, cln-tip, cln-chiave-oggetto); chiave secondaria cln-chia2 (start manuale st-clnpreno-notmin-chia2)
COGTESOR Indicizzato Testate ordini (fornitore e cliente); chiave tor-chia; campi tor-clifor, tor-chiu-manuale, tor-datdecor
COGRIGOR Indicizzato Righe ordine; chiave ror-chia1; campi ror-qtaord, ror-qtacons, ror-prez, sconti, ror-currency
COGCONOR Indicizzato Consegne/righe ordine; chiave secondaria .k05 (cor-o-testa, cor-merce, cor-o-rig-pro); campo cor-data (data consegna)
COGTESBP Indicizzato Testate buoni di prelievo cliente; chiave tbp-chia1; campi tbp-cli, tbp-num, tbp-mag/aa/mm/gg
COGRIGBP Indicizzato Righe buono di prelievo; rbp-testa+rbp-prog; campi rbp-merce, rbp-qta
COGDESOR Indicizzato Descrizioni aggiuntive riga ordine (dor-tip = "O", dor-ordine, dor-ord-merce, dor-ord-rig-pro)
COGGEANA Indicizzato Anagrafica clienti/fornitori; ana-tipo+ana-cod; nomi cliente/fornitore
COGMERCI Indicizzato Anagrafica articoli; mer-chia; controllo articolo codificato
T-GRID-DET Indicizzato (temporaneo) File di transito della griglia; record t-gor-r-rec

Copybook

File e select

  • feurtab.fd, cogfiles.cpy
  • cogo3a.select, cogo3a.fd, cogo3a.wrk, cogo3a.imppredf-wrk, cogo3a.tm, cogo3a-01.scr, cogo3a.decla, cogo3a.prc, cogo3a.imppredf (file di screen designer)

Working-storage standard

  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy

Utilita'

  • wgrid.cpy, utilgdad.cpy (gestione griglia GRIDADMN)
  • k-u10.cpy, k-personal.cpy (costanti)
  • utils52.cpy, utils65.cpy, utils68.cpy, utilu10.cpy, utilu20.cpy (controlli campi: date, cliente/fornitore, articolo, importi)
  • utilgesstr.cpy (composizione note testuali via GESSTR)
  • utilcogma3.cpy (navigazione documenti COGMA3)
  • utilimppredf.cpy (salvataggio/caricamento impostazioni predefinite)
  • utilncnf.cpy (configurazioni RNEWCONF)

Linkage

  • wcont.cpy, wcont1.cpy
  • utilcogo3a.cpy (parametri di chiamata quando invocato con COGO3A-CALLED)

Procedure

  • grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, getdcont.cpy
  • Chiavi secondarie: cogpreno.k03, cogconor.k05

CALL

Programma Descrizione
RNEWCONF Lettura configurazione assist > tipo-colore-righe-vis-chiamate (pack coge)
COGS65W Ricerca/aiuto codice cliente e fornitore (campi filtro)
COGU10W Gestione valuta/importi (conversione cambio, arrotondamento prezzi e importi)
GESSTR Composizione note testuali dalle descrizioni aggiuntive riga ordine
COGMA3 Navigazione sul documento ordine fornitore (S-F2 su riga griglia)
GRIDADMN Gestione griglia (amministrazione S-F4, export Excel S-F5)
W$MENU Menu contestuale popup su right-click nella griglia

Logica di elaborazione

  1. apri (main): init programma, lettura configurazione colori (x99-confi), open-files, definizione tasti funzione, costruzione menu contestuale (build-main-popup-grid-det), caricamento bitmap/pulsanti custom (Ctrl-S salva, Ctrl-F cerca, S-F2 navigazione documento). Se invocato come chiamato (cogo3a-called = "COGO3A-CALLED") memorizza i parametri di input (w-dati-called).
  2. a4: inizializza tab-maschera (tipo cliente "C", tipo fornitore "F", stato "A"); se chiamato, precompila cliente, fornitore, periodo e articolo dai parametri. Imposta ordinamento predefinito per codice cliente e carica l'eventuale filtro di default (z-imppredf-carica-default).
  3. Accept filtri (a-tm-cli, a-tm-forn, a-tm-data-da, a-tm-data-a, a-tm-articolo, a-tm-stato): con relativi x-controlla-…. F7 conferma i filtri (a-controlla-filtri).
  4. a-leggi-dati: apre/ricrea il file di transito T-GRID-DET e costruisce i dati (z-grid-det-crea-transito).
  5. z-grid-ricerca-dati: cuore dell'estrazione. Scorre COGPRENO per tipo "F" e stato filtro; per ogni prenotazione non cancellata legge l'ordine fornitore (COGTESOR), aggiorna a "C" le prenotazioni di ordini chiusi manualmente (TASK-536), applica i filtri fornitore/periodo (data consegna da COGCONOR.k05), risale al buono di prelievo cliente (COGTESBP/COGRIGBP) applicando i filtri cliente/articolo, calcola prezzo netto (sconti, cambio valuta e arrotondamento via COGU10W) e importo. Compone le descrizioni aggiuntive (s2-src-dor-1 + GESSTR). Infine risale, tramite il clone CLNPRENO sul BDP, all'ordine cliente e alla relativa data consegna. Ogni record completato viene scritto nel transito (z-grid-det-inserisci-t-rec).
  6. a-grid: gestione griglia: S-F4/S-F5 (amministrazione/export), S-F2 (COGMA3 navigazione documento ordine fornitore), F9 (report standard z-wordmdl-report), menu contestuale (eccezioni 151-199), filtro contestuale F7.
  7. z-chiudi: chiude e cancella il file di transito, distrugge il menu contestuale, esce.

Note tecniche

  • Il legame prenotazione → BDP cliente → ordine cliente viene ricostruito tramite un clone di COGPRENO (CLNPRENO), interrogato per BDP e tipo "C". Lo start sulla chiave secondaria cln-chia2 e' scritto manualmente nel sorgente (st-clnpreno-notmin-chia2).
  • Il filtro stato accetta "T" (tutte): in tal caso prn-stato viene impostato ad "A" per lo start ma il break-key sullo stato viene disattivato.
  • Le prenotazioni di ordini chiusi manualmente (tor-chiu-manuale = "S") vengono aggiornate a stato "C" durante la scansione (sanatoria pregresso, TASK-536).
  • Il prezzo puo' essere convertito di valuta se ror-currency differisce dalla divisa di conto (w-currency-conto, ottenuta da get-divisa-conto); sconti riga (ror-sconto-1/2) e arrotondamenti sono applicati via COGU10W.
  • Impostazioni predefinite (filtri) persistite tramite utilimppredf (Ctrl-S salva, Ctrl-F carica); il pulsante "Salva" appare quando i filtri differiscono da quelli caricati (tm-interfaccia <> tm-interfaccia-copia).
  • Costanti pulsanti custom: k-ctrl-salva (1), k-ctrl-find (2), k-sf2-filiera (3). Menu contestuale: eccezioni k-pmg-primo (151) … k-pmg-ultimo (199).
  • Configurazione letta: assist > tipo-colore-righe-vis-chiamate (colore righe griglia).
  • k-max-ele-tab = 900.
  • Quando invocato come chiamato (w-dc-called = "S"), all'uscita dalla griglia torna direttamente al chiamante anziche' alla pagina filtri.