COGE06 — Gestione Anagrafica Soci¶
Sorgente: cbl/coge06.cbl | Program-ID: COGE06 | Tipo: Programma di gestione anagrafica (character-mode)
Menu: Contabilita' > Archivi & Tabelle > Soci
Scopo¶
Gestione completa dell'anagrafica soci (inserimento, modifica, consultazione, cancellazione). Supporta due tipologie: Soci ("S") e Soci Grandine ("G"). Utilizza maschere character-mode con display/accept diretti (non Screen Designer).
Struttura della maschera¶
Il programma utilizza maschere definite in working-storage come stringhe character-mode (mm-1, screen-1, screen-2), non screen section.
Maschera principale (mm-1)¶
18 righe x 67 colonne con i seguenti campi:
| Campo | Variabile | Tipo |
|---|---|---|
| Codice Socio | ana-cod |
9(05) |
| Ragione Sociale | ana-nome |
x(40) |
| Indirizzo | ana-ind |
x(35) |
| Localita' | ana-loca |
x(20) |
| Provincia | ana-prov |
x(02) |
| C.A.P. | ana-cap |
9(05) |
| Partita IVA | ana-piva / salvpiva |
9(11) |
| Codice Fiscale | ana-cofi |
x(16) |
| Data di Nascita | ana-danagg/ana-danamm/ana-danaaa |
9(02)/9(02)/9(04) |
| Luogo di Nascita | ana-luona |
x(20) |
| Provincia Nascita | ana-prona |
x(02) |
| Numero Iscrizione | ana-numiscriz |
9(05) |
| Data Iscrizione | ana-soc-gio/ana-soc-mes/ana-soc-ann |
9(02)/9(02)/9(04) |
| Tipo Fatturazione | ana-tfatt |
x(01), valori "A"/"F" |
| Cooperativa Appartenenza | ana-coop |
9(02) |
| Pagamento | ana-soc-pag |
9(02) |
| Contropartita | ana-mastro/ana-conto/ana-sconto |
9(02)/9(02)/9(05) |
| Rif. Conto Cli./For. | ana-rifmas/ana-rifcon |
9(02)/9(02) |
| Rif. Listino | ana-riflistino |
|
| Socio Attivo | ana-val |
x(01), "S"/" "/"N" |
Finestra aggiuntiva (screen-1)¶
12 righe x 54 colonne, richiamata con F8, contiene: telefono, fax, ABI, CAB, conto corrente, frazione, via, zona, comune, superficie, anno inizio attivita', quote capitale.
Finestra tipo archivio (screen-2)¶
5 righe x 27 colonne, popup per selezione Soci/Soci Grandine.
Logica di elaborazione¶
Flusso principale¶
a0000: apertura file, init, display mascherainizio: popup selezione tipo ("S"/"G") viasend-scr-12a7: inizializzazione record, set tipoa10/a11: accept codice socio- Se F8: ricerca primo codice libero via
COGS25 - Se codice > 0:
a30→ read per chiave primaria → visualizza o inserimento - Se ragione sociale:
a17→ ricerca per chiave alternativaana-chia1 - Se P.IVA:
a16-a→ ricerca per chiave alternativaana-chia2
Inserimento (inserimento → inser90)¶
Accept sequenziale di tutti i campi con validazione:
- inser03: ragione sociale (obbligatoria, UPPER)
- inser06: indirizzo (obbligatorio)
- inser09: localita' (obbligatoria)
- inser12: provincia (obbligatoria)
- inser16: CAP (obbligatorio, > 0)
- inser20/inser21a: P.IVA con controllo duplicati
- inser23: codice fiscale (almeno uno tra P.IVA e C.F.)
- inser26→inser30: data di nascita (gg/mm/aaaa)
- inser32→inser36: luogo e provincia nascita
- inser38: numero iscrizione (obbligatorio)
- ins39→ins44: data iscrizione
- inser45: tipo fatturazione (solo "A" o "F")
- inser41: cooperativa appartenenza
- varia35: pagamento (verifica su COGTABEL tipo 14)
- varia36f→varia36l: contropartita (verifica su COGPNCON)
- varia37→varia39: rif. conto cli./for.
- varia40→varia42: listino e socio attivo
- inser90: write COGAPPOG + write COGGEANA
Variazione (variazione → varia90)¶
Rewrite su COGAPPOG e COGGEANA. Se la ragione sociale cambia, chiama COGS44 per aggiornare l'indice alfabetico.
Cancellazione (cancella)¶
Con conferma (acc-conf + F3): delete su COGGEANA, poi COGS44 (rimozione indice) e COGS43 (rimozione riferimenti).
Controllo partita IVA duplicata (inser21a)¶
Read su chiave alternativa ana-chia2: se trovata su altro codice, popup con tre opzioni (ESC, F2 ridigita, F3 inserisce doppia).
File utilizzati¶
| File | Accesso | Scopo |
|---|---|---|
| FEURTAB | Lettura | Tabella nomi file |
| COGTABEL | Lettura | Tabelle generiche (tipo 14: pagamenti) |
| COGGEANA | I-O | Anagrafica generale (soci = tipo "S"/"G") |
| COGPNCON | Lettura | Piano dei conti (verifica contropartita e rif. conto) |
| COGAPPOG | I-O | Dati aggiuntivi soci (telefono, ABI, CAB, ecc.) |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGS25 | Ricerca primo codice libero per tipo anagrafica |
| COGS43 | Gestione riferimenti per anagrafica (inserimento/cancellazione) |
| COGS44 | Gestione indice alfabetico ragioni sociali (inserimento/variazione/cancellazione) |
| COGM79 | Gestione destinazioni diverse (F9) |
Copybook principali¶
feurtab.fd, cogtabel.fd, coggeana.fd, cogpncon.fd, cogappog.fd, cogfiles.cpy, cogtabel.cpy, coggeana.cpy, cogappog.cpy, cogpncon.cpy, wstato.cpy, wopenf.cpy, wnscr.cpy, wgrave.cpy, utils25.cpy, utils43.cpy, utils44.cpy, utilu03.cpy, cogazien.cpy, wcont.cpy, utilm79.cpy, wcont1.cpy
Note¶
- Il programma e' in stile character-mode (display/accept diretti), non usa Screen Designer. Le maschere sono definite come stringhe in working-storage.
- I
PERFORM THRUeGO TOsono ampiamente usati (stile legacy pre-conversione GUI). - Le chiavi alternative di COGGEANA sono:
ana-chia1(tipo+nome per ricerca alfabetica),ana-chia2(tipo+P.IVA per ricerca fiscale). - Il tipo "S" corrisponde ai soci cooperativa, il tipo "G" ai soci grandine.
- La finestra
screen-1(descrizioni aggiuntive) scrive su COGAPPOG con chiaveapp-cod+app-tipo. - Il campo
ana-val("S"/spazio = attivo, "N" = non attivo) viene visualizzato come "Socio Attivo" sulla maschera.