Vai al contenuto

COGA10 - Accertamento Bolle Trasporto

Scopo

Programma GUI per l'accertamento delle bolle di trasporto: raccoglie i movimenti di trasporto emessi da un vettore in un intervallo di date, li ricostruisce in un file temporaneo (COGTRANS) con i riferimenti agli ordini collegati, li presenta in una griglia interattiva e consente di aggiornare per ciascuna bolla il flag di accertato, il riferimento fattura, l'importo e la divisa. Le modifiche vengono ribaltate sia sul file temporaneo sia sul file permanente dei trasporti (COGTRASP). E' inoltre disponibile una stampa riepilogativa per vettore con totali di importo.

Magazzino > Controllo Prezzi > Accertamento Trasporti

File e tabelle

File Tipo Descrizione
FEURTAB Parametri File parametri di ambiente (cogfiles.cpy)
COGTRANS Indicizzato (temporaneo) File di transito dei movimenti selezionati, dichiarato manualmente nel sorgente. Chiave trs-chia1 = trs-vet-cod + trs-data + trs-doc. Creato per operatore in ext-tmp-dir (open output/open i-o, delete file in chiusura)
COGTRASP Indicizzato File permanente dei trasporti/bolle vettore (cogtrasp.k03, cogtrasp.k04). La selezione scandisce la chiave secondaria chia4 (fl-acc + doc + data); campi tra-vet, tra-data, tra-doc, tra-fl-acc, tra-imp, tra-currency, tra-rif-fat
COGTABEL Indicizzato Tabelle codificate; letta con tipo 47 (k-euta-tipo-vettori) per validare il vettore
COGGEANA Indicizzato Anagrafiche generiche; letta con ana-tipo fornitore per la descrizione vettore (ana-nome)
FLSTA Stampa File di stampa del report riepilogativo per vettore

Copybook

File e select

  • feurtab.fd, cogfiles.cpy
  • coga10.select, coga10.fd, coga10.wrk, coga10-01.scr, coga10.decla, coga10.prc (screen designer, in cbl/screens/)
  • flsta.fd, flsta.cpy
  • Chiavi: cogtrasp.k03, cogtrasp.k04, cogtrans.k01

Working-storage standard

  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy
  • k-u10.cpy

Utilita'

  • wgrid.cpy, utilgdad.cpy -- gestione griglia e amministrazione griglia
  • utils52.cpy (data/calendario), utils54.cpy (setup stampa), utils68.cpy
  • utilu10.cpy (editing importi/divise), utilu09.cpy (ricerca consegne/ordini), utilu22.cpy, utile18.cpy (aiuto vettore), utilw19.cpy
  • dtab.cpy, fscrol2.cpy, utilpggr.cpy (griglia paginata), GetDCont.cpy, sendu22.cpy

Linkage

  • wcont.cpy, utils15.cpy (con redefine util-v11 di user-area per passare v11-called/v11-doc ai gestori documento), wcont1.cpy

Procedure

  • grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy

CALL

Programma Descrizione
COGU09 Ricerca degli ordini collegati alla consegna (util-u09, operazione cerca-consegna) durante la costruzione del file temporaneo
COGU10 / COGU10W Editing e conversione di importi in divisa (operazioni Edita, Cambio); usato per griglia, dettaglio e stampa
COGE18 Aiuto/ricerca vettore (F8), con e18-in-cod/e18-out-cod
COGS54 Gestione parametri di stampa e chiusura stampa (util-s54)
GRIDADMN Amministrazione della griglia: prepara, svuota, aggiunge/modifica record, esportazione Excel (util-gdad)
COGV56 Gestione documento uscita (tipo doc I/D) tramite v11-called = "COGV56-CALLED"
COGV68 Gestione documento buoni (tipo doc B)
COGV15 Gestione documento carico (tipo doc C)
COGV11 Gestione documento prelievo non ordinato (tipo doc P)

Logica di elaborazione

  1. apri: inizializza program-id, controllo abilitazioni, apertura file, lettura azienda e divisa di conto (get-divisa-conto); imposta i tasti funzione previsti (SHIFT+F4 griglia, F3 conferma/gestione, F8 aiuto/calendario, F9 stampa, invio modifica, SHIFT+F5 export Excel); prepara maschera e griglia (z-costruisci-controlli, z-prepara-tm-grid).
  2. a4: azzera la griglia e la tab-maschera, imposta l'intervallo di default (1/gg-mm dell'anno di sistema), la divisa e il tipo T; costruisce il nome del file temporaneo (w-nome-trs) con ext-tmp-dir + program-id + operatore, quindi ricrea COGTRANS (open output, controllo stato per "funzione gia' in uso", open i-o).
  3. Accept dei filtri: paragrafi a-tm-tra-vet (vettore, con validazione x-controlla-tm-tra-vet su COGTABEL/COGGEANA e aiuto COGE18), a-tm-tip (tipo movimento via S60), a-tm-da-data/a-tm-a-data (date con calendario S52 e controlli obbligatorieta'/ordine).
  4. a-fine-dati: conferma con x-imposta-conferma (verifica tutti i campi) e acc-conf; su F3 lancia la selezione.
  5. a-ricerca: scandisce COGTRASP sulla chiave secondaria chia4 (st-cogtrasp-notmin-chia4 + rdnxt-cogtrasp), filtra per vettore/tipo/intervallo date; per ogni bolla valida cerca gli ordini collegati chiamando ripetutamente COGU09, converte l'importo nella divisa richiesta (COGU10 Cambio) e scrive il record su COGTRANS (wr-cogtrans).
  6. a-grid-ini / carica-tab: carica la griglia leggendo COGTRANS con spaginamento (rn-start-not-less, sn-read/sp-read, rd-controlli-fill, rd1-ft-go) nella tabella tm-tab; se nessuna bolla, avvisa e torna alla maschera.
  7. a-grid: ciclo interattivo sulla griglia paginata (z-99-accept-paged-grid); gestisce SHIFT+F4 (GRIDADMN), SHIFT+F5 (export), Pg-Up/Pg-Dwn (paginazione), F3 (a1-ges-doc -> apertura documento con COGV56/COGV68/COGV15/COGV11 in base a tm-d-tip), Invio (modifica riga), F9 (stampa).
  8. a-riga-dettaglio / accept a-tm-rif-fat, a-tm-imp, a-tm-fl-acc: editing riga (rif. fattura, importo via U10, stato accertato via S95); su conferma aggiorna-files riscrive COGTRANS (rwr-cogtrans) e COGTRASP (rd-cogtrasp-lk + rwr-cogtrasp, con unlock), quindi aggiorna la cella tramite GRIDADMN.
  9. stampa / s-10: stampa riepilogativa su FLSTA raggruppata per vettore con rotture pagina (testa-pagina, riga-pagina, totale, totale-gen, bool-new-pg1) e totali di importo per divisa.
  10. fine / z-chiudi: chiude i file, chiude e cancella COGTRANS, chiude la finestra ed esce.

Note tecniche

  • COGTRANS e' un file temporaneo per-operatore non gestibile da Screens: SELECT, FD e record (trs-rec) sono dichiarati manualmente nel sorgente; il nome include #$ + program-id + wo-oper in ext-tmp-dir.
  • La selezione dei movimenti avviene sulla chiave secondaria chia4 di COGTRASP; per usarla sono incluse manualmente cogtrasp.k03 e cogtrasp.k04.
  • Costanti significative: k-euta-tipo-vettori = 47 (tipo tabella vettori), k-max-ordini = 30 (occurs ordini per bolla), k-max-ele-tab = 100, k-chr-stampa = 130.
  • Le conversioni di divisa e la formattazione degli importi sono centralizzate su COGU10/COGU10W; il "!!" nella divisa segnala totali con divise miste non sommabili.
  • La griglia usa il modello a paginazione (utilpggr.cpy) con record di interscambio grid-record verso GRIDADMN.
  • L'apertura del documento di dettaglio passa v11-called/v11-doc tramite la ridefinizione util-v11 di user-area (linkage stringhe).