Vai al contenuto

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

  1. 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)
  2. Accept parametri (a4a-tm-clia-tm-data-inia-tm-data-finea-tm-doc-mag):
  3. Fornitore (tm-cli): con aiuto COGS65 (F8)
  4. Data inizio (tm-data-ini): con calendario COGS52W (F8)
  5. Data fine (tm-data-fine): con calendario COGS52W (F8)
  6. Codice magazzino (tm-doc-mag): con aiuto WIN036 (F8)
  7. Conferma (a-fine-intestazione): validazione globale, dialog di conferma (acc-conf)
  8. 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"
  9. Griglia (a30a-grida-accept-grid):
  10. Invio: toggle tm-flag(i) "SI"/spaces, aggiornamento riga griglia tramite GRIDADMN
  11. SF4: amministrazione griglia (GRIDADMN)
  12. F3: avvia riapertura (a-apro-bolle)
  13. 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
  14. 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