Giri¶
Panoramica¶
Il sottosistema giri gestisce la pianificazione degli itinerari di visita clienti per operatori/venditori. Il flusso si articola in quattro fasi: definizione dei giri, pianificazione periodica, preparazione dei giri giornalieri e modifica manuale dei singoli viaggi.
I giri giornalieri generati sono utilizzati dal modulo Tentata vendita nell'applicazione Area Mobile.
| Programma | Righe | Funzione |
|---|---|---|
| COGMAA | 855 | Definizione giri (anagrafica giri e assegnazione operatori) |
| COGMAB | 1.382 | Definizione giri periodici (chiamato da COGMAA) |
| COGMAC | 617 | Preparazione giri giornalieri da pianificazione periodica |
| COGMAD | 1.259 | Modifica giri giornalieri |
Menu: Magazzino > Uscite > Giri
Tabelle coinvolte¶
| Tabella | Copybook | Descrizione |
|---|---|---|
| COGGRTES | coggrtes.cpy | Anagrafica giri (testata) |
| COGGRPER | coggrper.cpy | Dettaglio giri periodici (pianificazione) |
| COGGRDAY | coggrday.cpy | Giri esplosi per giorno (giri giornalieri) |
COGGRTES -- Anagrafica giri¶
Chiave primaria: grt-chia1 = grt-cod.
Chiave alternata (k02): grt-operatore + grt-cod.
| Campo | PIC | Descrizione |
|---|---|---|
| grt-cod | x(03) | Codice identificativo del giro |
| grt-des | x(60) | Descrizione del giro |
| grt-operatore | 9(05) | Operatore assegnato al giro |
COGGRPER -- Giri periodici¶
Chiave primaria: grp-chia1 = grp-giro + grp-mese + grp-settimana + grp-giorno + grp-prog.
| Campo | PIC | Descrizione |
|---|---|---|
| grp-giro | x(03) | Codice giro (riferimento a COGGRTES) |
| grp-mese | 9(02) | Mese (1-12, oppure 0 = tutti i mesi) |
| grp-settimana | 9(02) | Settimana (significato variabile in base allo schema) |
| grp-giorno | 9(02) | Giorno (significato variabile in base allo schema) |
| grp-prog | 9(04) | Progressivo destinatario nel giro (0 = testata) |
| grp-seq | 9(04) | Numero di sequenza nel giro |
| grp-ana-tip | x(01) | Tipo anagrafico |
| grp-ana-cod | 9(05) | Codice cliente da visitare |
| grp-dst-tip | x(01) | Tipo destinazione |
| grp-dst-idx | 9(04) | Id destinazione (non obbligatorio) |
Chiavi alternate:
- k02:
grp-ana+grp-chia1(ricerca per anagrafica) - k03:
grp-giro+grp-mese+grp-settimana+grp-giorno+grp-seq+grp-prog(ordinamento per sequenza) - k04:
grp-giro+grp-prog+grp-mese+grp-settimana+grp-giorno+grp-seq(ordinamento per progressivo)
COGGRDAY -- Giri giornalieri¶
Chiave primaria: grd-chia1 = grd-operatore + grd-data + grd-prog.
| Campo | PIC | Descrizione |
|---|---|---|
| grd-operatore | 9(05) | Codice operatore (nella gestione App Ordini Bar e' il codice agente) |
| grd-data | 9(08) | Data del giro (YYYYMMDD; 0 nella gestione App Ordini Bar) |
| grd-prog | 9(04) | Progressivo destinatario del giro |
| grd-seq | 9(04) | Numero di sequenza nel giro |
| grd-ana-tip | x(01) | Tipo anagrafico |
| grd-ana-cod | 9(05) | Codice cliente da visitare |
| grd-dst-tip | x(01) | Tipo destinazione |
| grd-dst-idx | 9(04) | Id destinazione (non obbligatorio) |
| grd-fl-canc | x(01) | Flag cancellazione logica ('C' = cancellato) |
Chiavi alternate:
- k02:
grd-ana+grd-chia1(ricerca per anagrafica) - k03:
grd-data+grd-operatore+grd-prog(ricerca per data)
Configurazione¶
| Chiave RNEWCONF | Formato | Default | Descrizione |
|---|---|---|---|
| schema-giri | x(01) | S | Schema temporale per la definizione dei giri |
Valori di schema-giri¶
| Valore | Schema | Descrizione |
|---|---|---|
| A | Settimanale ripetuto nei mesi | Giri settimanali (un giro per giorno della settimana) identici in tutti i mesi |
| B | Settimanale diversificato per mese | Giri settimanali diversi per ciascun mese dell'anno |
| C | Settimanale diversificato nell'anno | Giri settimanali diversi per ciascuna settimana dell'anno (1-52) |
| D | Numero del giorno sul mese | Giri definiti per numero di giorno nel mese (1-31), eventualmente diversificati per mese |
Lo schema e' unico per azienda e determina quali campi sono abilitati nella maschera dei giri periodici (COGMAB).
Impatto dello schema sui campi di COGGRPER¶
| Schema | Campo mese | Campo settimana | Campo giorno |
|---|---|---|---|
| A | Non abilitato (0) | 1-5 (settimana del mese) | 1-7 (giorno della settimana) |
| B | 1-12 | 1-5 (settimana del mese) | 1-7 (giorno della settimana) |
| C | Non abilitato (0) | 1-52 (settimana dell'anno) | 1-7 (giorno della settimana) |
| D | 0 o 1-12 | Non abilitato | 1-31 (giorno del mese) |
COGMAA -- Definizione giri¶
Identificazione¶
- Programma: COGMAA
- Area: Magazzino / Uscite / Giri
- Descrizione: Definizione anagrafica giri e assegnazione operatori
- Righe: 855
- Menu: Magazzino > Uscite > Giri > Definizione giri
Funzionalita' principale¶
Gestisce la tabella COGGRTES tramite una griglia che elenca i giri definiti. Ogni riga rappresenta un giro con codice, descrizione e operatore assegnato.
Operazioni¶
| Operazione | Modalita' | Descrizione |
|---|---|---|
| Inserimento | Ctrl-A | Aggiunge una nuova riga alla griglia |
| Modifica | Diretta | Modifica libera dei campi (es. riassegnare operatore) |
| Cancellazione | Ctrl-E | Elimina il giro selezionato (con conferma) |
| Salvataggio | F3 | Salva le modifiche apportate |
| Giri periodici | F5 | Richiama COGMAB per il giro selezionato |
Quando richiamato in modalita' selezione da un altro programma, F3 alterna tra modifica e selezione.
Catena di chiamata¶
COGMAA chiama COGMAB per la gestione dei giri periodici del giro selezionato (tasto F5).
COGMAB -- Definizione giri periodici¶
Identificazione¶
- Programma: COGMAB
- Area: Magazzino / Uscite / Giri
- Descrizione: Definizione dettaglio giri periodici per singolo giro
- Righe: 1.382
- Menu: Non a menu (chiamato da COGMAA)
Funzionalita' principale¶
Per ciascun giro, permette di definire i clienti/destinazioni da visitare in base allo schema temporale configurato. Opera sulla tabella COGGRPER.
Maschera¶
Testata (parametri del giro):
| Campo | Descrizione | Abilitazione per schema |
|---|---|---|
| Giro | Codice/descrizione del giro (read-only, impostato dal chiamante) | Sempre |
| Mese | Mese da 1 a 12, oppure 0 (generico) | B, D |
| Settimana | Settimana (significato variabile per schema) | A, B, C |
| Giorno settimanale | Giorno della settimana (lista di selezione) | A, B, C |
| Giorno del mese | Giorno da 1 a 31 | D |
Dettaglio (griglia clienti):
| Colonna | Campo | Descrizione |
|---|---|---|
| Progressivo | GRP-PROG | Read-only, progressivo nel giro |
| Cliente | GRP-ANA-COD | Codice/descrizione cliente (obbligatorio) |
| Destinazione | GRP-DST-IDX | Destinazione del cliente (non obbligatorio, selezione tramite tasto funzione) |
Operazioni¶
| Operazione | Modalita' | Descrizione |
|---|---|---|
| Inserimento | Ctrl-A | Aggiunge un cliente al giro del giorno |
| Modifica | Diretta | Modifica campi abilitati |
| Cancellazione | Ctrl-E | Elimina il nominativo dal giro |
| Salvataggio | F3 | Salva le modifiche |
COGMAC -- Preparazione giri giornalieri¶
Identificazione¶
- Programma: COGMAC
- Area: Magazzino / Uscite / Giri
- Descrizione: Generazione giri giornalieri da pianificazione periodica
- Righe: 617
- Menu: Magazzino > Uscite > Giri > Preparazione giri
Funzionalita' principale¶
Trasforma i giri periodici (COGGRPER) in giri giornalieri (COGGRDAY) per un periodo specificato. Per ciascun giro che ha un operatore assegnato (in COGGRTES), crea i record giornalieri corrispondenti.
Maschera¶
| Campo | Descrizione |
|---|---|
| Periodo da generare | Data inizio e data fine per la generazione |
Logica di elaborazione¶
- L'utente indica il periodo (da data / a data)
- Per ogni giorno del periodo, il programma:
- Cancella eventuali giri giornalieri preesistenti nel periodo (incluse modifiche manuali)
- Scorre i giri definiti in COGGRTES che hanno un operatore assegnato
- Per ogni giro, legge i record periodici da COGGRPER in base alla data e allo schema configurato
- Crea i corrispondenti record in COGGRDAY
Attenzione: la rigenerazione e' distruttiva -- eventuali modifiche manuali effettuate con COGMAD nel periodo vengono sovrascritte.
Tabelle lette/scritte¶
| Tabella | Operazione |
|---|---|
| COGGRTES | Lettura (scansione giri con operatore) |
| COGGRPER | Lettura (pianificazione periodica) |
| COGGRDAY | Cancellazione + Scrittura (rigenerazione giri giornalieri) |
COGMAD -- Modifica giri giornalieri¶
Identificazione¶
- Programma: COGMAD
- Area: Magazzino / Uscite / Giri
- Descrizione: Modifica manuale dei giri giornalieri generati
- Righe: 1.259
- Menu: Magazzino > Uscite > Giri > Modifica giri giornalieri
Funzionalita' principale¶
Permette di modificare i giri giornalieri (COGGRDAY) per un singolo operatore/giorno. Usato per apportare eccezioni rispetto alla pianificazione periodica dopo la generazione con COGMAC.
Maschera¶
Testata:
| Campo | Descrizione |
|---|---|
| Operatore | Codice/descrizione operatore assegnato al giro |
| Data | Data del giro da modificare/visualizzare |
Dettaglio (griglia clienti):
| Colonna | Campo | Descrizione |
|---|---|---|
| Progressivo | GRD-PROG | Read-only, progressivo nominativo |
| Cliente | GRD-ANA-COD | Codice/descrizione cliente (obbligatorio) |
| Destinazione | GRD-DST-IDX | Destinazione del cliente (non obbligatorio, selezione tramite tasto funzione) |
Operazioni¶
| Operazione | Modalita' | Descrizione |
|---|---|---|
| Inserimento | Ctrl-A | Aggiunge un cliente al giro del giorno |
| Modifica | Diretta | Modifica campi abilitati |
| Cancellazione | Ctrl-E | Elimina il nominativo dal giro |
| Salvataggio | F3 | Salva le modifiche |
Note tecniche¶
- In fase di caricamento griglia vengono scartati i record con
GRD-FL-CANC = 'C'(cancellati logicamente) - Se richiamato da un altro programma, operatore e data sono gia' impostati e la griglia precaricata
Flusso operativo complessivo¶
1. COGMAA 2. COGMAB 3. COGMAC 4. COGMAD
Definizione giri --> Giri periodici --> Preparazione --> Modifica
(per giro) giornalieri eccezioni
COGGRTES COGGRPER COGGRDAY COGGRDAY
(anagrafica) (pianificazione) (generazione) (ritocco)
- Definizione giri (COGMAA): si creano i codici giro e si assegnano agli operatori
- Giri periodici (COGMAB, da COGMAA con F5): per ciascun giro si definiscono i clienti da visitare in base allo schema temporale
- Preparazione giri (COGMAC): si genera il dettaglio giornaliero per un periodo, esplodendo la pianificazione periodica in record giornalieri
- Modifica giri (COGMAD): si apportano eccezioni puntuali al singolo operatore/giorno
Integrazione con Area Mobile¶
I giri giornalieri generati in COGGRDAY vengono sincronizzati verso l'applicazione Area Mobile tramite il processo SWN090 (GIRI-GIORNO), che trasferisce i dati sulla tabella speculare APCOGGRDAY per l'utilizzo nel modulo Tentata vendita.