Vai al contenuto

COGV8C - Consultazione movimenti benestare

Panoramica

Programma GUI (griglia "MODO A" con pagina Filtri e pagina Risultati) per la consultazione dei movimenti di benestare (tabella COGBSMOV). Un benestare e' l'autorizzazione/approvazione al rilascio della merce concordata con il cliente: COGBSMOV raccoglie i singoli movimenti (merce, quantita', importo, provenienza) che possono poi essere aggregati in un documento di benestare (testata COGBSTES + dettaglio COGBSDET). Il programma estrae i movimenti in un file di transito (COGTRANS) filtrando per periodo, azienda esecutrice, cliente di fatturazione, merce, stato di aggregazione e presenza di benestare originale ricevuto, e li presenta in griglia con il totale importi e l'importo delle righe selezionate.

Oltre alla pura consultazione il programma opera in due modalita' aggiuntive a seconda del parametro cogv8c-operazione passato dal chiamante:

  • CONSULTA (o avvio da menu): sola visualizzazione, con inserimento/modifica/duplica/conguaglio di movimenti manuali (via COGV8D) e importazione automatica del dettaglio cliente (via COGPA9);
  • ASSOCIA: l'operatore seleziona i movimenti in griglia (Invio / F5 "seleziona tutto") e con F6 li associa alla riga di dettaglio del benestare passato in input (cogv8c-i-bsdt-chia1), aggiornando bsmv-bsdt-id/bsmv-bsdt-prog su COGBSMOV.

Posizione nel menu

Menu Percorso
Vendite Benestare > Consultazione movimenti benestare

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema (nomi file)
COGBSMOV I-O Movimenti benestare: tabella principale estratta e (in ASSOCIA) aggiornata sul riferimento al dettaglio
BOGBSMOV Input Vista aliasata di COGBSMOV (chiave k03 su mag-chiap-origine), usata per il controllo "benestare originale ricevuto"
COGBSTES Input Benestare testata (lettura per id-ufficiale, doc-cli-rif, stato)
COGBSDET Input Benestare dettaglio (caricamento tabella riassuntiva delle righe del benestare in input)
COGGEANA Input Anagrafica generale (nomi cliente/azienda)
COGANAP2 Input Anagrafica parametri 2 (flag fl-benestare del cliente di fatturazione)
GRPAZIEN / COGAZGRP Input Gruppi aziende / associazione azienda-cliente
ASNCHTES / ASNTPATT / ASNINTES Input Chiamata assistenza, tipo attivita', intervento (dati di provenienza del movimento)
COGTESBO Input Testate documenti di magazzino (risoluzione documento originale)
COGMERCI / COGMERCL / COGRACMC / COGRIFER Input Merceologia, descrizioni, raggruppamenti CMC
COGBRAND Input Brand/marchio (se configurato)
CRMANAGR Input Anagrafica CRM
COGPA9-T-DATI Input File temporaneo dati restituito da COGPA9 (importazione dettaglio cliente)
T-GRID-DET (COGTRANS) I-O File di transito indicizzato che alimenta la griglia (alias t-gor-r- su cogtrans)
EXP-GRID Output File di appoggio per l'esportazione Excel della griglia

Copybook principali

Copybook Descrizione
feurtab.fd / cogfiles.cpy SELECT/FD e record della tabella di sistema
cogv8c.select / cogv8c.fd SELECT e File Description (generati da Screens; includono COGBSMOV/BOGBSMOV, COGTRANS aliasato, EXP-GRID)
cogv8c.wrk / cogv8c.decla / cogv8c.prc Working storage, declaratives e procedure di I/O generati da Screens
cogv8c.tm Campi modificabili della maschera (filtri) generati da Screens
cogv8c-01.scr Screen section (tab-control Filtri/Risultati e griglia grid-det)
cogv8c.imppredf / cogv8c.imppredf-wrk Gestione impostazioni predefinite (filtri memorizzati CTRL-S / CTRL-F)
utilcogv8c.cpy Area di linkage util-cogv8c (parametri chiamante: operazione, benestare/cliente/merce di input, date, flag fatturato/orig-ricevuto/stato-aggr)
cogbsmov.cpy / cogbstes.cpy / cogbsdet.cpy Record dei tre archivi benestare (movimenti, testata, dettaglio)
utilcogpa9.cpy Interfaccia con COGPA9 (importazione dati esterni cliente)
utilcogv8d.cpy Interfaccia con COGV8D (gestione movimento manuale)
utilcogma3.cpy Interfaccia con COGMA3 (navigazione filiera documento)
utils52/utils65/utils68/utils60/utils95 (utilsNN) Gestori di campo generati da Screens (data, cliente, merce, combo stato, combo si/no)
utilu10.cpy / utilu20.cpy Editing importi/divisa e gestione merce
utilgrp002.cpy Aiuto/selezione gruppo aziende (GRP002)
utilncnf.cpy Lettura configurazioni RNEWCONF
utilgdad.cpy / wgrid.cpy Interfaccia GRIDADMN e gestione griglia
utildlg.cpy / utilgesdebug.cpy Dialoghi (DIALOGS) e log di debug/segnalazioni
cogazien.cpy / wgrave/wnscr/wopenf/wstato Dati azienda, errori, video, apertura file, stato I/O
grave/stato/stato1/winmsg/getdcont/gesdebug Errori gravi, stato verbi, messaggi, divisa conto, log
mmmask.cpy / opengen.cpy Gestione maschera e apertura file generica

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGV8D Inserimento / modifica / duplica (COPIA) / conguaglio di un movimento benestare manuale
COGPA9 Acquisizione del dettaglio benestare del cliente da file esterno (modello k-ie-modello-i-bsmov-quadratura) per l'abbinamento automatico dei movimenti
COGMA3 Navigazione filiera del documento origine del movimento (classe "B")
GRP002 Aiuto/selezione azienda esecutrice (gruppo aziende)
CRMS06 Lettura informazione CRM edificio della chiamata assistenza (se configurato)
DIALOGS Dialogo di scelta quando l'estrazione ASSOCIA e' vuota (ESC / F1 movimento manuale)
GRIDADMN Personalizzazione layout griglia (Shift-F4)
COGU10W / COGS65W Editing importi/divisa e gestione campo cliente (routine di supporto Screens)
RNEWCONF Lettura configurazioni applicative

Logica di elaborazione

1. Inizializzazione (apri)

Imposta nome programma, verifica abilitazione (ctr-abil), legge le configurazioni (x99-confi), apre i file e legge i dati azienda. Costruisce il menu contestuale della griglia e i pulsanti custom della tool-bar: Salva/Cerca impostazione (CTRL-S/CTRL-F), Associa movimenti (F6), Inserimento movimento (F1), Conguaglio (F7), Importa (F4), Navigazione documenti (S-F2). Se il programma e' stato richiamato (cogv8c-called = "COGV8C") copia tutti i parametri di input in w-dati-called e imposta w-dc-called = "S"; se cogv8c-i-stato-aggr e' vuoto lo forza a "T" (tutti). Prepara la griglia e la tabella merce.

2. Pagina Filtri (a4 / a-pag-filtri e accept a-tm-*)

Inizializza i filtri con default (data da = anno-1, data a = oggi, stato aggregazione "T", benestare originale ricevuto "N") e carica l'eventuale filtro predefinito memorizzato. Se richiamato, precarica i filtri dai parametri di input (cliente, date, azienda, orig-ricevuto, stato-aggr, merce) e, se coerenti, salta direttamente ai risultati. La pagina Filtri raccoglie in sequenza: Cliente di fatturazione, Azienda esecutrice (se gestione-gruppo-aziende), Data da/a, Stato aggregazione (T/A/D), Benestare originale ricevuto, Merce. In modalita' ASSOCIA i filtri sono per lo piu' preimpostati e saltati. F1 apre la modifica delle configurazioni, F7 filtra, F8 richiama calendario/aiuto/GRP002.

3. Estrazione movimenti e creazione transito (a-leggi-dati -> z-grid-det-crea-transito -> z-grid-ricerca-dati)

Azzera gli importi, apre e ricrea il file di transito. La ricerca dei movimenti su COGBSMOV avviene per chiave in base ai filtri:

  • se e' presente un benestare di input (w-cogv8c-i-bsdt-id), carica prima la tabella riassuntiva del benestare (m-carica-tab-bsdet) e, in ASSOCIA, inserisce nel transito tutti i movimenti gia' collegati a quel benestare (chiave k07 su bsdt-id, righe pre-selezionate);
  • se e' indicata l'azienda esecutrice usa la chiave k06 (grp-az-cod + data), altrimenti la chiave k02 (data), scorrendo fino a superare tm-data-a.

Per ogni movimento applica i filtri (z-grid-filtri): cliente di fatturazione, azienda, merce, intervallo date, stato aggregazione (A = solo non aggregati, D = solo aggregati), coerenza con il benestare di input, e in ASSOCIA con fatturato valorizzato scarta i movimenti non ancora aggregati. Se il filtro "benestare originale ricevuto" e' attivo e il cliente prevede la gestione benestare (aap2-fl-benestare = "S"), esegue a11-orig-ricev: risale al movimento di magazzino origine tramite BOGBSMOV (chiave k03 su mag-chiap-origine) e alla relativa testata COGTESBO, e conferma solo se trova il riferimento al benestare del cliente (bsts-doc-cli-rif).

I movimenti che superano i filtri sono inseriti nel transito da inser-t-gor / b11-cerco-dati, che arricchisce la riga con: cliente e denominazione, azienda e descrizione, provenienza, documento origine (mag/anno/tipo/numero), merce e descrizioni CMA/CMC/CMF, quantita', prezzo, importo, dati chiamata assistenza (chiamata cliente, tipo attivita', garanzia, id edificio CRM), brand, id benestare/dettaglio/ufficiale. Contestualmente accumula tm-impo-totale e tm-impo-sel.

4. Pagina Risultati e gestione griglia (a-pag-risultati / a-grid)

Mostra la griglia con i movimenti e, in status-bar, il totale importi e l'importo selezionato (calcola-importi, edit divisa via COGU10W). Il ciclo a-grid gestisce:

  • doppio click / Invio su cella: emula Invio;
  • Shift-F4: personalizzazione griglia (GRIDADMN); Shift-F5: esportazione Excel; F9: report standard (word model);
  • S-F2: navigazione filiera documento origine (COGMA3, classe "B");
  • F1: inserimento movimento manuale (COGV8D operazione INSERISCI, poi ricarica);
  • F3 su riga con provenienza "C" (movimento manuale): modifica movimento (COGV8D MODIFICA) e riallinea la riga in griglia; S-F1: duplica (COPIA); F7: conguaglio (CONGUAGLIO);
  • F4: importazione e abbinamento del dettaglio cliente (c-importa-dettaglio);
  • menu pop-up della griglia (exception 151-199).

In modalita' ASSOCIA (e con fatturato non valorizzato):

  • Invio su una riga la seleziona/deseleziona: se selezionabile (x-controlli-selezione confronta merce e chiamata cliente con il benestare) imposta tm-r-sel = "S" e memorizza la riga dettaglio da abbinare;
  • F5 seleziona/deseleziona tutte le righe abbinabili;
  • F6 (previa conferma) esegue x6-associa-mov: scorre il transito e su COGBSMOV scrive, per le righe selezionate, bsmv-bsdt-id/bsmv-bsdt-prog del benestare di input (o azzera il riferimento per le righe deselezionate), poi esce.

5. Importazione dettaglio cliente (c-importa-dettaglio)

Chiama COGPA9 con il modello di quadratura per acquisire da file esterno il dettaglio del benestare inviato dal cliente. Legge il file temporaneo restituito (cogpa9-t-dati), analizza ogni "cella" (x-analisi-t-pa9-d-dato) accumulando i dati per record e, a rottura di record, esegue l'abbinamento automatico dei movimenti (contando movimenti letti/abbinati). Le anomalie sono registrate nel log gesdebug; a fine importazione segnala se non sono stati fatti abbinamenti o se ci sono segnalazioni.

6. Chiusura (fine / z-chiudi)

Chiude i file, chiude e cancella il transito, distrugge il menu della griglia, chiude la finestra, esegue z-99-exit-program ed esce con exit program.

Note tecniche

  • Modello dati benestare a tre livelli: COGBSMOV (movimenti, questo programma), COGBSTES (testata benestare) e COGBSDET (righe di dettaglio). L'aggregazione consiste nel valorizzare su ogni movimento bsmv-bsdt-id (id testata benestare) e bsmv-bsdt-prog (progressivo riga dettaglio). Il campo stato-aggr del filtro distingue movimenti Aggregati/Da aggregare/Tutti in base a bsmv-bsdt-id = 0.
  • Doppia funzione CONSULTA/ASSOCIA: lo stesso programma serve da consultazione standalone (menu) e da schermata di associazione richiamata da altri programmi del flusso benestare (es. COGV8G passa operazione = "CONSULTA"). Il comportamento (filtri saltati, F6 abilitato, pre-selezione righe) e' pilotato da cogv8c-operazione e w-dc-called.
  • Alias BOGBSMOV su COGBSMOV: il programma apre due volte lo stesso archivio movimenti; l'alias BOGBSMOV (COPY cogbsmov.k03 con replacing bsmv- -> bbmv-) serve per navigare la catena del "benestare originale ricevuto" senza perdere la posizione della scansione principale.
  • File di transito COGTRANS aliasato: la griglia e' alimentata da un file indicizzato temporaneo (t-grid-det), ottenuto dalla COPY cogtrans.k03 con replacing trs- -> t-gor-r-. Il transito viene ricreato ad ogni estrazione e cancellato in chiusura.
  • Configurazioni RNEWCONF lette (x99-confi, pacchetto COGE): gestione-gruppo-aziende (gruppo "assist"), gestione-brand-marchio (gruppo "azienda"), info-crm-edificio (gruppo "ass-chiam", numero informazione CRM edificio).
  • Programma generato da Screens (versione 2.13.1): SELECT/FD, griglia, procedure e gestione filtri predefiniti provengono dai file cogv8c.select/.fd/.wrk/.decla/.prc/.tm e dalla screen cogv8c-01.scr in cbl/screens/. La griglia e' amministrata da GRIDADMN (Shift-F4).
  • Chiavi secondarie usate: COGBSMOV k02 (data), k03 (mag-chiap-origine, via alias), k06 (grp-az + data), k07 (bsdt-id); COGRACMC k02; COGMERCL k04. Sono incluse manualmente a fine procedure division.