SAP MII SQLQuery

SAP MII SQLQuery

Se ti sei imbattuto in SAP MII come strato integrativo, sicuramente avrai avuto necessità di usare almeno una SQLQuery verso un Database SQL.

Vediamo in questo articolo quali action servono e come usarle per creare una transazione che effettua delle queries SQL base verso un Database SQL Server.

Se non hai ancora creato la connessione al Database, puoi seguire questo articolo “SAP MII e Database SQL Server” per crearla.

Ora dedichiamoci alla nostra transazione, apriamo il workbench e creiamone una nuova.

Come prima cosa vedremo come aggiungere una SQLQuery che effettua una select. Andiamo quindi nel nostro progetto, con il destro del mouse apriamo il menù di creazione e selezioniamo SQLQuery per crearne una nuova, che chiameremo select_test. La stessa funzione è disponibile nel menù File > New > SQLQuery.

Nel menù a sinistra saremo già nel tab Template Categories > Data source, qui dovremo scegliere la sorgente dati per la nostra query, ad esempio ILMIODATABASE e il Mode di accesso. Utilizzeremo FixedQuery in modo da poter scrivere la nostra query come in un normalissimo client SQL.

Andiamo quindi in Fixed Query Details e scriviamo la nostra query di select.

Ora siamo già pronti ad eseguire la nostra query nella transazione, ci basterà trascinarla dentro una sequence, e per provarla possiamo usare un tracer che andrà a loggarne l’output.

Abbiamo appena creato la nostra prima transazione che interroga un database. Ora siamo pronti a complicare le cose andando a inserire dei record nella nostra tabella.

Ma prima un suggerimento sulle select! SAP MII di default vi propone un limite di record settato a 100, questo molte volte è una forte limitazione oltre ad essere uno degli errori più comuni. Capita spesso di ottenere result set parziali per poi scoprire che stiamo ottenendo esattamente 100 righe dovute al default, quindi settate tale limite in base alle vostre necessità!

Creiamo una nuova SQLQuery, questa volta la chiameremo insert_test, e faremo appunto una semplice insert con due Param che corrispondono ai due parametri di input che andremo ad utilizzare.

Definiamo nella nostra transazione due Parametri di Input che per convenzione faremo iniziare per IN_, utilizzeremo IN_Name e IN_Surname.

Aggiungiamo una sequence alla nostra transazione e trasciniamoci dentro la nostra nuova query, a questo punto possiamo aggiungere una nuova select e un nuovo tracer in modo da valutare il risultato prima e dopo la insert.

Prima di eseguire la nostra transazione dobbiamo ricordarci di entrare nei links della nostra insert e mappare i nostri due input con i primi due Param della query.

Come possiamo vedere dal nostro Tracer_1 la seconda select restituirà il record aggiunto dalla insert.

Ora siamo davvero pronti ad utilizzare SAP MII e le sue transazioni per effettuare elaborazioni sui dati di un Database SQL. Con gli stessi strumenti saremo ovviamente in grado di richiamare Stored Procedures o Functions SQL.

 

Nessun commento

Aggiungi il tuo commento