CRM120 - Creazione Calendario Agenda per Operatore
| Campo |
Valore |
| Sorgente |
cbl/crm120.cbl |
| Tipo |
Utility interattiva (con modalita' batch) |
| Posizione menu |
CRM > Archivi > Agenda > Creazione calendario |
Scopo
Genera o rigenera il calendario delle fasce orarie disponibili per uno o tutti gli operatori CRM, in un intervallo di date scelto. Ogni giornata viene scomposta in 96 slot da 15 minuti (4*24) e marcata disponibile/non disponibile sulla base di:
- Orario operatore (
CRMAGORA tipo O)
- Orario aziendale di default (
CRMAGORA tipo A)
- Festivita' (
CRMAGFES)
Opzionalmente ricalcola gli impegni laboratorio (LODIMPMX) se configurato.
File e tabelle
CRMAGCAL: calendario (scrittura/rilettura/cancellazione)
CRMAGORA: orari operatore (tipo O) o aziendali (tipo A)
CRMAGFES: festivita' aziende
CRMUSERS: utenti CRM (filtro cru-liv numerico > 0)
PRNTOPER: operatori (k03 per reparto/sottoreparto)
LODIMPMX: impegni massimi laboratorio (k02 per data, k03 per ope/data)
Programmi chiamati
| Programma |
Scopo |
| festa.cob |
Calcolo giorno della settimana e flag festivo |
| DTPRG / PRGDT |
Conversione data ↔ progressivo |
| RNEWCONF |
Lettura configurazione |
| WP04 |
Helper aiuto via sendwp04.cpy |
Configurazioni RNEWCONF
| Gruppo |
Chiave |
Scopo |
| abilita |
labod-impegni |
Se A o M: abilita ciclo impegni laboratorio (tm-cfg-labod-impegni) |
| labimp |
assegnazione-operatori |
M = per operatore, altrimenti per reparto/sottoreparto (tm-cfg-assegnazione-ope) |
Logica di elaborazione
- Input operatore (0 = tutti), data inizio, data fine.
- Conferma esplicita.
- Cancella il calendario precedente nell'intervallo, preservando record con
cca-fl-occ = "S" (occupato) o cca-fl-forzato = "S" (forzato).
- Per ogni giornata:
- Determina se festiva (festa.cob + CRMAGFES)
- Se non festiva, per ogni quarto d'ora verifica se rientra in un intervallo
CRMAGORA (per operatore o aziendale di default)
- Scrive
CRMAGCAL con flag disponibile
- Se
tm-cfg-labod-impegni attivo: rigenera LODIMPMX.
Modalita' batch
- Sentinella:
crm120-called = k-program-id
- Quando
w-dc-batch-mode = "S": salta UI maschera, esegue con parametri util-crm120 (crm120-ope, crm120-data-min, crm120-data-max).
- Richiamato da altri programmi per ricalcolo automatico.
Personalizzazioni
ferrari-waterdes: festivita' ricorrenti CRMAGFES con anno 0 valgono solo se la giornata e' gia' festa aziendale.
Note implementative
- Pattern legacy con
GO TO etichettati a1- / a12- per cicli annidati giorno/ora/minuti.