Interfaccia con SAP
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Una classe VBA che consente di semplificare le operazioni più comuni nell'interfacciamento con SAP


Componenti visibili della classe:
  1. Apri_Sessione : crea il link alla sessione aperta
  2. NonAttiva : esegue il controllo per verificare che la sessione sia disponibile (sap non aperto o non fatto il login)
  3. Transazione : richiama una transazione
  4. Campo (proprietà) : per impostare e leggere i valore dei campi sulle maschere
  5. TastoFunzione : invia il tasto comando del tasto funzione con in parametro in testo, es "F8", "Shift-F8", "Ctrl-F8", "Ctrl-F"
  6. Esegui : invia F8 per Confermare la maschera
  7. Esci : invia F3 fino a che ritorna al menù principale
  8. TastoInvio : equivale a premere invio sulla finestra
  9. ScegliVoceSuElenco : permette di scegliere un valore nella prima colonna di une elenco
  10. EsportaGriglia: esporta una griglia AVL dei risultati al foglio di calcolo
  11. EsportaTabella: esporta una tabella tabella di valori al foglio di calcolo
  12. SceltaMultipla: consente di impostare un elenco di scelte multiple per un bottone di dettaglio



Apertura della sessione
Apri_Sessione: per avere un collegamento alla sessione attiva di SAP è sufficiente defininire la variabile e usare la proceudra in questo modo:
Dim FinSAP As New Mf_ScriptSAP
FinSAP.Apri_Sessione
NonAttiva: questa funzione permette di controllare se la sessione è disponibile realmente, ad esempio la finestra di SAP potrebbe non essere aperta, si usa in questo modo:
If (FinSAP.NonAttiva) Then
  MsgBox "Deve essere avviato SAP per poter eseguire la macro."
  Exit Sub
Else
  ' codice della macro
End If

Eseguire una transazione
Transazione: richiama la transazione SAP indicata come parametro, può essere utizzata in questo modo:
FinSAP.Transazione("nome transazione")
La procedure restituisce un eventuale descrizione dell'errore o del messaggio di avvertimento, come nel caso in cui l'utente non disponga delle autorizzazioni necessarie o oppure se la transazione non esiste. Al codice possono essere aggiunte queste righe di codice per contemplare la possibilità di un errore:
Errore = FinSAP.Transazione("nome transazione")
If (Errore<> "") Then
  MsgBox Errore
Else
  ' codice della macro
End If

La proprietà campo
La proprietà campo può essere utilizzata sia per impostare i valori nei campi, sia per leggerli; i valori vengono letti e impostati sulla finestra attiva.
Alcuni esempi di utilizzo della proprietà:
  1. FinSAP.Campo(Nome campo) = Valore: scrive il valore sul campo
  2. Valore = FinSAP.Campo(Nome campo) : legge il valore dal campo

Tasti funzione
TastoFunzione: consente di inviare il comando indicato come parametro, la possibilità di indicarlo come testo aiuta a rendere il codice più leggibile. Alcuni esempi di utilizzo:
FinSAP.TastoFunzione("F8")
FinSAP.TastoFunzione("Shift+F8")
FinSAP.TastoFunzione("Ctrl+F8")
FinSAP.TastoFunzione("Ctrl+V")
FinSAP.TastoFunzione("PageDown")
Alcune funzioni preimpostate richiamano i comandi più comuni:
  1. Esegui: equivale a premere F8;
  2. Esci: invia F3, una o più volte, fino a che la finestra non è ritornata al menù principale ritorna al menù principale;
  3. TastoInvio: equivale a premere il tasto invio.

Scelta di una voce in un elenco
ScegliVoceSuElenco : può essere utilizzato quando è necessario scegliere fra un elenco di possibilità, come nel caso della scelta del gruppo utenti per le query:
FinSAP.TastoFunzione ("Shift+F7")
FinSAP.ScegliVoceSuElenco ("SD")

Esportazione di una griglia
EsportaGriglia: permette di esportare una griglia di valori (o delle sole colonne che interessano) da SAP al proprio foglio di calcolo.
I parametri della funzione sono:
  1. Posizione: indica la cella in cui inserire la griglia;
  2. Campi(opzionale): se indicati i nomi dei campi, separati da virgole, la procedura limiterà l'importazione solo a quelli;
  3. IdComponente(opzionale): indica il componente griglia (GuiShell) di cui importare i valori, se omesso carica i valori dalla prima griglia trovata;
  4. ConIntestazioni(opzionale): se impostate a True carica anche i nomi dei campi, altrimenti (per default) carica solo i valori.

Esportazione di una lista di valori in tabella
EsportaTabella: permette di esportare una tabella di valori in modo del tutto simile ad EsportaGriglia; la procedura riconosce automaticamente la prima riga con le intestazioni dei campi, nel caso di più di una tabella importa solo la prima.
I parametri della funzione sono:
  1. Posizione: indica la cella in cui inserire la tabella;
  2. Campi(opzionale): se indicati i nomi dei campi, separati da virgole, la procedura limiterà l'importazione solo a quelli;
  3. ConIntestazioni(opzionale): se impostate a True carica anche i nomi dei campi, altrimenti (per default) carica solo i valori.


I file scaricabili associati a questo articolo e il codice delle funzioni sono riservati agli utenti abbonati del sito.


Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
Per dubbi o domande potete scriverci a domande@macrofacili.it, sulla nostra pagina FB MacroFacili.it o sul gruppo FB Excel, macro e formule.
 

data4idea srls - PIva 01881000937 - info@data4idea.it