Nome programma
GRI002
Linkage section
Programma richiamabile solo dall'esterno, con i seguenti parametri:
❑Input
❑Chiave "GRPIMPOR"
❑Path di import
❑Output
❑Esito dell'operazione
❑"S": Operazione riuscita
❑"N": Operazione non riuscita
Logica generale del programma
Questo programma viene innescato da GRI000 e importa un'informazione relativa alla classe "002".
Elaborazione
Questo programma è di pura elaborazione; dovrà restituire al programma chiamante l'esito dell'elaborazione effettuata.
Recupero informazioni da aggiornare
Lettura del record GRPIMPOR la cui chiave è stata passata in input.
Lettura del record GRPAZIEN relativo a EXT-GRP-AZIENDA.
Con queste informazioni è possibile posizionarsi sul file di informazioni:
•Path: GRPAZIEN.AO-AZI-PATH-IMPORT
•nome: GRPIMPORT.AO-IMP-ID + "_" + GRPEXPOR.AO-IMP-CLASSE
•estensione: ".arc"
Il file deve esistere.
Aggiornamenti
Eseguire un loop sul file, che è in formato testo delimitato da tabulazione. Il tracciato record è definito in: Tabelle per informazioni CRM
Il primo campo contiene l'operazione da eseguire, che potrebbe essere:
•"AGG"
•"CANC"
Operazione "AGG"
Aggiornamento CRMINFTT
Usando il campo 2 "Codice tabella informazione" posizionarsi su CRMINFTT. Se non esiste deve essere inserito.
Dopodichè, se i campi presenti nel file riferiti a CRMINFOR sono diversi dal record letto, aggiornarli.
Aggiornamento CRMINFTR
Usando i campi:
•2 "Codice tabella informazione"
•5: "Codice valore"
•posizionarsi su CRMINFTR. Se non esiste deve essere inserito.
Dopodichè, se i campi presenti nel file riferiti a CRMINFTR sono diversi dal record letto, aggiornarli.
Operazione "CANC"
Cancellazione CRMINFTR
Usando i campi:
•2 "Codice tabella informazione"
•5: "Codice valore"
posizionarsi su CRMINFTR. Se esiste deve essere cancellato.
Cancellazione CRMINFTT
Verificare se esistono valori (CRMINFTR) collegati al record CRMINFTT; se non ne esistono, rimuovere anche il record su CRMINFTT.