COGV44 - Riapertura Bolle Accertate
Intestazione
| Campo |
Valore |
| Programma |
COGV44 |
| Titolo |
Riapertura bolle gia' accertate |
| Posizione menu |
Contabilita' > Fatture Fornitori > Riap. Bolle Accertate (2 voci) |
Scopo e logica generale
COGV44 e' un programma interattivo che consente di riaprire bolle di un fornitore precedentemente accertate, riportandole allo stato non accertato (azzerando il flag tes-fl-acc). Presenta una maschera con parametri di ricerca (fornitore, periodo date, magazzino) e una griglia con le bolle trovate. L'operatore seleziona le bolle da riaprire e conferma con F3.
Opzionalmente, se abilitata la gestione causale magazzino (tm-cfg-ges-cau-mag = k-yes) e la gestione SN azienda (az-ges-sn = k-yes), alla riapertura viene invocata la subroutine call-u69-delete per la cancellazione dei movimenti SN associati (tramite COGU69).
Flusso principale
- Inizializzazione (
apri): controllo abilitazione, lettura azienda, apertura file, lettura configurazione RNEWCONF (x99-confi), configurazione tasti funzione, data di sistema, modalita' (selezione se chiamato, aggiornamento se standalone)
- Accept parametri (
a4 → a-tm-cli → a-tm-data-ini → a-tm-data-fine → a-tm-doc-mag):
- Fornitore (
tm-cli): con aiuto COGS65 (F8)
- Data inizio (
tm-data-ini): con calendario COGS52W (F8)
- Data fine (
tm-data-fine): con calendario COGS52W (F8)
- Codice magazzino (
tm-doc-mag): con aiuto WIN036 (F8)
- Conferma (
a-fine-intestazione): validazione globale, dialog di conferma (acc-conf)
- Ricerca (
a10-loop): scan su COGTESBO con chiave alternativa chia2 (per stesso mese) o chia4 (periodo multi-mese), filtro su magazzino, cliente, stato accertato ("A"), esclusione tipi "Q" e "S"
- Griglia (
a30 → a-grid → a-accept-grid):
- Invio: toggle
tm-flag(i) "SI"/spaces, aggiornamento riga griglia tramite GRIDADMN
- SF4: amministrazione griglia (GRIDADMN)
- F3: avvia riapertura (
a-apro-bolle)
- Riapertura (
a-apro-bolle / r010): per ogni bolla selezionata (flag "SI"), lettura di COGTESBO con rd-cogtesbo-lk, azzeramento di tes-fl-acc, scrittura con rwr-cogtesbo, eventuale call-u69-delete
- Chiusura (
fine): chiusura file, z-99-exit-program
File e tabelle acceduti
| File logico |
Record |
Modalita' |
Uso |
| COGTESBO |
tes-rec |
I-O |
Testate bolle - ricerca accertate e riapertura |
| COGGEANA |
ana-rec |
Input |
Anagrafica generale (verifica fornitore) |
| COGMAGAZ |
magz-rec |
Input |
Anagrafica magazzini |
| FEURTAB |
feurtab |
Input |
Tabella generica Eurosystem |
Chiavi COGTESBO usate
chia2: ordinamento per data + fornitore (stesso mese)
chia3: chiave primaria per lettura diretta (mag + anno + tipo + bolla)
chia4: ordinamento per tipo_cf + fornitore (periodo multi-mese)
Struttura COGTESBO rilevante
tes-fl-acc pic x(01) Flag accertamento: "A" = accertata, spaces = non accertata
tes-tipob pic x(01) Tipo bolla (esclude "Q" e "S")
tes-mag pic x(01) Magazzino
tes-nonno pic 9(05) Codice fornitore
tes-data pic 9(08) Data bolla (AAAAMMGG)
tes-bolla4 pic 9(06) Numero bolla
tes-tipob4 pic x(01) Tipo bolla (per chia4)
tes-anno4 pic 9(04) Anno (per chia4)
Copybook inclusi
Screen Designer
| Copybook |
Contenuto |
cogv44-01.scr |
Maschera principale (screen section) |
cogv44.select |
SELECT dei file |
cogv44.fd |
FD dei file |
cogv44.wrk |
Working storage maschera |
cogv44.decla |
Declaratives |
Strutture dati e utility
| Copybook |
Contenuto |
COGFILES.CPY |
FD feurtab |
wstato.cpy |
Working storage stato |
wgrave.cpy |
Gestione errori gravi |
wgrid.cpy |
Gestione griglie |
wopenf.cpy |
Apertura file |
wnscr.cpy |
Gestione schermo |
cogazien.cpy |
Dati azienda |
utilgdad.cpy |
Utility grid admin |
utils52.cpy |
Interfaccia COGS52W (calendario) |
utils65.cpy |
Interfaccia COGS65 (ricerca anagrafica) |
utilw36.cpy |
Interfaccia WIN036 (ricerca magazzino) |
utilncnf.cpy |
Struttura parametri RNEWCONF |
utilu69.cpy |
Interfaccia COGU69 (movimenti SN) |
cogpcauz.cpy |
Record causale magazzino (con replacing per r/w) |
k-pcau.cpy |
Costanti causali magazzino |
wcont.cpy / wcont1.cpy |
Linkage section |
Programmi chiamati (CALL)
| Programma |
Scopo |
| COGS52W |
Calendario per selezione date |
| COGS65 |
Ricerca e selezione anagrafica (fornitore) |
| WIN036 |
Selezione magazzino (F8 su tm-doc-mag) |
| GRIDADMN |
Amministrazione griglia (preparazione, add record, modify record, svuota) |
| RNEWCONF |
Lettura configurazione |
| COGU69 |
Cancellazione movimenti SN (condizionale, se ges-sn abilitata) |
Configurazione (RNEWCONF)
| Parametro |
Campo |
Utilizzo |
| Gestione causale magazzino |
tm-cfg-ges-cau-mag |
Se "S": alla riapertura invoca call-u69-delete per cancellare movimenti SN |
Logica di business
Ricerca bolle accertate
La ricerca utilizza due strategie distinte in base al periodo:
- Stesso mese (
tm-aa-ini = tm-aa-fine e tm-mm-ini = tm-mm-fine): posizionamento con st-cogtesbo-notmin-chia2 su data inizio, loop con rdnxt-cogtesbo, uscita quando tes-data > tm-data-fine
- Periodo multi-mese: posizionamento con
st-cogtesbo-notmin-chia4 su tipo "F" + fornitore, loop con rdnxt-cogtesbo, uscita quando tes-nonno <> tm-cli, filtro su range date
In entrambi i casi vengono escluse: bolle di tipo "Q" (qualsiasi) e "S" (speciale), bolle non accertate (tes-fl-acc <> "A"), bolle di magazzino diverso da tm-doc-mag.
Selezione nella griglia
Il flag tm-flag(i) (PIC X(02)) viene alternato tra "SI" e spaces ad ogni pressione di Invio sulla riga. Il campo grd-flag riflette il valore nella griglia grafica tramite GRIDADMN "Modify-Record".
Riapertura
Il paragrafo a-apro-bolle scorre tutta la tabella (da 1 a k-max-ele-tab = 900): per ogni elemento con tm-flag(i) = "SI", legge il record di COGTESBO con chiave tes-chia3 (mag + anno + tipo + bolla), imposta tes-fl-acc = spaces, riscrive con rwr-cogtesbo. Se la lettura fallisce, segnala la bolla non trovata e continua. Se configurata la gestione SN, esegue call-u69-delete prima di procedere alla prossima bolla.
Variabili di stato principali
| Variabile |
Descrizione |
tm-cli |
Codice fornitore selezionato |
tm-data-ini / tm-data-fine |
Range date documento |
tm-doc-mag |
Magazzino di riferimento |
tm-flag(i) |
Flag selezione riga griglia: "SI" = selezionata |
tm-pnt |
Numero di bolle trovate |
a-modalita |
"S" = selezione (chiamato), "A" = aggiornamento (standalone) |
tm-cfg-ges-cau-mag |
Da RNEWCONF: abilita gestione causale magazzino/SN |