COGD53 - Invio liste a Modula¶
Posizione nel menu Programma non a menu Linkage section
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | D53-OPE | x(20) | Operazione da eseguire (vedi oltre) |
| D53-DOCUMENTO | tes-chia3 | Documento da elaborare (dipende dalla operazione) | |
| OUTPUT | |||
Logica generale Questo programma centralizza le operazioni di invio di una lista di versamento/prelievo a Modula, a fronte dell'aggiornamento di un documento di magazzino. Configurazioni
| Gruppo | Parametro | Note |
|---|---|---|
Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta. Nuova logica di funzionamento In tutti i casi di aggiornamento di un documento (inserimento/variazione/cancellazione), se previsto è necessario inviare una lista di prelievo/versamento a Modula. quando ci sono variazioni rispetto al documento precedente. In sintesi, a seconda del segno del movimento e della variazione effettuata, si dovrà effettuare la seguente operazione, a parità di merce:
| Documento precedente | Documento attuale | Operazione | Effetto su Modula | Regola |
|---|---|---|---|---|
| Documenti di entrata | Si calcola la differenza tra precedente e attuale |
|||
| " " | E(1) | Inserimento entrata di 1 | Lista di versamento di 1 (1 - 0) | |
| E(1) | E(1) | Documento variato senza nessuna modifica | Nessuna lista | |
| E(1) | E(3) | L'entrata viene variata e portata a 3 | Lista di versamento di 2 (3 - 1) | |
| E(3) | E(2) | L'entrata viene variata e portata a 2 | Lista di prelievo di 1 (2 - 3) | |
| E(2) | " " | L'entrata viene cancellata | Lista di prelievo di 2 (0 - 2) | |
| Documenti di uscita | Si calcola la differenza tra precedente e attuale |
|||
| " " | U(1) | Inserimento uscita di 1 | Lista di prelievo di 1 (1 - 0) | |
| U(1) | U(1) | Documento variato senza nessuna modifica | Nessuna lista | |
| U(1) | U(3) | L'uscita viene variata e portata a 3 | Lista di prelievo di 2 (3 - 1) | |
| U(3) | U(2) | L'uscita viene variata e portata a 2 | Lista di versamento di 1 (2 - 3) | |
| U(2) | " " | L'uscita viene cancellata | Lista di versamento di 2 (0 - 2) |
Questa elaborazione sarà effettuata tramite 3 chiamate successive a COGD53 da parte di un programma chiamante:
| DOC-PRECEDENTE | |||
|---|---|---|---|
| Sequenza | Operazione | Inserimento? | Variazione |
| 1 | DOC-PRECEDENTE | " " | "12018I000100" |
| 2 | DOC-ATTUALE | "12018I000100" | "12018I000100" |
| 3 | DOC-ESEGUI | " " | " " |
File di transito Il programma usa un file di transito per alcune operazioni spiegate successivamente, strutturato come segue: FILE-CONTROL select cogtrans4 assign to random w-trs4-name organization is indexed access is dynamic record key is trs4-chia1 alternate record key is trs4-chia2 = trs4-entrusc, trs4-chia1 file status stato. FILE SECTION fd cogtrans4 label record standard. 01 trs4-rec. 02 trs4-chia1. 03 trs4-chiap. 04 trs4-testa. 05 trs4-mag1 pic x(01). 05 trs4-anno pic 9(04). 05 trs4-tipob1 pic x(01). 05 trs4-bolla1 pic 9(06). 04 trs4-prog pic 9(04). * serve solo per evitare la chiave doppia 03 trs4-tipo pic x(01). 02 trs4-dati. 03 trs4-merce. 04 trs4-gru pic x(02). 04 trs4-sot pic x(02). 04 trs4-cod pic 9(05). 03 trs4-entrusc pic x(01). 03 trs4-qtamagaz pic 9(07)v9(03). 03 trs4-riga-canc pic x(01). 03 trs4-fl-var pic x(01).
Operazione: ELABORA (default)¶
Descrizione Esegue la creazione di una lista di prelievo / versamento, usando l'area di linkage D53-RIGHE Chiamata standard
| Dato | Contenuto |
|---|---|
| D53-OPE | ELABORA |
| ..... | |
Elaborazione ....
Operazione: DOC-PRECEDENTE¶
Descrizione Riceve in input il documento nello stato "precedente", e: * Inizializza il file di transito * Aggiunge le righe del documento al file di transito, se presente Chiamata standard
| Dato | Contenuto |
|---|---|
| D53-OPE | DOC-PRECEDENTE |
| D53-DOCUMENTO | Documento precedente da elaborare Sarà vuoto in caso di inserimento documento |
Elaborazione 1. Inizializzazione del file di transito 2. Se indicato il documento precedente, si scorre il contenuto e si porta nel file di transito
Operazione: DOC-ATTUALE¶
Descrizione Riceve in input il documento nello stato "attuale", e: * Aggiunge le righe del documento al file di transito, se presente Chiamata standard
| Dato | Contenuto |
|---|---|
| D53-OPE | DOC-ATTUALE |
| D53-DOCUMENTO | Documento attuale da elaborare |
Elaborazione 1. Si scorre il contenuto del documento, e si aggiorna il file di transito seguendo le regole stabilite
Operazione: DOC-ESEGUI¶
Descrizione Scorre il file di transito ed effettua l'invio delle liste a Modula Chiamata standard
| Dato | Contenuto |
|---|---|
| D53-OPE | DOC-ESEGUI |
Elaborazione 1. Si scorre il file di transito, usando la chiave secondaria (scorre ordinata per segno E/U) 2. Per ciascun segno documento trovato potrà creare fino a 2 liste: 1. U: Lista di prelievo 2. E: Lista di versamento
Estratto da documentazione interna ClickUp