Vai al contenuto

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 - " e infine elimina la cartella di origine.

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

  1. 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.
  2. a-tm-cli -- accept della commessa via COGS98W; x-controlla-commessa verifica che la prescrizione esista (find+display) e che la commessa sia aperta (LODCMTES via rd-lodcmtes-chia2), poi rilegge LODPRESC.
  3. a-tm-cartella -- accept del percorso cartella; con F5 apre C$OPENSAVEBOX; x-controlla-tm-cartella verifica che il nome sia valorizzato e che sia una cartella "client" (terzo carattere = separatore client, ext-os-slash-client).
  4. a-richiesta-conferma -- richiesta di conferma; compone il percorso di ricerca @[DISPLAY]:<cartella>/ e apre la cartella con filtro *.stl via C$LIST-DIRECTORY; se non ci sono file .stl avvisa e torna alla scelta commessa.
  5. 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> (COPIAF copy), incrementa il contatore e rimuove il file di origine (COPIAF delete).
  6. 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' shell con comando DOS rd /Q.
  • La chiave secondaria lodcmtes.k02 e' 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