Vai al contenuto

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