COGG48 - Gestione Sottocommesse
Panoramica
Programma interattivo per la gestione dell'anagrafica delle sottocommesse (tabella COGSOTCM). Consente l'inserimento, la modifica, la cancellazione e la selezione delle sottocommesse in una griglia paginata. Supporta due modalita': "Aggiornamento" (operazioni CRUD complete) e "Selezione" (scelta di una sottocommessa per una funzione chiamante). Puo' essere richiamato come "called" da altri programmi (via linkage utilcogg48.cpy), nel qual caso parte in modalita' selezione e puo' filtrare le sottocommesse collegate a una commessa specifica (COGRIGCM tipo "SC"). Supporta numerazione automatica o alfanumerica del codice sottocommessa in base alla configurazione RNEWCONF.
| Menu |
Percorso |
| Vendite |
Commesse > Tabelle > Sottocommesse |
Struttura del programma
File e tabelle utilizzati
| File/Tabella |
Tipo |
Descrizione |
| FEURTAB |
Input |
Tabella di sistema |
| COGSOTCM |
I-O |
Anagrafica sottocommesse (tabella principale) |
| COGRIGCM |
Input |
Righe commessa (per filtro sottocommesse collegate, tipo "SC") |
Copybook principali
| Copybook |
Descrizione |
| cogg48.select |
SELECT dei file |
| cogg48.fd |
File Description |
| cogg48.wrk |
Working storage generata |
| cogg48.prc |
Procedure generate da Screens |
| cogg48-01.scr |
Screen section |
| wgrid.cpy |
Variabili gestione griglia |
| utilgdad.cpy |
Interfaccia GRIDADMN |
| utilncnf.cpy |
Configurazioni RNEWCONF |
| utilagprg.cpy |
Interfaccia AGPRGW (bitmap custom) |
| utilcogg48.cpy |
Interfaccia per richiamo come "called" (linkage) |
Chiamate a sottoprogrammi (CALL)
| Programma |
Scopo |
| GRIDADMN |
Gestione griglia avanzata (preparazione, riempimento, modifica, personalizzazione, export) |
| RNEWCONF |
Lettura configurazioni (tipo numerazione sottocommessa) |
Logica di elaborazione
Flusso principale
- Inizializzazione (
apri): apre file, carica lingua. Se richiamato come "called" (cogg48-called = k-program-id), imposta modalita' selezione ("S"), riceve codice sottocommessa e codice commessa dalla linkage. Altrimenti modalita' aggiornamento ("A"). Configura tasti funzione: Invio (seleziona/modifica), Ctrl+E (elimina), Ctrl+A (aggiungi), F3 (conferma/selezione), F7 (nuovo codice), F8 (aiuto), S-F4/S-F5 (griglia). Carica bitmap custom: "commesse" e "all64". Crea pulsanti F5 (Tutto) e F7 (Filtro commessa). Legge configurazione tip-num-sot per il tipo di numerazione.
- Preparazione griglia (
a4): inizializza dati, costruisce griglia. Se called con commessa, cerca le sottocommesse collegate su COGRIGCM tipo "SC" per impostare il filtro. Attiva/disattiva i pulsanti F5/F7 in base alla presenza di sottocommesse collegate.
- Caricamento griglia (
carica-tab): scorre COGSOTCM con spaginamento standard. In modalita' called, filtra per: flag chiamata (se specificato), flag stato (se specificato "A" o "C"), e sottocommesse collegate alla commessa (se filtro attivo, verifica su COGRIGCM tipo "SC" + codice commessa + codice sottocommessa).
- Navigazione griglia (
a-grid): gestisce paginamento, S-F4/S-F5, e le azioni principali:
- Invio: in modalita' "A" apre il dettaglio per modifica; in modalita' "S" restituisce il codice/descrizione alla funzione chiamante e termina.
- Ctrl+A: aggiunge una nuova riga (con numerazione automatica F7 se tipo numerico).
- Ctrl+E: cancella la riga selezionata previa conferma.
- F3: alterna tra modalita' selezione e aggiornamento (solo in called).
- F5: mostra tutte le sottocommesse (disattiva filtro commessa).
- F7: filtra per sottocommesse collegate alla commessa.
Dettaglio riga (a-riga-dettaglio)
Quando si entra nel dettaglio (inserimento o modifica):
- Se in modifica ("M"): legge il record COGSOTCM con lock. Se non trovato, torna alla griglia.
- Se in inserimento ("I"): inizializza la riga.
- Accept dei campi: codice numerico (
a-tm-r-cod-num) o alfanumerico (a-tm-r-cod), descrizione (a-tm-r-des), stato (a-tm-r-fl-stato).
- Alla conferma (
a-fine-dettaglio): valida i campi, chiede conferma. Legge COGSOTCM con lock per verificare se il record esiste:
- Se esiste e operazione = "I": avvisa e converte in modifica
- Se non esiste e operazione = "M": avvisa e converte in inserimento
- Scrive/riscrive il record. In caso di inserimento, sincronizza il KPN (
x-sincronizza-kpn).
Numerazione automatica (cerca-num-sot)
Quando la numerazione e' di tipo numerico (tm-cfg-tip-num-sot = "N") e l'utente preme F7 in inserimento:
- Posiziona COGSOTCM sull'ultimo record (START NOT GREATER THAN 9999999999)
- Legge il record precedente per ottenere l'ultimo numero usato
- Incrementa di 1, verifica che non esista gia', e lo assegna al campo codice
Cancellazione (c-cancella)
Cancellazione del record COGSOTCM dopo conferma utente. Verifica esistenza tramite c1-ctrl-canc.
Configurazioni RNEWCONF
| Gruppo |
Chiave |
Descrizione |
| commesse |
tip-num-sot |
Tipo numerazione sottocommessa: "N" = numerico, altro = alfanumerico |
Note tecniche
- Il programma usa lo spaginamento diretto su COGSOTCM (non crea un file di transito).
- La griglia supporta fino a 900 elementi (
k-max-ele-tab).
- In modalita' called con commessa, il filtro per sottocommesse collegate usa COGRIGCM con chiave:
rgc-tsc = commessa, rgc-sot = codice_sottocommessa, rgc-tip = "SC".
- I pulsanti F5 (Tutto) e F7 (Filtro commessa) sono mutuamente esclusivi: quando uno e' attivo, l'altro e' disattivato.
- Il campo
sot-fl-stato gestisce lo stato: "A" = Attivo, "C" = Chiuso.
- Il campo
sot-fl-chiamata indica se la sottocommessa e' utilizzata da una commessa: "S" = Si', "N" = No.
- Dimensione sorgente: circa 57K, circa 1.250 righe.