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), aggiornandobsmv-bsdt-id/bsmv-bsdt-progsuCOGBSMOV.
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 (chiavek07subsdt-id, righe pre-selezionate); - se e' indicata l'azienda esecutrice usa la chiave
k06(grp-az-cod+data), altrimenti la chiavek02(data), scorrendo fino a superaretm-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-selezioneconfronta merce e chiamata cliente con il benestare) impostatm-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 suCOGBSMOVscrive, per le righe selezionate,bsmv-bsdt-id/bsmv-bsdt-progdel 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) eCOGBSDET(righe di dettaglio). L'aggregazione consiste nel valorizzare su ogni movimentobsmv-bsdt-id(id testata benestare) ebsmv-bsdt-prog(progressivo riga dettaglio). Il campostato-aggrdel filtro distingue movimenti Aggregati/Da aggregare/Tutti in base absmv-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 dacogv8c-operazioneew-dc-called. - Alias BOGBSMOV su COGBSMOV: il programma apre due volte lo stesso archivio movimenti; l'alias
BOGBSMOV(COPYcogbsmov.k03con replacingbsmv-->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 COPYcogtrans.k03con replacingtrs-->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/.tme dalla screencogv8c-01.scrincbl/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); COGRACMCk02; COGMERCLk04. Sono incluse manualmente a fine procedure division.