COGM11 - Modifica Aliquota IVA su Merci¶
Sorgente: cbl/cogm11.cbl | Program-ID: COGM11 | Tipo: Interattivo (raccolta parametri + elaborazione batch)
Menu: Magazzino > Archivi & Tabelle > Varie > Modifica Al.Iva su Merci
Scopo¶
Variazione massiva dell'aliquota IVA sulle merci dell'anagrafica. L'utente indica la vecchia aliquota e la nuova; il programma scandisce tutte le merci e aggiorna quelle che avevano la vecchia aliquota. Opzionalmente aggiorna anche il reparto cassa associato.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Tabella | Input | Tabella generale Eurosystem |
| COGMERCI | Tabella | I-O | Anagrafica merci (aggiornamento aliquota IVA) |
| COGMERAP | Tabella | I-O | Dati aggiuntivi merci (aggiornamento reparto cassa) |
| COGALIVA | Tabella | Input | Aliquote IVA (per validazione e lettura valore) |
I file acceduti sono quelli dichiarati in cogm11.select tramite Screen Designer.
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogfiles.cpy |
Struttura generica FEURTAB |
cogm11.select |
SELECT file generati da Screens |
cogm11.fd |
FD file generati da Screens |
cogm11.wrk |
Working storage generata da Screens |
cogm11-01.scr |
Maschera grafica |
cogm11.decla |
Declaratives |
cogm11.prc |
Procedure copy generate da Screens |
wgrave.cpy |
Working errori gravi |
wnscr.cpy |
Working screen |
wopenf.cpy |
Working apertura file |
wstato.cpy |
Working stato |
cogazien.cpy |
Dati azienda |
utile67.cpy |
Interfaccia COGE67 (ricerca aliquota IVA) |
utila02.cpy |
Interfaccia COGA02 (ricerca reparto cassa) |
Linkage¶
| Copybook | Descrizione |
|---|---|
wcont.cpy |
Contesto chiamante |
wcont1.cpy |
Contesto esteso |
Struttura del programma¶
Variabili della maschera (tab-maschera)¶
| Variabile | PIC | Descrizione |
|---|---|---|
tm-tipo-ali |
X(01) | Tipo aliquota: "G" = Generica |
tm-old-ali |
X(02) | Codice vecchia aliquota IVA |
tm-new-ali |
X(02) | Codice nuova aliquota IVA |
tm-val-ali-old |
9(02)V99 | Valore percentuale vecchia aliquota (display) |
tm-val-ali-new |
9(02)V99 | Valore percentuale nuova aliquota (display) |
tm-repa-old |
9(03) | Vecchio reparto cassa |
tm-repa-des-old |
X(10) | Descrizione vecchio reparto |
tm-repa-new |
9(03) | Nuovo reparto cassa |
tm-repa-des-new |
X(10) | Descrizione nuovo reparto |
tm-m-l |
9(06) | Contatore merci lette |
tm-m-c |
9(06) | Contatore merci con vecchia aliquota (aggiornate) |
tm-m-m |
9(06) | Contatore aggiuntivo |
Flusso principale¶
- apri - Inizializzazione, apertura file
- a4 - Reset maschera, default tipo "G"
- a-tm-old-ali - Accept vecchia aliquota IVA (F8 per ricerca via COGE67)
- a-tm-new-ali - Accept nuova aliquota IVA (F8 per ricerca via COGE67)
- a-tm-repa-old - Accept vecchio reparto cassa (F8 per ricerca via COGA02)
- a-tm-repa-new - Accept nuovo reparto cassa (F8 per ricerca via COGA02)
- a-poscur - Validazione completa, conferma
- b-elabora - Scansione COGMERCI
Elaborazione (b-elabora)¶
Per ogni merce nell'anagrafica:
- Incrementa contatore lette (
tm-m-l) - Se
mer-codiva = tm-old-ali: a. Incrementa contatore modificate (tm-m-c) b.move tm-new-ali to mer-codiva, REWRITE c. Legge COGMERAP: semap-rep-cassanon zero etm-repa-newnon zero, aggiorna il reparto cassa con REWRITE
Chiamate esterne¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGE67 | CALL | Ricerca aliquota IVA (anagrafica aliquote) |
| COGA02 | CALL | Ricerca reparto cassa |
Note¶
- Il programma modifica direttamente COGMERCI con REWRITE: operazione irreversibile.
- Il reparto cassa viene aggiornato solo se era diverso da zero nella merce originale E se il nuovo reparto e' diverso da zero. Questo evita di impostare il reparto su merci che non lo avevano.
- ATTENZIONE: e' presente un
PERFORM ... THRUinb-elabora(perform cstato thru ex-cstato). Questo e' un pattern legacy di gestione errori su stato file, presente in molti programmi. - Il tipo aliquota default e' "G" (Generica).