COGZQ0 -- Rinomina cartella con la commessa (Industry 4.0)¶
Sorgente: cbl/cogzq0.cbl | Tipo: Programma di menu / elaborazione (maschera) | Program-ID: COGZQ0
Menu: Lab.Odont. > Operativo > Varie > Industria 4.0 [Rinomina cartella con commessa]
Scopo¶
COGZQ0 supporta il flusso Industry 4.0 del laboratorio odontotecnico: partendo da una commessa gia' aperta e da una cartella "client" scelta dall'operatore, rinomina i file di modellazione 3D con estensione .stl presenti nella cartella aggiungendovi il numero di commessa, li sposta in una nuova cartella "cartella -
L'operatore seleziona la commessa (studio/paziente/progressivo o numero) tramite COGS98W, indica o cerca la cartella (F5 apre la finestra di selezione percorso del sistema operativo), conferma con F3 e il programma esegue lo spostamento/rinomina di tutti i file .stl.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| FEURTAB | cogfiles.cpy |
Parametri generali azienda (rd-azi) |
| LODTABEL | cogzq0.select (lodtabel.fd) |
Tabelle laboratorio (gestione tramite COGS98W) |
| LODPRESC | cogzq0.select (lodpresc.fd) |
Prescrizione: lettura commessa (rd-lodpresc, chiave lpm-med/lpm-paz/lpm-pro) |
| LODCMTES | cogzq0.select (lodcmtes.fd) + lodcmtes.k02 |
Testata commessa: verifica esistenza commessa aperta via rd-lodcmtes-chia2 (chiave lct-chia2 = prescrizione) |
Programmi chiamati¶
| Programma | Innesco | Ruolo |
|---|---|---|
| COGS98W | z-s98-tm-presc (accept e ricerca commessa) |
Gestione/validazione dei campi di selezione commessa (studio/paziente/progressivo/numero); esiti found/not-found/exit/prev/next |
| C$OPENSAVEBOX | F5 su campo cartella | Finestra di sistema per la selezione del percorso (opensave-browse-folder, OPENSAVE-BROWSE-NEWDIALOGSTYLE) |
| C$LIST-DIRECTORY | dopo conferma | Apertura (listdir-open), scansione (listdir-next) e chiusura (listdir-close) della cartella con filtro *.stl |
| COPIAF | ciclo file + fine elaborazione | Operazioni su file lato client: copy (copia rinominata), delete (rimozione file di origine), shell (comando rd /Q per rimuovere la cartella di origine) |
Flusso principale¶
apri-- inizializza il programma (z-99-init-program), controllo abilitazione (ctr-abil), apre i file, carica la lingua, crea il pulsante custom "Commessa (F5)" e inizializza la maschera.a-tm-cli-- accept della commessa via COGS98W;x-controlla-commessaverifica che la prescrizione esista (find+display) e che la commessa sia aperta (LODCMTES viard-lodcmtes-chia2), poi rilegge LODPRESC.a-tm-cartella-- accept del percorso cartella; con F5 apreC$OPENSAVEBOX;x-controlla-tm-cartellaverifica che il nome sia valorizzato e che sia una cartella "client" (terzo carattere = separatore client,ext-os-slash-client).a-richiesta-conferma-- richiesta di conferma; compone il percorso di ricerca@[DISPLAY]:<cartella>/e apre la cartella con filtro*.stlviaC$LIST-DIRECTORY; se non ci sono file.stlavvisa e torna alla scelta commessa.- Ciclo su ogni file (
perform with test after until c-filename = " "): scarta./..e le directory; per ogni file compone il nuovo nome<nome> - <commessa>.stl, esegue la copia rinominata nella nuova cartella<cartella> - <commessa>(COPIAFcopy), incrementa il contatore e rimuove il file di origine (COPIAFdelete). - A fine ciclo elimina la cartella di origine con COPIAF
shell(rd /Q "<cartella>") e chiude la directory; se sono stati rinominati file mostra il conteggio.
Note¶
- Il programma opera sui file lato client tramite COPIAF (
k-ccopy-location-client,k-ccopy-do-override/k-ccopy-blind-override); la rimozione della cartella usa la modalita'shellcon comando DOSrd /Q. - La chiave secondaria
lodcmtes.k02e' inclusa manualmente in coda alla procedure division (non generata da Screens). - Il controllo sullo stato "commessa completa" (
s98-lpm-stato= "C"/"E") e' presente nel sorgente ma commentato: attualmente non e' vincolante. - Copybook di interfaccia inclusi:
utils54.cpy,utils52.cpy,utils98.cpy,utilzde.cpy,utilfnt.cpy,utilzs3.cpy,l-copiaf.cpy/u-copiaf.cpy(COPIAF),opensave.def,utilncnf.cpy. Programma standalone (mmmask.cpy).
Documentazione tecnica -- 2026-08-05