GRE021 - Aggiornamenti commesse¶
Nome programma: GRE021
Linkage section
Programma richiamabile solo dall'esterno, con i seguenti parametri: * Input * Operazione: * "AGGIORNA" * Elenco di codici commessa (9(10)); 200 elementi * Azienda destinataria * Operazione (x(01)) * Data scadenza (9(08)) * Output * Esito dell'operazione * "S": Operazione riuscita * "N": Operazione non riuscita
Logica generale del programma¶
Questo programma viene innescato direttamente dal programma di spedizione packing list: APO207
Elaborazione
Verificare se l'azienda e' abilitata all'esportazione della classe: * Leggere il record azienda GRPAZIEN usando EXT-GRP-AZIENDA * Leggere il record abilitazione gruppo/azienda GRPSYGAB impostando: * AO-SYA-COD = "COM-LAB" * AO-SYA-TIP = ao-azi-tip * AO-SYA-SUDDIVISIONE = " " * Se il record: * Non esiste: l'esportazione di questo gruppo dati non e' abilitato per la tipologia azienda e il tipo nominativo da trasferire; dare una segnalazione e forzare comunque l'esportazione. * Esiste: se AO-SYA-ABI * = "S": esportazione abilitata * = "N": esportazione non abilitata: dare una segnalazione e forzare comunque l'esportazione.
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 | "021" |
| ao-exp-suddivisione | " " |
| 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 |
| ao-exp-azienda-dest | Codice azienda destinataria passata in input |
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_021.arc" * Estensione: ".arc" (estensione classica dei file vision)
Contenuto del file:
Per ciascuna commessa passata in input creare un record:
| N. campo | Descrizione | Tipo campo | Contenuto |
|---|---|---|---|
| 1 | Operazione | A | "AGG" |
| 2 | Tipo record | N | "01" |
| 3 | Codice commessa | N | Codice commessa passato in input |
| 4 | Operazione | A | Operazione passata in input |
| 5 | Data scadenza | N | Data scadenza passata in input |
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