Vai al contenuto

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

  1. apri - Inizializzazione, apertura file
  2. a4 - Reset maschera, default tipo "G"
  3. a-tm-old-ali - Accept vecchia aliquota IVA (F8 per ricerca via COGE67)
  4. a-tm-new-ali - Accept nuova aliquota IVA (F8 per ricerca via COGE67)
  5. a-tm-repa-old - Accept vecchio reparto cassa (F8 per ricerca via COGA02)
  6. a-tm-repa-new - Accept nuovo reparto cassa (F8 per ricerca via COGA02)
  7. a-poscur - Validazione completa, conferma
  8. b-elabora - Scansione COGMERCI

Elaborazione (b-elabora)

Per ogni merce nell'anagrafica:

  1. Incrementa contatore lette (tm-m-l)
  2. 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: se map-rep-cassa non zero e tm-repa-new non 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 ... THRU in b-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).