GRE011 - CRM: info nominativi¶
Nome programma: GRE011
Linkage section
Programma richiamabile solo dall'esterno, con i seguenti parametri: * Input * Operazione: * "AGGIORNA" * Codice nominativo * Modalita' di aggiornamento: * Tutta la scheda * Singola informazione; in questo caso deve essere presente: * Codice pagina * Progressivo * Tipo informazione: * "Informazione" * "Note" * Output * Esito dell'operazione * "S": Operazione riuscita * "N": Operazione non riuscita
Logica generale del programma¶
Questo programma viene innescato direttamente dai programmi che possono inserire o aggiornare un nominativo: * CRMS07 * CRMS06 * CRM030 * ....
Elaborazione
Verificare se l'azienda e' abilitata all'esportazione dei nominativi: * Leggere il record azienda GRPAZIEN usando EXT-GRP-AZIENDA * Leggere il record abilitazione gruppo/azienda GRPSYGAB impostando: * AO-SYA-COD = "CRM-NOM" * AO-SYA-TIP = ao-azi-tip * AO-SYA-SUDDIVISIONE = tipologia nominativo (CRMANAGR.CRA-TIP) * Se il record: * Non esiste: l'esportazione di questo gruppo dati non e' abilitato per la tipologia azienda e il tipo nominativo da trasferire; uscire * Esiste: se AO-SYA-ABI * = "S": esportazione abilitata * = "N": esportazione non abilitata: uscire
Questo programma e' di pura elaborazione; dovra' restituire al programma chiamante l'esito dell'elaborazione effettuata. Per entrambe le operazioni descritte il flusso di massima e' il seguente: 1. Creazione di un record di export 2. Creazione di un file contenente le informazioni di sincronizzazione abbinato al record di export
Creazione record di export¶
Il programma dovra' aggiungere un record su GRPEXPOR:
| Nome campo | Contenuto |
|---|---|
| ao-exp-id | Attribuzione di un nuovo id progressivo |
| ao-exp-exp-tip | grpazien.ao-azi-tip |
| ao-exp-azienda | grpazien.ao-azi-cod |
| ao-exp-classe | "011" |
| ao-exp-suddivisione | Tipologia nominativo |
| ao-exp-stato | "E" |
| ao-exp-esito | " " |
| ao-exp-msg | " " |
| ao-exp-a-data | data di sistema |
| ao-exp-a-ora | ora di sistema |
| ao-exp-c-data | 0 |
| ao-exp-c-ora | 0 |
Attenzione!! Se l'aggiornamento fallisce per chiave doppia, ripetere la ricerca di un nuovo id progressivo e ritentare.
Creazione file di export¶
Creazione di un file (vedi Formato dei files di dati) contenente le informazioni da esportare.
Il nome del file dovra' essere composto da: * Percorso configurato nel campo GRPAZIEN.AO-AZI-PATH-EXPORT * Nome file: Id progressivo assegnato (GRPEXPORT.AO-exp-ID) + "_" + Classe esportazione (GRPEXPORT.AO-exp-CLASSE): ad esempio: "000000123456_010.arc" * Estensione: ".arc" (estensione classica dei file vision)
Contenuto del file: vedi 011: Schede nominativo: informazioni
Modalita' "tutta la scheda"¶
Il programma chiamante ha passato solo il codice nominativo. Si dovranno esportare tutte le informazioni "variabili" collegate al nominativo: * Posizionamento su CRMANANF, con chiave NNF-CHIA1, impostando: * NNF-COD = nominativo * Per ciascun record trovato, creare un record sul file con tipo = "02" * Se l'informazione e' di tipo "griglia" (CRMINFOR.IPT-TIP = k-inf-tip-griglia): * Posizionamento su CRMANANG, con chiave NNG-CHIA1 impostando: * NNG-INFO = NNF-CHIA1 * Per ciascun record trovato creare un record sul file con tipo = "03" * Posizionamento su CRMANANN, con chiave NNN-CHIA1, impostando: * NNN-COD = nominativo * Per ciascun record trovato, creare un record sul file con tipo = "01"
Modalita' "singola informazione"¶
Il programma chiamante, oltre al codice nominativo ha passato: * Pagina * Prog
(informazioni con cui identificare l'informazione da passare) * Tipo informazione
(serve per capire da quale tabella leggere l'informazione.
Quindi, se il tipo informazione e': * "Informazione" * Posizionarsi sul record di CRMANANF con: * NNF-COD = nominativo * NNF-PAG = pagina * NNF-PROG = progressivo * Esportare sul file di output con tipo = '02' * Se l'informazione e' di tipo "griglia" (CRMINFOR.IPT-TIP = k-inf-tip-griglia): * Posizionamento su CRMANANG, con chiave NNG-CHIA1 impostando: * NNG-INFO = NNF-CHIA1 * Per ciascun record trovato creare un record sul file con tipo = "03" * "Note" * Posizionarsi sul record di CRMANANN con: * NNN-COD = nominativo * NNN-PAG = pagina * NNN-PROG = progressivo * Esportare sul file di output con tipo = '01'
Record di export "pronto"¶
Al termine della creazione del file, il record di esportazione si puo' mettere in stato "pronto": leggere quindi il record scritto in precedenza e impostare:
| Nome campo | Contenuto |
|---|---|
| ao-exp-stato | "A" |
dopodiche' aggiornare
Estratto da documentazione interna ClickUp