Vai al contenuto

COGFA8 - Ricalcolo paese "Made in" degli articoli

Panoramica

Programma GUI a griglia (con modalita' batch alternativa) che ricalcola il paese di produzione "Made in" degli articoli di magazzino. Per ciascun articolo determina il paese Made in: per le distinte base (padre "P") in modalita' ricalcolo lo calcola invocando COGUAB (che analizza componenti, valori, percentuali e margini), mentre per gli articoli semplici o in modalita' "consultazione" lo legge da COGMERA3 (ma3-made-in). La griglia mostra, articolo per articolo, il Made in attuale, quello precedente ed eventuali dati di calcolo (percentuali/valori materia prima e Italia, margine). In modalita' batch (richiamato da altro programma) esegue il ricalcolo su tutti gli articoli e genera/invia via email due report: gli articoli con Made in variato (a GAPI) e quelli con Made in mancante/provvisorio (agli operatori interni).

Posizione nel menu

Menu Percorso
Vendite Documentazioni > Ricalcolo paese 'Made in'

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema (nomi file)
COGMERCI Input Anagrafica merci: scandita per individuare gli articoli da elaborare (classe, padre, tariffa)
COGMERA3 I-O Merci dati aggiuntivi: paese "Made in" attuale, precedente (ma3-made-in-prec) e provvisorio (ma3-made-in-provv); aggiornata dopo la notifica variazione
COGMOMAG Input Movimenti magazzino: ultima entrata dell'articolo (chiave k04), per report mancanti
COGTESBO Input Testate documenti: documento di ultima entrata (fornitore)
COGGEANA Input Anagrafica generale (nome fornitore)
COGMERFO Input Merci-fornitore: codice merce fornitore per il report mancanti
COGTABEL Input Nazioni (tipo 54) per descrizione/sigla ISO paese
t-grid-det (T-GRID-DET) I-O File di transito indicizzato della griglia (istanza COGTRANS k04)
fvariazioni Output Report line sequential (TSV) degli articoli con Made in variato
fmancanti Output Report line sequential (TSV) degli articoli con Made in mancante/provvisorio

Copybook principali

Copybook Descrizione
feurtab.fd / cogfiles.cpy SELECT/FD e record della tabella di sistema
cogfa8.select / cogfa8.fd SELECT e File Description (generati da Screens)
cogfa8.wrk / cogfa8.decla / cogfa8.prc Working storage, declaratives e procedure di I/O generati da Screens
cogfa8.tm Campi modificabili della maschera (filtri) generati da Screens
cogfa8-01.scr Screen section (griglia e area filtri)
cogfa8.imppredf-wrk / cogfa8.imppredf Filtri predefiniti memorizzati (Ctrl-S / Ctrl-F)
utilcogfa8.cpy Area di linkage util-cogfa8 (cogfa8-called, cogfa8-caller, cogfa8-ope)
costanti-stampaggio.cpy Costanti dominio stampaggio/produzione
utilcoguab.cpy Area per COGUAB (calcolo Made in da distinta base)
utilcrms06.cpy / utilcrms09.cpy Aree per CRMS06/CRMS09 (scheda CRM: esistenza, esportazione a GAPI)
utilpost.cpy / utilmymail.cpy Aree per POSTA/MyMail (invio email report)
l-copiaf.cpy / u-copiaf.cpy Aree per COPIAF (copia allegato su client)
acucobol.def Definizioni AcuCOBOL (es. os-is-unix)
k-tipi-cogtabel.cpy Costanti tipo COGTABEL (k-euta-tipo-nazioni = 54)
wgrid.cpy / utilgdad.cpy Gestione griglia e GRIDADMN
utile04 / utils52 / utils65 / utils68 / utils93 / utilu06 / utilu10 / utilu20 Aree per subroutine di help/selezione
utilncnf.cpy / cogazien.cpy Configurazioni (RNEWCONF) e dati azienda
grave / stato / stato1 / winmsg / mmmask / opengen / msgmerce Errori, stato verbi, messaggi, maschera, apertura file, estrazione dati merce
cogmomag.k04 Chiave secondaria COGMOMAG aggiunta manualmente (ricerca ultima entrata)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
GRIDADMN Preparazione/personalizzazione (Shift-F4) della griglia
COGUAB Calcolo del paese "Made in" per le distinte base (componenti, percentuali/valori materia prima e Italia, margine)
CRMS09 Ricerca della scheda CRM dell'articolo ("CERCA-SCHEDA")
CRMS06 Lettura informazione scheda CRM: articolo esportato a GAPI
POSTA / (MyMail) Invio email dei report variazioni (a contatti "RMI" del cliente GAPI) e mancanti (agli operatori gruppo "RMI")
COPIAF Copia dell'allegato dal server al client prima dell'invio
RNEWCONF Configurazione ARC-OTT / PATH-APRI-FILE (percorso locale)
W$MENU Menu pop-up contestuale della griglia

Logica di elaborazione

1. Inizializzazione (apri)

Nome programma, ctr-abil, apertura file. Determina la modalita': se cogfa8-called = "COGFA8-CALLED" imposta w-dc-batch = "S" e forza l'operazione a RICALCOLA; altrimenti gira in modalita' interattiva (w-dc-batch = "N"). In modalita' interattiva abilita i tasti funzione (F3, F7 log, F8 aiuto/calendario, F9, Shift-F4, Shift-F5), crea menu pop-up, pulsanti custom (Salva/Cerca impostazione), imposta il titolo "Ricalcolo paese 'Made in'" e prepara la griglia (GRIDADMN). In modalita' batch salta tutta la parte GUI.

2. Instradamento (a4)

Inizializza tipo elaborazione "R" (ricalcolo). In modalita' batch: apre il transito, crea il transito ricalcolando tutti gli articoli (z-grid-det-crea-transito), genera le notifiche (z-crea-notifiche) e va a fine. In modalita' interattiva: carica il filtro predefinito e presenta i filtri.

3. Impostazione filtri (interattivo: a-tm-*)

Campi filtro: tipo elaborazione (tm-tip-ela: R ricalcolo / C consultazione) e articolo (a-tm-mer, COGS68). Conferma via a-richiesta-conferma.

4. Costruzione file di transito e ricalcolo (z-grid-det-crea-transito)

  • Se e' indicato un singolo articolo, elabora solo quello;
  • altrimenti z-scorri-cogmerci scandisce COGMERCI mostrando un contatore di avanzamento a video.

z-grid-det-riempi-t-rec scarta gli articoli cancellati (mer-val = "C"). z-grid-det-riempi-campi-t-gor determina il Made in: - per gli articoli non distinta base (mer-padre <> "P") o in modalita' consultazione: legge ma3-made-in da COGMERA3; - per le distinte base in ricalcolo: chiama COGUAB (con log gesdebug) e ottiene paese Made in, tipo prodotto, paese/percentuale/valore materia prima, PMV, percentuale/valore Italia, margine.

Poi risolve descrizioni e sigle ISO dei paesi (attuale, precedente) via COGTABEL tipo 54 e riporta il Made in provvisorio.

5. Gestione griglia (interattivo: a-grid)

Ciclo di accept: uscita, Shift-F4 (GRIDADMN), Shift-F5 (export Excel), F7 (consulta il log della procedura di ricalcolo della riga, gesdebug-consulta-sub), voci pop-up. Griglia di sola consultazione.

6. Creazione notifiche (batch: z-crea-notifiche)

Prepara i due file TSV (fvariazioni, fmancanti) con intestazioni, poi scorre il transito (z-notifiche-esamina-riga): - Mancante/provvisorio: se il Made in e' vuoto o provvisorio, scrive una riga in fmancanti (z-scrivi-notifica-mancante), limitatamente ai gruppi merce "PA"/"PF"/"PS", recuperando l'ultima entrata (COGMOMAG k04), il fornitore (COGTESBO/COGGEANA) e il codice merce fornitore (COGMERFO); - Variato: se il Made in attuale differisce dal precedente ed e' valorizzato, e l'articolo risulta gia' esportato a GAPI (verifica CRMS09/CRMS06), scrive una riga in fvariazioni (z-scrivi-notifica-variazione) se e' presente il codice merce cliente; quindi aggiorna COGMERA3 azzerando il provvisorio e allineando ma3-made-in-prec al valore attuale.

z-notifiche-finalizza chiude i file e, se popolati, invia i report via email: le variazioni ai contatti "RMI" del cliente GAPI, i mancanti agli operatori del gruppo "RMI"; l'allegato viene prima copiato sul client con COPIAF.

7. Chiusura (fine / z-chiudi)

Annulla COGUAB e CRMS09, chiude gesdebug, chiude e cancella il file di transito, distrugge il menu, chiude la finestra ed esce.

Note tecniche

  • Doppia modalita' (interattiva / batch): da menu apre la griglia per consultare/ricalcolare interattivamente; richiamato con cogfa8-called = "COGFA8-CALLED" gira in batch (nessuna GUI), ricalcola tutti gli articoli e invia i report email. La modalita' e' pilotata da w-dc-batch.
  • Titolo di menu vs commento sorgente: l'intestazione del sorgente riporta "Consultazione dettaglio DOP" (copiato da COGFA2), ma la funzione reale e' il ricalcolo del paese "Made in" come da etichetta di menu e da titolo maschera "Ricalcolo paese 'Made in'".
  • Calcolo Made in: per le distinte base (padre "P") in ricalcolo il paese e' calcolato da COGUAB; per gli altri casi e' letto da COGMERA3. Il tipo elaborazione tm-tip-ela = "C" forza la sola lettura senza ricalcolo.
  • Notifiche e GAPI: la notifica di variazione parte solo per articoli gia' esportati a GAPI (CRMS09 -> CRMS06 info "esportato-a-gapi") e con codice merce cliente valorizzato; dopo la notifica COGMERA3 viene allineato (ma3-made-in-prec = attuale, provvisorio azzerato). I mancanti sono limitati ai gruppi merce PA/PF/PS ed escludono l'articolo generico "999999999".
  • Report TSV: i file madein_variazioni.txt e madein_mancanti.txt sono scritti a colonne separate da tab (x'09'), con terminatore x'0D' su Unix; vengono copiati sul client (COPIAF) e allegati alle email (POSTA/MyMail).
  • COGTABEL tipo 54 (nazioni) per descrizioni/sigle ISO dei paesi; chiave secondaria cogmomag.k04 aggiunta manualmente per la ricerca dell'ultima entrata.
  • Programma generato da Screens: struttura, griglia e I/O da cogfa8.select/.fd/.wrk/.decla/.prc e screen cogfa8-01.scr; i file report fvariazioni/fmancanti sono dichiarati manualmente nel sorgente.