Vai al contenuto

COGNA2 - Stampa Modelli Non Conformita'

Panoramica

COGNA2 stampa il modello documentale (reclamo / non conformita' / azione correttiva) di una richiesta di non conformita'. E' un programma con maschera GUI minimale (richiesta di un solo campo, l'ID richiesta/reclamo) e produzione del documento tramite modello Word (WORDMDL): a partire dall'ID richiesta legge la testata e il dettaglio della non conformita' e i dati collegati (controparte, documento di origine, scheda CRM), genera un file XML dei dati, lo fonde con il modello risolto da COGPA3 producendo un PDF, che viene poi archiviato nel dossier reclamo (ed eventualmente collegato al dossier ordine) tramite CRMS10. Puo' essere avviato interattivamente dal menu oppure richiamato da un altro programma tramite il copybook di linkage utilcogna2.cpy (con cogna2-called = "COGNA2-CALLED" e cogna2-id-richiesta), nel qual caso stampa direttamente l'ID ricevuto e termina.

Posizione nel menu

Menu Percorso
Vendite Non conformita' > Stampa modelli

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
COGNCTES Indexed Testata richiesta non conformita' / reclamo (chiave nct-id): dossier, controparte, documento collegato, causale, esito, importi
COGNCDET Indexed Dettaglio righe non conformita' (scansione per ncd-id)
COGGEANA Indexed Anagrafica controparte (cliente/fornitore) per ragione sociale e indirizzo
COGMERCI Indexed Anagrafica merci (descrizione, codici) per le righe di dettaglio
COGTESOR / COGRIGOR Indexed Testata/righe ordine collegato (tor/ror) per numero documento controparte e quantita' ordinata
COGTABEL / FEURTAB Indexed Tabelle generiche: causali (tipo 15) e altre codifiche
COGRACMC Indexed Raggruppamento merceologico avanzato (codice CMA), letto per chiave secondaria (cogracmc.k02)
TGLDISEG Indexed Associazione merce/disegno, letta per chiave terziaria (tgldiseg.k03)
CRM* (CRMDOSAT, CRMATTIV, CRMSKINF, CRMINFOR, CRMANANN, CRMANANF, CRMINFTR) Indexed Dossier/attivita'/scheda informazioni CRM del reclamo, per azioni intraprese e note
PRNTOPER Indexed Anagrafica operatori (descrizione operatore)

Copybook principali

Copybook Descrizione
cogna2.select/.fd/.wrk/.prc/.decla/cogna2-01.scr Definizioni generate da Screens
utilcogna2.cpy Area di linkage per l'invocazione da altro programma (called/caller/id-richiesta)
utilcogpa3.cpy Interfaccia a COGPA3 per la risoluzione del modello e delle tabelle (TAB-DET)
utilwordmdl.cpy Interfaccia a WORDMDL per generazione XML/esecuzione modello e salvataggio PDF
utilcrms10.cpy / utilcrms06.cpy Interfacce a CRMS10 (archiviazione/collegamento documenti a dossier) e CRMS06 (formattazione informazioni scheda)
utilcogna1.cpy Interfaccia a COGNA1 (ricerca avanzata reclamo, tasto F9)
costanti-assist.cpy / costanti-tipi-documento.cpy Costanti tipi informazione CRM e tipi documento
utilgesstr.cpy / utilopenfile.cpy / l-copiaf.cpy / u-copiaf.cpy Interfacce a GESSTR (trim), OPENFILE (apertura file), COPIAF (cancellazione file)
utilncnf.cpy Lettura configurazioni RNEWCONF
utilu10.cpy / utilu20.cpy Edit numerici (COGU10W / COGU20W)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
RNEWCONF Lettura configurazioni: tipo attivita' risposta e tipo scheda reclamo (gruppo nonconf), path apri file (gruppo ARC-OTT)
COGPA3 Risoluzione del modello Word "COGNA2" e delle tabelle di composizione (TAB-DET)
WORDMDL Apertura/scrittura/chiusura file XML, fusione con il modello ed esecuzione (produzione PDF)
CRMS10 Archiviazione del PDF prodotto nel dossier reclamo ("ALLEGA-DOC") ed eventuale collegamento al dossier ordine ("COLLEGA-DOC")
CRMS06 Formattazione dei valori delle informazioni scheda CRM di tipo check
COGNA1 Ricerca avanzata del reclamo (attivata con F9 sul campo ID)
COGU20W Edit dei valori numerici delle informazioni scheda
GESSTR Trim-left dell'ID reclamo per la descrizione documento
OPENFILE Apertura sincrona del documento archiviato
COPIAF Cancellazione del file temporaneo dopo l'archiviazione

Logica di elaborazione

  1. apri / main - Inizializzazione: ctr-abil, z-99-init-program, open-files, rd-azi, lettura configurazioni (x99-load-config). Rileva l'invocazione da altro programma (cogna2-called = "COGNA2-CALLED"): in tal caso imposta w-dc-called = "S", copia cogna2-id-richiesta in tm-id, verifica la testata (rd-cognctes) e salta a a-avanti.
  2. a4 - In modalita' interattiva prepara la maschera "Stampa modelli non conformita'" e i controlli.
  3. a-tm-id - Accept dell'ID richiesta/reclamo con controlli. Sono disponibili F1 (modifica configurazioni), F9 (ricerca avanzata via COGNA1 che restituisce cogna1-id-reclamo) e F8 (aiuto). x-controlla-tm-id verifica l'esistenza della testata su COGNCTES.
  4. a-fine-chiave / a-avanti - Valida la chiave ed esegue stampa; al termine, se richiamato esce, altrimenti torna a a4.
  5. stampa - Chiama COGS54 per la stampante/emulazione, poi COGPA3 per risolvere il modello Word "COGNA2" e gli indici delle tabelle (TAB-DET). Apre il file XML (WORDMDL "Apri-XML") in ext-mod-dir. Rilegge testata (COGNCTES) e anagrafica controparte (COGGEANA), poi emette una lunga serie di tag XML (via scrivi-tag): ID e date reclamo/NC/azione correttiva, tipo e chiave documento collegato, dati controparte, operatore inseritore (PRNTOPER), azioni intraprese (scansione CRMDOSAT/CRMATTIV filtrata sul tipo attivita' risposta configurato), esito, causale (COGTABEL tipo 15), importo addebitato, riferimento documento di rifacimento.
  6. Sezione scheda CRM (stampa-sk-inf / stampa-sk-inf-note) - Se configurato un tipo scheda reclamo, scandisce CRMSKINF e per ogni informazione emette il relativo tag; le note provengono da CRMANANN, gli altri valori da CRMANANF con formattazione per tipo (alfa, data, check via CRMS06, tabella via CRMINFTR, numero via COGU20W).
  7. b5-estrai-tab-det / b5-riga-standard - Estrae il dettaglio delle non conformita' da COGNCDET (loop su ncd-id); per ogni riga legge merce (COGMERCI), CMA (COGRACMC), disegno (TGLDISEG) e quantita' ordinata (COGRIGOR), ed emette la riga della tabella TAB-DET con colonne configurabili (RIGA, DIS, MI, MA, MD, QORD, QREC, QRIF, QRIP).
  8. Chiusura XML ed esecuzione modello - WORDMDL "Chiudi-XML" e poi "Esegui" con wordmdl-save-as che compone il nome del PDF (COGNA2_<data>_<ora>.pdf) nel path configurato; il PDF non viene stampato ma prodotto in background (wordmdl-fl-stampa = "N").
  9. Archiviazione - Determina il tipo documento per l'archiviazione (w-all-id = RC/NC/AC in base al contenuto della descrizione modello, altrimenti "GEN" con avviso). Chiama CRMS10 "ALLEGA-DOC" per archiviare il PDF nel dossier reclamo (nct-dossier-nc) e, se presente un documento collegato (nct-dd-num > 0), CRMS10 "COLLEGA-DOC" verso il dossier ordine (nct-dossier-doc). Infine apre il documento archiviato (OPENFILE) e cancella il file temporaneo (COPIAF "delete").
  10. fine / z-chiudi - Chiude i file, cancel di CRMS10, chiude la finestra ed esce.

Note tecniche

  • Configurazioni RNEWCONF (pacchetto "C", gruppo nonconf): tip-att-risposta (tipo attivita' considerata "risposta/mail" per la sezione azioni), tipo-scheda-reclamo (tipo scheda CRM da cui estrarre le informazioni); gruppo ARC-OTT: PATH-APRI-FILE (cartella lato client dove salvare il PDF).
  • Il documento e' prodotto sempre in formato PDF via modello Word (WORDMDL): non esiste ramo di stampa testuale.
  • L'ID del "tipo documento" per l'archiviazione (RC/NC/AC/GEN) e' dedotto euristicamente dal testo della descrizione modello (cogpa3-des-modello), cercando le stringhe "RECLAMO", "NON C", "AZIONE".
  • Il file XML intermedio viene generato in ext-mod-dir con nome per operatore (cogna2_<wo-oper>.txt).
  • Il programma usa numerose chiavi secondarie/terziarie incluse manualmente in coda (cogracmc.k02, tgldiseg.k03).
  • Discrepanza etichetta/funzione: nessuna. L'etichetta "Stampa modelli" corrisponde alla produzione e archiviazione del modello documentale della non conformita'/reclamo.