Interfaccia con SAP
Info
Esempi
Linguaggio
Librerie
Formule
Visitati
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