Vai al contenuto

COGFA2 - Consultazione dettaglio dichiarazioni di origine (DOP)

Panoramica

Programma GUI a griglia per la consultazione e la gestione di dettaglio delle dichiarazioni di origine preferenziale (DOP) delle merci per interlocutore (tipicamente fornitore). La griglia mostra, per la combinazione articolo/interlocutore/data, il flag di origine, il paese di origine, il flag PSP e la percentuale non preferenziale, permettendo di inserire, modificare e cancellare (logicamente) le righe. Ogni riga puo' avere associato un documento immagine PSP archiviato tramite ottica (COGU06). I dati sono persistiti nella tabella COGDOMER (dichiarazioni origine merce).

Il programma funziona in due modalita': - standalone (da menu): filtri liberi su tipo dichiarazione, periodo, interlocutore e articolo, con caricamento della griglia su F3; - richiamato (cogfa2-called = "COGFA2" con cogfa2-caller valorizzato, ad es. da COGFA3): riceve merce, interlocutore e periodo in util-cogfa2, li imposta come filtri e va direttamente alla griglia; all'uscita torna al chiamante.

Posizione nel menu

Menu Percorso
Vendite Documentazioni > Dichiarazioni di origine > Consultazione dettaglio

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema (nomi file)
COGDOMER I-O Dichiarazioni di origine merce (DOP): record per merce/interlocutore/data con flag origine, paese, PSP, percentuale NP
COGGEANA Input Anagrafica generale (nome interlocutore)
COGTABEL Input Tabella generica; usata per le nazioni (tipo 54) per risolvere descrizione paese origine
t-grid-det (T-GRID-DET) I-O File di transito indicizzato che alimenta la griglia (istanza di COGTRANS chiave k03)

Copybook principali

Copybook Descrizione
feurtab.fd / cogfiles.cpy SELECT/FD e record della tabella di sistema
cogfa2.select / cogfa2.fd SELECT e File Description (generati da Screens)
cogfa2.wrk / cogfa2.decla / cogfa2.prc Working storage, declaratives e procedure di I/O generati da Screens
cogfa2.tm Campi modificabili della maschera (filtri) generati da Screens
cogfa2-01.scr Screen section (griglia e-grid-det e area filtri)
cogfa2.imppredf-wrk / cogfa2.imppredf Gestione filtri predefiniti memorizzati (Ctrl-S salva, Ctrl-F carica)
utilcogfa2.cpy Area di linkage util-cogfa2 (parametri cogfa2-caller, cogfa2-called, cogfa2-merce, cogfa2-ana, cogfa2-da-data, cogfa2-a-data)
cogdomer.k02 / cogdomer.k03 Chiavi secondarie di COGDOMER (ricerca per interlocutore e per data)
k-tipi-cogtabel.cpy Costanti tipo COGTABEL (es. k-euta-tipo-nazioni = 54)
wgrid.cpy / utilgdad.cpy Gestione griglia e interfaccia GRIDADMN
utile04 / utils52 / utils65 / utils68 / utils93 / utilu06 / utilu10 / utilu20 Aree di comunicazione per subroutine di help/selezione (nazioni, date, anagrafiche, merci, ottica)
utilncnf.cpy Parametri per RNEWCONF (configurazioni)
cogazien.cpy Dati azienda
grave / stato / stato1 / winmsg / mmmask / opengen Gestione errori, stato verbi, messaggi, maschera, apertura file
cogtrans.k03 Copybook del file di transito, incluso con REPLACING per generare t-grid-det / t-gor-r-

Chiamate a sottoprogrammi (CALL)

Programma Scopo
GRIDADMN Preparazione e personalizzazione (Shift-F4) delle colonne della griglia
COGU06 Archiviazione ottica: cerca/inserisci/visualizza/elimina il documento immagine PSP (tipo doc "DP") associato alla riga
COGS65W Help/selezione interlocutore (tramite entry-point z-s65-tm-int)
COGE04 Help/selezione nazione sul campo paese origine in griglia (F8)
RNEWCONF Lettura configurazione ARC-OTT / PATH-APRI-FILE (percorso locale per file)
COGS68 (via entry-point z-s68) Help/selezione articolo (merce)
W$MENU Menu pop-up contestuale sul right-click della griglia

Logica di elaborazione

1. Inizializzazione (apri)

Imposta il nome programma, verifica l'abilitazione (ctr-abil), legge dati azienda, apre i file, legge la configurazione (x-configurazione) e attiva gesdebug. Abilita i tasti funzione previsti (F3 conferma/aggiorna, F8 aiuto/calendario, F9 ricerca avanzata, Shift-F4 griglia, Shift-F5 export Excel, Ctrl-A aggiungi, Ctrl-E elimina). Se richiamato (cogfa2-called = "COGFA2") valorizza w-dc-* con i parametri ricevuti. Costruisce il menu pop-up della griglia, carica le bitmap custom e crea i pulsanti custom della toolbar: Salva/Cerca impostazione (Ctrl-S/Ctrl-F) e i tre pulsanti di gestione immagine PSP (F6 cancella, F7 acquisisci, F4 visualizza). Imposta il titolo "Consultazione dichiarazioni di origine", prepara la griglia (z-prepara-tm-grid, GRIDADMN) e i controlli.

2. Impostazione filtri (a4 e paragrafi a-tm-*)

Inizializza la maschera con tipo dichiarazione "F" (fornitore), imposta l'ordinamento predefinito, carica l'eventuale filtro predefinito (z-imppredf-carica-default) e presenta i campi filtro: tipo dichiarazione, data partenza, data arrivo, interlocutore (a-tm-int, con COGS65W), articolo (a-tm-mer, con COGS68). Se richiamato salta la parte interattiva e va direttamente a a-leggi-dati. La conferma dei filtri passa per a-richiesta-conferma.

3. Costruzione file di transito (z-grid-det-crea-transito)

Sceglie la chiave di scansione di COGDOMER piu' appropriata in base ai filtri: - se e' impostata la merce -> z-scorri-cogdomer-chia1 (chiave merce, con eventuale filtro interlocutore); - altrimenti se e' impostato l'interlocutore -> z-scorri-cogdomer-chia2 (chiave interlocutore + periodo); - altrimenti -> z-scorri-cogdomer-chia3 (chiave data/periodo).

Per ogni record z-grid-det-riempi-t-rec applica tutti i filtri residui (merce, tipo, interlocutore, periodo) e scarta i cancellati logicamente (dom-fl-canc = "C"). z-grid-det-riempi-campi-t-gor valorizza la riga di transito con dati "precedenti" (per il confronto in aggiornamento) e "attuali": merce, interlocutore e sua descrizione (COGGEANA), data, flag origine, flag PSP, paese origine e sua descrizione (COGTABEL tipo 54), flag origine CP, percentuale NP, ed eventuale presenza documento PSP (COGU06 "Cerca-esistenza-doc").

4. Gestione griglia (a-grid)

Ciclo principale di accept sulla griglia che gestisce: uscita (ESC / F3 di ritorno al chiamante se richiamato), Shift-F4 (GRIDADMN), Shift-F5 (export Excel), operazioni immagine PSP (F7 acquisisci, F4 visualizza, F6 cancella, gestite via COGU06), Ctrl-A (aggiunge riga sul transito riproponendo i filtri correnti), Ctrl-E (cancella riga previa c1-controlli-cancellazione), e le voci del menu pop-up. La validazione delle celle in griglia (x-controlla-tm-r-*) risolve il paese origine (COGE04/COGTABEL) e riallinea la riga di transito.

5. Salvataggio (b-aggiorna)

Su F3, dopo i controlli b1-controlla-aggiornamenti, scorre il file di transito e confronta i dati attuali con i "precedenti" per decidere l'operazione su COGDOMER: - interlocutore attuale a zero ma precedente valorizzato -> cancellazione logica (b3-cancella, imposta dom-fl-canc = "C"); - chiave invariata e riga modificata -> aggiornamento (b1-aggiorna); - chiave cambiata -> cancella la vecchia e inserisci/aggiorna la nuova.

b1-aggiorna legge/crea il record COGDOMER (merce, tipo ana, cod ana, data) e riscrive flag origine, paese origine, flag PSP azzerando l'eventuale cancellazione.

6. Documenti immagine PSP

a-f7-acq-immagine (previo salvataggio), a-f4-vis-immagine e a-f6-canc-immagine chiamano COGU06 con tipo documento "DP" e chiave documento composta da merce + tipo ana + codice interlocutore + "0001". Dopo l'operazione ricercano la presenza allegato e aggiornano il flag fl-all-psp sulla riga di transito e in griglia.

7. Chiusura (fine / z-chiudi)

Annulla COGU06, chiude gesdebug (con consultazione se wo-oper = 777), chiude e cancella il file di transito, distrugge il menu della griglia, chiude la finestra ed esce.

Note tecniche

  • Tabella COGDOMER: e' la base dati delle dichiarazioni di origine (chiave merce/interlocutore/data). Ha chiavi secondarie k02 (interlocutore) e k03 (data), incluse manualmente a fine procedure division perche' Screens genera solo la chiave primaria. La cancellazione e' logica (dom-fl-canc = "C"), non fisica.
  • Aggiornamento differito con confronto attuale/precedente: come altri programmi a griglia, le modifiche non aggiornano subito COGDOMER; il salvataggio confronta ogni riga con i valori "precedenti" (t-gor-r-int-prec, t-gor-r-mp-cm, t-gor-r-data-prec) memorizzati al caricamento per decidere insert/update/delete, gestendo anche rinomine di chiave.
  • Doppia modalita' (standalone / richiamato): da menu usa filtri interattivi; richiamato da COGFA3 (F2 "Dettaglio DOP") riceve i parametri gia' filtrati in util-cogfa2 e torna al chiamante all'uscita.
  • COGTABEL tipo 54 (nazioni): il paese di origine (dom-paese-origine, codice ISO 3 char) viene descritto leggendo COGTABEL con euta-tipo = k-euta-tipo-nazioni (54); l'help sul campo usa COGE04.
  • Documenti ottici PSP: l'archiviazione delle immagini PSP e' condizionata dal flag azienda az-arc-ott = "S" e usa COGU06 con tipo doc "DP"; il percorso locale proviene dalla configurazione ARC-OTT / PATH-APRI-FILE.
  • Codice commentato (blocco richiamato con modalita' A/S): nel ramo F3 della griglia e' presente un ampio blocco commentato relativo a una gestione selezione/aggiornamento; nella versione attiva F3 esegue sempre b-aggiorna.
  • Programma generato da Screens: struttura, griglia e routine di I/O provengono dai file cogfa2.select/.fd/.wrk/.decla/.prc e dalla screen cogfa2-01.scr.