Vai al contenuto

COGE101 - Raccordo Codici C.d.C.

Funzione

Gestione della tabella di raccordo tra centri di costo e magazzini (COGTABEL tipo 96). Ogni riga associa un centro di costo di partenza + magazzino a un centro di costo di ritorno (euta-p-cc-rit). Usato tipicamente per determinare automaticamente la contropartita CC nelle movimentazioni di magazzino.

La griglia visualizza: codice CC1, livelli liv1/liv2/liv3 del CC1, descrizione CC1, codice magazzino, descrizione magazzino, codice CC2, livelli liv1/liv2/liv3 del CC2, descrizione CC2.

  • Contabilita' > Centri di Costo > Tabelle > Raccordo Codici C.d.C.

Tabelle e file principali

Tabella Descrizione Accesso
COGTABEL Tabelle generiche (tipo 96 = raccordi CC/magazzino) I-O (lettura, scrittura, modifica, cancellazione con lock)
COGCCOPR Anagrafica centri di costo/profitto Input (descrizione centro)
COGMAGAZ Magazzini Input (descrizione magazzino)
FEURTAB Tabella generica Eurosystem Input

Struttura record COGTABEL (tipo 96)

Campo Descrizione
euta-tipo 96 (costante k-euta-tipo)
euta-cdc-cod Codice centro di costo di partenza
euta-cdc-mag Codice magazzino
euta-p-cc-rit Codice centro di costo di ritorno

La chiave primaria e' composta da euta-tipo + euta-cdc-cod + euta-cdc-mag.

Logica principale

Flusso

  1. Inizializzazione (apri): controllo abilitazione, init programma, apertura file, lettura azienda. Se chiamato (w-dc-called = "S") entra in modalita' selezione, altrimenti in modalita' aggiornamento.
  2. Caricamento (a4 / a10-loop): scansiona COGTABEL tipo 96 con st-cogtabel-notmin + loop rdnxt-cogtabel. Per ogni riga carica: descrizione CC (da COGTABEL tipo 18 -> COGCCOPR), descrizione magazzino (da COGMAGAZ). Max 900 righe (k-max-ele-tab).
  3. Risoluzione descrizioni (a30): dopo il caricamento, ciclo su tm-pnt righe per popolare tm-liv1/2/3 e tm-des per entrambi i centri di costo tramite lettura COGTABEL tipo 18 + COGCCOPR.
  4. Griglia (a-grid / a-accept-grid): accept griglia GRIDADMN. Modalita' aggiornamento: Invio=modifica riga, Ctrl+A=inserimento, Ctrl+E=cancellazione. F3 alterna tra modalita' selezione e aggiornamento. ESC = uscita.
  5. Dettaglio riga (a-riga-dettaglio): campi CC1 (disabilitato in modifica), magazzino (disabilitato in modifica), CC2. In inserimento tutti e tre editabili.
  6. Scrittura (a-riga-dettaglio-fine): in inserimento wr-cogtabel, in modifica rwr-cogtabel. Gestione lock: rd-cogtabel-lk prima di ogni scrittura.
  7. Cancellazione (c-cancella): rd-cogtabel-lk + del-cogtabel.

Modalita' chiamato

Se w-dc-called = "S": entra in modalita' selezione (F3 inverte tra selezione e aggiornamento); attiva w-presenza-f3-selezione e w-presenza-f3-modifica.

Ridimensionamento griglia

Gestito via evento ntf-resized in z-99-event-form-1: ricalcola le dimensioni della griglia in funzione della finestra.

Copybook principali

Copybook Contenuto
coge101.select SELECT file Screen Designer
coge101.fd FD file Screen Designer
coge101.wrk Working storage Screen Designer
coge101-01.scr Screen section
coge101.prc Procedure copybook (operazioni file)
coge101.decla Declaratives
wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy / wgrid.cpy WS comuni
cogazien.cpy Dati azienda
utilgdad.cpy Gestione griglia GRIDADMN
utilgw04.cpy (non presente - usa utilw36.cpy) / sendw36.cpy Selezione magazzino
utilv04.cpy Interfaccia COGV00 (ricerca centri di costo)
wcont.cpy / wcont1.cpy Linkage section

Programmi chiamati (CALL)

Programma Scopo
COGV00 Lookup centro di costo (F8 sui campi cod-1 e cod-2)
GRIDADMN Gestione griglia (prepara, add-record, modify-record, svuota-tutto, display)
COGS60 (non presente - usa subroutine send-w36) N/A

Note tecniche

  • La griglia gestisce fino a 900 righe (k-max-ele-tab).
  • tm-ele-sav (1000 byte) salva la riga corrente per annullamento modifiche (ESC in dettaglio).
  • In modifica riga, i campi CC1 e magazzino sono disabilitati (x-enabled = 0): e' modificabile solo il CC2 di ritorno.
  • In caso di collisione inserimento/modifica (record gia' presente / non piu' presente), il programma segnala e adatta l'operazione automaticamente.
  • Il campo tm-mag-d (descrizione magazzino) viene popolato tramite rd-cogmagaz con magz-tipo = "M".