Vai al contenuto

COGM102 - Caricamento Dati Commesse da Merlino

Sorgente: cbl/cogm102.cbl | Tipo: Programma batch interattivo | Program-ID: COGM102

Menu:

  • Vendite > Commesse > Importazioni & Esportazioni > Caricamento Dati

Scopo

Importazione delle commesse, sottocommesse e tipologie di commessa dal programma esterno Merlino (Eurosystem2000). Legge tre file sequenziali configurati tramite RNEWCONF e aggiorna le tabelle COGTESCM (testate commesse), COGSOTCM (sottocommesse) e COGTABEL (tipologie).

Riservato alle aziende con az-commesse = "M" (modulo commesse Merlino).


Interfaccia utente

Maschera (tab-maschera)

Campo Tipo Descrizione
tm-pac X(01) Tipo elaborazione (non utilizzato attivamente)
tm-rec-rd 9(08) Contatore record letti
tm-rec-da-canc 9(08) Contatore record da cancellare (non utilizzato)
tm-rec-wr 9(08) Contatore record scritti/aggiornati

Tasti funzione

Tasto Funzione
F3 Conferma e avvia elaborazione
ESC Esce

File e tabelle

File/Tabella Copybook Uso
FEURTAB cogfiles.cpy Tabella parametri generali
COGTESCM cogm102.fd Testate commesse (tabella aggiornata)
COGSOTCM cogm102.fd Sottocommesse (tabella aggiornata)
COGTABEL cogm102.fd Tabelle generiche, tipo "A1" per tipologie commessa
INPFIL -- File sequenziale testate commesse
INPFIL2 -- File sequenziale sottocommesse
INPFIL3 -- File sequenziale tipologie commessa

Struttura file di input

INPFIL (testate commesse):

Campo Tipo Descrizione
seq-cod-com 9(10) Codice commessa
seq-dat-open GG/MM/AAAA Data apertura
seq-dat-close GG/MM/AAAA Data chiusura
seq-progetto X(30) Progetto (mappato su tsc-des-breve)
seq-des-com X(60) Descrizione commessa
seq-ana X(01)+9(05) Tipo anagrafica + codice (es. C12345)
seq-dat-acq GG/MM/AAAA Data acquisizione
seq-dat-cnt GG/MM/AAAA Data contratto
seq-stato X(01) Stato commessa
seq-tipo X(01) Tipo commessa

INPFIL2 (sottocommesse):

Campo Tipo Descrizione
seq2-sot-cod 9(10) Codice sottocommessa
seq2-des X(50) Descrizione

INPFIL3 (tipologie):

Campo Tipo Descrizione
seq3-tip-cod X(01) Codice tipologia
seq3-tip-des X(40) Descrizione tipologia

Configurazione (RNEWCONF)

Chiave Descrizione
M102:FILE OUTPUT MERLINO Percorso file testate commesse
M102:FILE OUTPUT2 MERLINO Percorso file sottocommesse
M102:FILE OUTPUT3 MERLINO Percorso file tipologie commessa

File di configurazione: MERCI.CNF, pacchetto "C".

Programmi chiamati

Programma Scopo
RNEWCONF Lettura configurazione percorsi file

Copybook principali

  • cogm102.select, cogm102.fd, cogm102.wrk, cogm102.prc, cogm102.decla, cogm102-01.scr -- Screens
  • cogazien.cpy -- Dati azienda (az-commesse per verifica modulo)
  • utilncnf.cpy -- Interfaccia RNEWCONF

Logica di elaborazione

Flusso principale

  1. Verifica az-commesse = "M"; se diverso, messaggio di errore e uscita
  2. Lettura configurazione percorsi file via RNEWCONF
  3. Conferma utente
  4. Fase 1: caricamento testate commesse (b-elabora)
  5. Fase 2: caricamento sottocommesse (b-elabora2)
  6. Fase 3: caricamento tipologie (b-elabora3)

Fase 1: Testate commesse (b-elabora)

Per ogni riga del file INPFIL:

  1. Legge COGTESCM per codice commessa
  2. Se non esiste: inizializza tsc-dati, popola con fill-dati, esegue WR
  3. Se esiste: popola con fill-dati, esegue RWR

fill-dati (mapping campi):

  • Se seq-ana-cod != 0: imposta tsc-ana-tip = k-ana-tipo-cli, tsc-ana-cod = seq-ana-cod
  • Date (apertura, chiusura, acquisizione, contratto): importate solo se anno numerico e > 0
  • seq-des-com -> tsc-des-breve (solo se non vuoto)
  • seq-stato -> tsc-stato (solo se non vuoto e stato attuale != "D")
  • seq-tipo -> tsc-tipo (solo se presente nella tabella COGTABEL tipo "A1")

Fase 2: Sottocommesse (b-elabora2)

Per ogni riga del file INPFIL2:

  1. Legge COGSOTCM per codice
  2. Se esiste: aggiorna descrizione, RWR
  3. Se non esiste: imposta descrizione, stato = "A", flag chiamata = "N", WR

Fase 3: Tipologie (b-elabora3)

Per ogni riga del file INPFIL3:

  1. Legge COGTABEL con tipo = k-euta-tipo-x-commessa ("A1") e codice = seq3-tip-cod
  2. Se non esiste: WR con la descrizione
  3. Se esiste: aggiorna descrizione, RWR

Gestione errori

In tutte e tre le fasi, se la scrittura/riscrittura fallisce il programma mostra un messaggio di errore con stato e chiave, ma prosegue con il record successivo.


Note

  • Le tabelle COGTESCM e COGSOTCM vengono riaperte in modalita' "U" (update) prima dell'elaborazione per garantire l'accesso esclusivo.
  • La costante k-euta-tipo-x-commessa = "A1" identifica le tipologie commessa nella tabella generica COGTABEL.
  • Lo stato "D" (dismessa) sulle commesse esistenti non viene sovrascritto dall'importazione.
  • I file INPFIL/INPFIL2/INPFIL3 sono di tipo line sequential; i nomi sono letti dalla configurazione e assegnati direttamente alle variabili di ASSIGN.

Documentazione tecnica -- 2026-05-01