WikiUp

Obiettivo


Permette di aggiornare o aggiungere elementi di qualsiasi classe di oggetti di smeup tramite l'analisi di un foglio di calcolo.

Prerequisiti Smeup


  • Controllare la validità delle assunzioni dello script SCP_UPP/LOCA40_VAR dove sono settate le seguenti variabili (nota bene, le prima è utilizzata anche dalla funzione di export):
    • ImpCar: è la cartella in cui verranno ricercati i file da importare. Di default è una cartella del desktop del pc dell'utente avente nome "Smeup".
    • WrkLib: è la libreria in cui vengono appoggiati i file di transito dell'as400. Di default viene assunta la libreria utilizzata per la business intelligenze (loa15).
    • WrkFil: è il nome che viene attribuito al file di transito dell'as400 impiegato in ogni operazione di import. Viene assunto con il nome utente. Significa che un utente può fare solo un'operazione di import alla volta.
  • Deve esistere il pgm K89 di gestione dell'oggetto che si vuole importare, cioè di norma il pgm B£K89_xx, dove xx di norma è il tipo oggetto, ma visto che esistono delle eccezioni è meglio verificare il risultato dell'oav J/095 dell'istanza di classe, che ritorna il pgm preciso. Si ricorda che per i file che non corrispondo ad una classe si usa la classe IDfile)
  • E' fondamentale che nel pgm specifico della K89 sia stata gestita correttamente la funzione / metodo, DER / OGG, in cui deve essere previsto che il codice oggetto (£K89I_CD) venga riempito a partire dal codice campo e/o dal corrispondente OAV passati in InzDat (si veda il B£K89_AR come esempio).
  • In presenza di campi non riconducibili ad OAV (es. campi specifici delle estensioni degli enti) che vogliono essere utilizzati per l'import, è importante che tali campi siano caricati nelle schiere prima che venga eseguita la £K89J con metodo CAR.INP (il metodo che carica i valori passati nel parametro InzDat).

Formati xls, xlsx e csv


I formati xls e xlsx sono i formati meglio supportati.

Il formato csv è supportato, ma non con tutte i dettagli previsti per il file xls. Nel caso di errori di interpretazione si consiglia di convertire i file cvs in xls.

Per fare questo e non perdere gli eventuali zeri dei codici numerici (cioè celle che hanno valori espressi solo da cifre, ma non sono numeri), non aprire il file tramite excel, ma seguire questi passi:
  • aprire il pgm excel
  • andare alla voce di menù "dati"
  • da "testo/csv"
  • selezionare a questo punto il csv da importare
  • si aprirà una finestra di anteprima dell'import, da qui prima di premedere carica, selezionare, alla voce "rilevamento del tipo di dati", il valore "non rilevare il tipo di dati".

Prerequisiti del foglio di calcolo


Il foglio può essere prodotto dalla funzione di export oppure avere altra provenienza, l'importante è che rispetti i prerequisiti riportati a seguire.

  • Il file deve essere monofoglio

  • Il foglio deve essere strutturato in modo che il sistema riconosca le colonne e gli oggetti che l'utente vuole importare. Sono previste le seguenti possibilità:
    • Nome colonna = nome campo dell'archivio di riferimento
    • Nome colonna = codice oav di riferimento
    • Nome colonna = struttura prevista nell'export oggettizzati di un file xls da smeup. Cioè ad esempio "Azienda(E§CRAG|CNE§TRAG|15)", dove:
      • Azienda è la descrizione del campo
      • E§CRAG è il nome del campo
      • CNE§TRAG è l'oggetto degli elementi presenti nella colonna
      • 15 è la lunghezza massima del contenuto della colonna

  • E' prerequisito che sia sempre presente la colonna (o le colonne per qualche caso) corrispondenti al codice dell'oggetto. Es. nel caso dei contatti (CN) deve esistere la colonna E§CRAG o I/02.

  • L'import di un file funziona solamente se tutte le colonne sono riconosciute correttamente, poiché solo in questo modo il sistema può svolgere tutti i controlli sui dati inseriti. nel caso siano presenti colonne non riconducibili a oav o campi dell'oggetto, vanno eliminate dal foglio di calcolo.

Descrizione della procedura


  • Spostare il foglio nella cartella preposta (vedi prerequisiti di smeup), se no è già li presente
  • Selezionare la voce di menù dell'import
  • Viene richiesta la scelta della classe che voglio elaborare
  • All'utente viene mostrato il contenuto della cartella preposta
  • bisogna selezionare il file che si desidera importare e cliccare il bottone in basso "Import File XLS.."
  • aspettare il messaggio di conferma di completamento operazione e premere invio. * verrà automaticate richiamato il tab "Esegui" per l'ultimo passaggio della procedura.
  • L'ultimo passaggio consiste nell'aggiornamento dei dati, all'utente viene presentata una scheda che mostra gli elementi presenti nell'Excel in relazione agli elementi già presenti nella classe di oggetti, e li colora in base alle azioni da fare:
    • se un elemento dell'Excel è uguale ad un altro elemento già presente nella classe, il record viene colorato di verde
    • se un elemento dell'Excel esisteva già nella classe ma presenta delle modifiche e quindi si tratta di un'azione di modifica, il record viene colorato di rosa
    • se un elemento dell'Excel è completamente nuovo e quindi si tratta di un'azione di aggiunta, il record viene colorato di azzurro
    • se un elemento dell'Excel presenta degli errori nei dati inseriti, il record viene colorato di rosso scuro, e cliccando il simbolo + è possibile leggere il messaggio di errore.

Ricapitolando, ad esempio, se l'utente volesse cambiare la descrizione di un'azienda della classe CNAZI, dovrebbe creare un file Excel con 2 colonne, la prima oggettizzata con il codice dell'elemento della classe che corrisponde all'azienda di cui si vuole cambiare descrizione, ed una colonna per la descrizione.
Perciò le 2 colonne saranno intestate in questo modo:
  • Azienda(E§CRAG|CNE§TRAG|15)
  • Ragione sociale(E§RAGS||70)

Da notare che la seconda colonna non presenta l'oggetto, in quanto la descrizione (ovvero la ragione sociale dell'azienda) è un campo testuale libero.

Una volta verificata la bontà dei dati e corretti eventuali errori è possibile effettuare un'immissione ed aggiornamento di massa scegliendo tra i bottoni nella parte superiore della scheda.

Utilizzo degli alias


E' prevista l'applicazione degli alias in fase di import. Gli alias applicati sono gli stessi previsti per le conversioni e hanno quindi queste caratteristiche:
  • Usano il contesto CON
  • Si ricorda che il contesto CON prevede che nel suffisso venga indicata l'azienda di riferimento.
  • Perchè un alias venga applicato è necessario che la classe corrispondente venga codificata nella tabella B§W e che in tale elemento sia riempito il campo "Usare alias" con il valore "CON".
  • Si appoggiano alla procedura in QPROGEN £P002
  • Se ci sono degli alias che puntano ad un sottosettore di tabella specifica per un'azienda, è necessario compilare l'alias indicando il sottosettore specifico, oltre che la tabella. Ad esempio, volendo importare i Codici Pagamento, se presente un sottosettore 01 specifico per un'azienda, sarà necessario inserire gli alias per la classe TAPAG01; codificare gli alias per TAPAG risulterà in una mancata conversione.

Vedi Conversioni (TAC£K-CON)
Vedi Condizioni di conversione (ST-B§W)
Vedi Ripresa Alias di un Oggetto (MBQPROGEN-£P002)

Note particolari


  • Pulire un valore: una cella vuota del foglio di partenza viene semplicemente ignorata. Solo se nella cella viene specificato il valore *CLEAR è possibile fare in modo che il valore dell'attributo corrispondente venga pulito.

  • Utilizzo delle descrizioni come valori: è possibile indicare la descrizione del valore in luogo al valore del campo, se al codice del campo della colonna viene aggiunto il suffisso ".D". Es. se tale codice è E§PROV verrà cercato solo il valore della provincia (BS, BG ecc.), se invece tale è codice è E§PROV.D sarà possibile anche indicare la descrizione (es. Brescia, Bergamo, ecc.).
Con questa modalità è comunque possibile utilizzare la descrizione anche solo per alcune celle, lasciando per altre il codice.
Passando la descrizione poi tale descrizione si cercherà di ricondurla ad un codice, applicando la logica della £K40 con funzione/metodo blank, che include l'analisi della descrizione, ma anche degli alias "£DE".
Per maggiori dettagli sul tipo di elaborazione che viene eseguita per identificare poi il codice si veda la documentazione dell'API £K40

  • Logiche specifiche nella exit della K89: nell'exit della K89, se si vuole attivare certi comportamenti solo quando si sta utilizzando il LOA40, si può sfruttare la variabile £K89I_OR (origine), che verrà valorizzata proprio con la stringa 'LOA40'.

Add new attachment

Only authorized users are allowed to upload new attachments.
«