Vai al contenuto

COGG52 - Gestione Commesse (tabella Commesse)

Scopo

Programma GUI standalone per la gestione dell'anagrafica delle commesse. Presenta una maschera multi-pagina a tab-control (testata, dati aggiuntivi, dati PA/IBAN, griglia sottocommesse) e permette inserimento, variazione e cancellazione della commessa (COGTESCM) con i relativi dati aggiuntivi (COGTCMAG), sottocommesse con budget (COGRIGCM + COGBUDSC), descrizioni/note e collegamenti a preventivi, ordini, cantieri e CRM. Integra il calcolo dei totali economici (costi/ricavi/margini) tramite COGUA0 e numerose funzioni collegate lanciate da tasti funzione e menu a tendina. E' richiamabile da altri programmi (g52-called = "COGG52-CALLED").

Vendite > Commesse > Tabelle > Commesse

File e tabelle

File Tipo Descrizione
COGTESCM Indicizzato Testata commessa (tabella primaria). Chiave secondaria .k03 su tipo/codice anagrafica (st-cogtescm-notmin-chia3). Lettura + scrittura (rd-, rd-...-lk, wr-, rwr-, del-)
COGTCMAG Indicizzato Dati aggiuntivi commessa (cliente assistenza, destinazione, agente, merce/prestazione, date effettive). Chiave secondaria .k02 (st-cogtcmag-notmin-chia2). Lettura + scrittura
COGRIGCM Indicizzato Righe commessa: sottocommesse (tip "SC") e ordini collegati (tip "OR"). Scansione st-cogrigcm-notmin / rdnxt-. Lettura + scrittura
COGBUDSC Indicizzato Budget per sottocommessa (costi materiali/manodopera/altri, ore manodopera). Lettura + scrittura
COGSOTCM Indicizzato Anagrafica sottocommesse. Sola lettura (validazione/descrizione)
COGGEANA Indicizzato Anagrafica clienti/fornitori/agenti (ana-tipo, ana-cod). Sola lettura
COGTABEL Indicizzato Tabelle di sistema (tipo commessa, raggruppamento, stati IBAN, agente). Sola lettura
COGTESOR Indicizzato Testata ordini. Sola lettura (collegamento ordine-commessa, chiusura automatica)
COGRIGOR Indicizzato Righe ordine. Lettura + scrittura (azzeramento riferimento commessa in canc-rif-rigor)
COGDESTI Indicizzato Destinazioni diverse. Sola lettura
COGDESCR Indicizzato Descrizioni/note documento. Lettura + scrittura
COGMERCI Indicizzato Anagrafica merci/prestazioni. Sola lettura (validazione prestazione)
COGTPRAG Indicizzato Preventivi. Sola lettura (info da preventivo)
COGCMMGP / COGMAGPE Indicizzato Raccordo cantieri/magazzino (personalizzazione). Lettura + cancellazione
ASNMATRI Indicizzato Matricole assistenza. Chiave secondaria .k02. Sola lettura (scheda CRM)
LODTMDES Indicizzato (temporaneo) Buffer descrizioni/note; nome file con PID #$COGG52_<pid>.<oper>; aperto/cancellato dal programma
T-DETTAGLIO Indicizzato (temporaneo) File di scambio con COGUA0 per i totali economici; nome <tmp>/COGUA0_<oper>; l'apertura output con stato != 00 segnala "funzione gia' in uso dall'operatore"
T-GRID-DET Indicizzato (temporaneo) Transito della griglia sottocommesse (apri/crea/riordina/carica-tab)

Copybook

File e select

  • feurtab.fd, cogfiles.cpy
  • cogg52.select, cogg52.fd, cogg52.wrk, cogg52.decla, cogg52.prc
  • cogg52-01.scr (screen section)
  • lodtmdes.fd, lodtmdes.cpy — file temporaneo descrizioni
  • cogua0-t-dettaglio.fd, cogua0-t-dettaglio.cpy — file temporaneo scambio con COGUA0
  • Chiavi secondarie incluse manualmente a fine procedure: cogtescm.k03, cogtcmag.k02, asnmatri.k02

Working-storage standard

  • costanti-commesse.cpy, k-personal.cpy
  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy

Utilita'

  • wgrid.cpy, utilgdad.cpy — gestione griglia (GRIDADMN)
  • utilu10.cpy, utilu20.cpy, utilu70.cpy, utilu35w.cpy — editor importi/valuta, tipo commessa, accept codice
  • utils52.cpy, utils65.cpy, utils68.cpy, utils25.cpy — subroutine campi (data, anagrafica, numeratore)
  • utildlg.cpy — dialog a bottoni (DIALOGS)
  • utilcogu03w.cpy — gestione banca/IBAN (COGU03W)
  • utile35.cpy, utilagprg.cpy, utilzde.cpy — agente, note multi-riga (COGZDEW)
  • utilncnf.cpy — configurazioni RNEWCONF
  • utilgesdebug.cpy — logging/debug
  • Linkage moduli chiamati (parametri util-*): utilcogo45.cpy, utilcogua4.cpy, utilcogma3.cpy, utilcogx06.cpy, utilcogga4.cpy, utilw92.cpy, utilcrmk10.cpy, utilcrms06.cpy, utilcrm030.cpy, utilcogg4d.cpy, utilcogg4f.cpy, utilcogg48.cpy, utilcoguc0.cpy, utilcogua0.cpy, utilcogg4b.cpy

Linkage

  • wcont.cpy, wcont1.cpy
  • utilg15.cpy, utilg32.cpy, utilg52.cpy, utilg53.cpy, utilg56.cpy, utilg60.cpy — parametri moduli di raccordo/stampa
  • utilw35.cpy, utila69.cpy, utilx49.cpy, utilcogv60.cpy, utilcogv13.cpy

Procedure

  • grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy

CALL

Programma Descrizione
COGUA0 Calcolo totali economici commessa (costi/ricavi MO/MAT/ALT, fatturato, differenze) su file temporaneo t-dettaglio
COGUA4 Aggiornamento matricola/DB da ordini (codifica B) o da giacenza (F5)
COGS25 Numeratore progressivo (cod 31) per codifica automatica del codice commessa
COGU35 Accept del codice commessa (via call-u35-accept)
COGS65W Accept con aiuto anagrafica clienti/fornitori/agente
COGU10W Editor importi / valuta
COGU03W Gestione banca / IBAN (ABI, CAB)
COGG32 Accept codice responsabile / capo dipendente
COGU70 Aiuto/selezione tipo commessa (F8)
COGA69 Aiuto raggruppamento commessa (F8)
COGE35 Aiuto agente/fornitore (F8)
COGG48 Aiuto sottocommessa nella cella griglia (F8)
COGMA3 Navigazione filiera documenti su commessa (Shift+F2)
COGX06 Giacenze di commessa (F2)
COGGA4 Analisi commessa (Shift+F5)
COGG4D Gestione fabbisogni commessa (Shift+F8, voce menu)
COGG4B Movimentazione e chiusura commessa (voce menu)
COGV13 Merci fornitori della prestazione (Shift+F9)
COGV60NO Generazione fattura / prefattura (dialog-fa)
CRM030 Scheda CRM per matricola/modello (Shift+F6)
CRMK10 Gestione dossier collegato (Shift+F7)
CRMS06 Lettura info scheda CRM (data prevista chiusura) da preventivo
COGUC0 Galleria documenti (F1, se az-arc-ott = "S")
COGG4F Pianificazione cantiere (Shift+F1)
COGG60 Raccordo tecnici/commesse (F5)
COGG15 Raccordo cantieri/commesse (F6)
COGX49 Gestione giornalieri per commessa (F7)
COGG53 Stampa commessa (F9, parametro "B")
COGO45 Chiusura automatica ordini clienti collegati
COGZDEW Editor note multi-riga su file di lavoro
SWN118 Sincronizzazione chiave commessa con KPN (x-sincronizza-kpn, "ESPORTA-KEY")
GRIDADMN Amministrazione/preparazione griglia sottocommesse
W$MENU Menu principale a tendina (File / Operazioni / Help)
DIALOGS Dialog a bottoni (scelta raccordo, fattura/prefattura)
RNEWCONF Lettura configurazioni (gruppi "commesse", "assist", "ass-chiam")

Logica di elaborazione

  1. apri: init programma, ctr-abil, rd-azi, open-files, x-carica-lingua, apertura log debug; lettura configurazioni (x99-confi); recupero divisa di conto via COGU10; composizione nomi dei file temporanei con dir temp/PID.
  2. a4: (ri)apre lodtmdes (output poi i-o), imposta il tab-control sulla pagina 1, apre/crea/riordina il transito griglia, carica i controlli, crea il menu a tendina (x-crea-menu), e gestisce il ramo "Inserimento"/chiamato.
  3. a-tm-tsc: accept del codice commessa (via call-u35-accept/COGU35); gestisce la codifica automatica (N/A/B) e il tasto F1 "nuovo codice".
  4. a10-ok: lettura commessa da COGTESCM; se esiste imposta modalita' variazione (fl-ela = "V"), carica la griglia sottocommesse (carica-griglia-2), chiama COGUA0 e popola i totali economici; se non esiste passa a inserimento (x1-tf-inserimento) e alle note (a-carica-note).
  5. a-pagina-1 ... a-pagina-4: ingressi nelle pagine del tab-control; ognuna attiva/disattiva i tasti funzione pertinenti e ricarica i controlli.
  6. a-tm-* (una ventina di accept): campi di testata e dettaglio (progetto, descrizione breve, anagrafica, cliente assistenza, destinazione, stato, tipo, raggruppamento, divisa, importo preventivo, manodopera, date, prestazione/merce, agente, responsabile/capo, sottocommessa definitiva, CUP/CIG, IBAN, nota). Schema standard: aiuto -> accept/subroutine -> z-99-exception-form -> gestione mouse/F2/tasti-funzione -> x-controlla-*.
  7. a-grid-det / a-accept-grid-det: gestione della griglia sottocommesse (accept, Shift+F4 GRIDADMN, Shift+F5 export Excel, Ctrl+A nuova riga, Ctrl+E elimina riga, F3/F4 conferma/cancella, menu popup).
  8. tasti-funzione: dispatcher centrale dei tasti funzione e delle voci di menu; instrada verso i programmi collegati (giacenze, analisi, fabbisogni, filiera, CRM, dossier, cantieri, stampa, ecc.).
  9. x-test-mouse: routing del focus del mouse in base alla pagina attiva (w-tab-current-page-test) e al control-id, mappando event-control-id sul paragrafo a-tm-* corrispondente.
  10. a-richiesta-conferma: conferma finale (acc-conf); su F3 esegue salvataggio (modify-commessa o insert-commessa), su F4 cancellazione (delete-commessa); poi eventuale dialog-fa (fattura/prefattura, aggiornamento DB, merci fornitori).
  11. Salvataggio (a1-riempi-record, insert-commessa, modify-commessa, delete-commessa, aggiorna-sottocom): scrivono COGTESCM/COGTCMAG, le righe sottocommessa COGRIGCM + budget COGBUDSC, le descrizioni COGDESCR; per la codifica "B" creano anche la commessa "base" e la matricola via COGUA4. chiusura-ordini (PCASE-3769) chiude via COGO45 gli ordini clienti aperti quando la commessa passa a stato "C".
  12. fine / z-chiudi: chiusura debug, cancel COGUA0, close/delete dei file temporanei (t-dettaglio, t-grid-det, lodtmdes), distruzione del menu, exit program.

Note tecniche

  • Tab-control a 4 pagine (s-mm-1-tab-01..04) pilotato da e-tab-control; w-tab-current-page/w-tab-current-page-test tracciano la pagina attiva; z-99-event-form-1a gestisce cmd-tabchanged. x-test-mouse e' il dispatcher centrale che, in base a pagina + control-id, salta al paragrafo a-tm-* corretto (id di testata < 100, id di pagina 101-499).
  • Menu a tendina custom creato a runtime via W$MENU (thm-main, thm-file, thm-operazioni, thm-help) con voci abilitate/disabilitate dinamicamente in base allo stato variazione/inserimento (fl-ela); le voci sono intercettate come funzio in tasti-funzione (costanti k-menu-id-gestione-fabb, k-menu-id-movim-chiusura, k-menu-id-config).
  • Pulsanti bitmap custom (~14 pulsanti da 5 file bitmap: commesse, magazzino, dossier, ecc.) ciascuno legato a un'eccezione tastiera, abilitati/disabilitati via x-attiva-pbc/x-disattiva-pbc.
  • Codifica automatica del codice commessa (config codifica-automatica): "Z" nessuna (manuale), "A" progressiva via COGS25, "B" per cliente/destinazione (formato codice/progressivo, cerca il prossimo libero su COGTCMAG altrimenti numeratore COGS25); per la codifica "B" all'inserimento crea anche la commessa "base" e la matricola via COGUA4.
  • Codifica sottocommessa (config TIPO-NUMERAZIONE-SOTTOCOMMESSE, tm-cfg-tip-num-sot): numerica se "N", altrimenti alfanumerica.
  • Griglia sottocommesse con budget: colonne budget materiali/manodopera/altri e ore-manodopera (COGBUDSC), con controllo di quadratura ore (somma ore riga <= totale manodopera commessa); aggiunta/eliminazione riga bloccate se e' attivo un filtro di griglia.
  • Integrazione preventivo/CRM: se la commessa nasce da preventivo (tm-preventivo) legge COGTPRAG -> id-crm -> CRMS06 per la data prevista di chiusura.
  • Sincronizzazione KPN: a ogni insert/modify/delete chiama SWN118 per esportare la chiave commessa.
  • Personalizzazioni azienda: rami condizionati da az-personal (label "P.O.", obblighi raggruppamento/responsabile, regole di cancellazione con righe e cantiere) e da az-arc-ott (galleria documenti), az-naz-default (stato IBAN).
  • Chiusura ordini automatica (config ass-chiam/chiusura-automatica-ordini): al passaggio della commessa a stato "C", chiusura-ordini chiude via COGO45 gli ordini clienti aperti collegati.
  • Tracciatura modifiche: nel sorgente non sono presenti marcatori *>DOC:; le modifiche storiche sono annotate con il vecchio stile a data in colonna 1-6 (es. 140526, 230224, 181023, 260216) e con riferimenti puntuali (es. PCASE-3769 in chiusura-ordini).
  • Export: griglia esportabile in Excel (Shift+F5); stampa commessa via COGG53 (F9).