COGR33 - Ricostruzione data righe commessa¶
Sorgente: cbl/cogr33.cbl | Tipo: Programma di menu / elaborazione | Program-ID: COGR33
Menu: Sistema > Archivi > Ricostruzioni [Data Righe Commessa]
Scopo¶
COGR33 ricostruisce il campo data (rgc-data) sulle righe della commessa (COGRIGCM). Ogni riga commessa e' collegata a un documento sorgente diverso a seconda del suo tipo (rgc-tip): il programma scandisce tutte le righe commessa, per ciascuna risale al documento collegato tramite la chiave rgc-chiave, ne legge la data e - se diversa da quella memorizzata - la riscrive sulla riga commessa. Serve a riallineare la data delle righe commessa alla data reale del documento di origine.
L'esecuzione e' interattiva: la maschera richiede solo la conferma (F3); non ci sono filtri per merce, commessa o data. Vengono elaborate tutte le righe di COGRIGCM. La maschera mostra due contatori: righe lette (tm-ctr-r-l) e righe scritte/modificate (tm-ctr-r-s).
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGRIGCM | cogrigcm.fd (rgc-rec) + cogrigcm.k02 |
Righe commessa: scansione completa (chiave 2), lettura tipo/chiave, riscrittura di rgc-data |
| COGTESBO | cogtesbo.fd (tes-rec) |
Testata documento di magazzino/fattura: fonte della data (tes-data) per i tipi RC e TD |
| COGMOMAG | cogmomag.fd (mag-rec) |
Movimento di magazzino: fonte della data (mag-da3) per il tipo RD |
| COGCONTR | cogcontr.fd (con-recz) |
Righe contratto/fattura: ponte per il tipo RC (da con-chiap a con-testa -> COGTESBO) |
| COGDMRIG | cogdmrig.fd (dmr-rec) + cogkydmr.fd |
Righe distinta/movimento: fonte della data (dmr-data) per il tipo RR |
Flusso principale¶
main / apri- init,ctr-abil,rd-azi,open-files; prepara la maschera "Ricostruzione data su righe commessa".- Maschera con sola conferma:
acc-conf; con F3 eseguea-elabora, con ESC/F2 termina. a-elabora- azzera i contatori, scandisce tutta laCOGRIGCM(chiave 2). Per ogni riga incrementa il contatore letti e, in base argc-tip, determina la data corretta ina1-data:RC->a1-tipo-rc: usargc-chiavecomecon-chiap, ricavacon-testa->tes-chia3, leggeCOGTESBO, prendetes-data;RD->a2-tipo-rd: usargc-chiavecomemag-chiap, leggeCOGMOMAG, prendemag-da3;RR->a3-tipo-rr: usargc-chiavecomedmr-chia1, leggeCOGDMRIG, prendedmr-data;TD->a4-tipo-td: usargc-chiavecometes-chia3, leggeCOGTESBO, prendetes-data;- altri tipi -> avviso "riga di tipo non previsto, non elaborata" e mantiene la data corrente.
- Se il documento collegato non viene trovato, viene mostrato un avviso (con commessa/sottocommessa e chiave) e la data della riga resta invariata (
a1-data = rgc-data). - Se
a1-datadifferisce dargc-data, riscrive la riga (rwr-cogrigcm) e incrementa il contatore scritti; in caso di errore in riscrittura avvisa.
Tipi di riga commessa gestiti (rgc-tip)¶
| Tipo | Documento collegato | Chiave usata | Campo data |
|---|---|---|---|
| RC | Riga contratto/fattura -> testata (COGCONTR -> COGTESBO) | rgc-chiave -> con-chiap -> con-testa |
tes-data |
| RD | Movimento di magazzino (COGMOMAG) | rgc-chiave -> mag-chiap |
mag-da3 |
| RR | Riga distinta/movimento (COGDMRIG) | rgc-chiave -> dmr-chia1 |
dmr-data |
| TD | Testata documento di magazzino (COGTESBO) | rgc-chiave -> tes-chia3 |
tes-data |
Note¶
- Il layout di
rgc-chiave(40 caratteri) e' polimorfo: il suo contenuto dipende dargc-tipe viene reinterpretato di volta in volta come chiave del documento collegato (contratto, movimento magazzino, riga distinta o testata documento). - Le righe di tipo non gestito (diverso da RC/RD/RR/TD) non sono modificate: viene solo emesso un avviso e mantenuta la data esistente.
- Se il documento collegato non e' rintracciabile la data della riga resta invariata (nessuna riscrittura), con avviso a video: e' un modo per segnalare righe orfane.
- Non ci sono filtri: l'elaborazione e' sempre a tappeto su tutta
COGRIGCM. - La chiave secondaria
cogrigcm.k02e' inclusa manualmente a fine procedure division (non generata da Screens). - Il codice usa
PERFORM ... THRUeGO TO(sorgente legacy pre-convenzioni attuali).