Vai al contenuto

COGL11 - Cancellazione Pre-Distinta

Intestazione

Campo Valore
Programma COGL11
Titolo Cancella pre-distinta, offerte, merce temporanea padre
Autore Stefano Ruozzi - Eurosystem
Posizione menu Magazzino > Produzione > Distinte-Preventivo > Cancellazione Pre-Distinta

Scopo e logica generale

COGL11 e' un programma interattivo che cancella una pre-distinta completa. Il processo rimuove in sequenza: i record della pre-distinta (COGDBPRE), le offerte associate (COGOFFCL), la merce temporanea padre (COGMERTP) e le note sulla distinta (COGDBAGG).

Prima di procedere, verifica che la pre-distinta non contenga componenti che siano a loro volta pre-distinte (distinte nidificate): in tal caso blocca l'operazione e richiede la cancellazione preventiva delle figlie.


Flusso principale

  1. Inizializzazione (inizio): controllo abilitazione, apertura file, lettura azienda
  2. Selezione merce padre (a7): accept codice merce tramite COGS22, con ricerca merci temporanee via WIN046 (F4)
  3. Validazione (a8): verifica che il codice sia in COGMERTP, che non sia anche in COGMERCI, e che sia di tipo padre (mtp-padre = 'P')
  4. Conferma (a10 -> a11): richiesta conferma (F3); se confermato:
  5. cont-padre THRU ex-cont-padre: verifica assenza pre-distinte figlie
  6. x1-e000 THRU ex-x1-e000: cancellazione record COGDBPRE
  7. x1-f000 THRU ex-x1-f000: cancellazione offerte COGOFFCL
  8. x1-g000 THRU ex-x1-g000: cancellazione merce padre COGMERTP
  9. x1-h000 THRU ex-x1-h000: cancellazione note COGDBAGG
  10. Chiusura (z-chiudi): close file, exit program

File e tabelle acceduti

File logico Record Modalita' Uso
COGMERCI mer-rec Input Anagrafica merci - verifica che il codice non sia gia' definitivo
COGMERTP mtp-rec I-O Merci temporanee - lettura e cancellazione padre
COGDBPRE dbp-rec I-O Pre-distinta base - lettura e cancellazione componenti
COGOFFCL ofc-rec I-O Offerte clienti - cancellazione offerte collegate
COGDBAGG dbg-rec I-O Note aggiuntive distinta base - cancellazione note tipo 'P'
FEURTAB feurtab Input Tabella generale Eurosystem

Copybook inclusi

Strutture dati

Copybook Contenuto
cogfiles.cpy FD feurtab
cogmerci.cpy Anagrafica merci
cogmertp.cpy Merci temporanee
cogdbpre.cpy Pre-distinta base
cogoffcl.cpy Offerte clienti
cogdbagg.cpy Note distinta base
cogazien.cpy Dati azienda

FD e chiavi

Copybook Contenuto
feurtab.fd / cogmerci.fd / cogmertp.fd / cogdbpre.fd / cogoffcl.fd / cogdbagg.fd SELECT file
cogmerci.k01 Lettura chiave primaria COGMERCI
cogmertp.k01 Lettura chiave primaria COGMERTP

Working e utility

Copybook Contenuto
wstato.cpy / wopenf.cpy / wgrave.cpy / wnscr.cpy Working storage comuni
utils22.cpy Interfaccia COGS22 (selezione merce)
stato.cpy / stato1.cpy Gestione stato file
winmsg.cpy Messaggi a video
open1.cpy Apertura file
mmmask.cpy Gestione maschera (standalone)
grave.cpy Gestione errori gravi

Programmi chiamati (CALL)

Programma Scopo
COGS22 Selezione codice merce (gruppo/sottogruppo/codice + descrizione)
WIN046.COB Ricerca merci temporanee per codice (F4)

Logica di business

Controllo pre-distinte nidificate (cont-padre)

Scansiona COGDBPRE per chiave padre (gru/sot/cod del padre selezionato). Per ogni componente con dbp-fl-mt <> 'M', legge COGMERTP sul figlio. Se il figlio ha mtp-padre = 'P', blocca: prima occorre cancellare la pre-distinta figlia.

Cancellazione componenti (x1-e000)

Scansione sequenziale COGDBPRE per chiave padre. DELETE di tutti i record trovati.

Cancellazione offerte (x1-f000)

Scansione sequenziale COGOFFCL per chiave alternativa ofc-chia1 (padre + qta + data + cli + prog). DELETE di tutti i record offerta del padre.

Cancellazione merce padre (x1-g000)

Scansione completa COGDBPRE su dbp-merce-f per verificare che il padre non sia componente figlio di altre pre-distinte. Se non e' referenziato, DELETE del record COGMERTP del padre. Se e' referenziato, la merce padre viene preservata.

Cancellazione note (x1-h000)

Scansione COGDBAGG con dbg-tip = 'P' e dbg-db = tm-macro e dbg-comp = LOW-VALUES. DELETE di tutti i record nota trovati.


Variabili di stato principali

Variabile Descrizione
tab-maschera / tm-macro Codice merce padre selezionato (gru + sot + cod)
tm-desc-macro Descrizione della merce padre
util-5 Struttura per ricerca merci temporanee (WIN046)
util-s22 Struttura interfaccia COGS22