Newsgroup: it.comp.lang.visual-basic
Titolo: Un aiuto sulle transazioni di SAP R/3 con VB

Ciao,
E' da pochissimo che sono entrato nel mondo SAP e volevo fare un
programma che accedesse ad una tabella SAP con la lista delle
timbrature giornaliere.
Il programma gira su Excel e pertanto sfutta delle macro scritte in
VB.
Oggi ho imparato ad effettuare logon e logoff da excel(su SAP 4.5b),
ma potreste dirmi come si fa ad accedere ad una specifica pagina di
SAP? il sito 
help.sap.com
 è esaustivo, ma troppo! Sono alle prime armi
e mi sono perso del tutto.
In pratica devo accedere a questa pagina, inserire alcuni campi (data
iniziale e data finale), dare OK e leggere il contenuto del risultato
per poi buttarlo su un foglio excel.
Se almeno mi potreste dire da dove iniziare, ve ne sarei grato.
Un saluto.
PL

 per poi buttarlo su un foglio excel.
Sinceramente non sapevo neppure che fosse possibile.
Non è un problema creare un batch-input e lanciarlo da excel, ma solamente
perchè è lo stesso Sap R/3 a consentire questa modalità batch.
Tu invece vuoi interagire con form utente, inserire dei valori e leggere ciò
che lo stesso Sap visualizzerebbe.
Se puoi andare a leggere i dati direttamente da una delle 15.000 tabelle di
Sap, il problema non si pone, perchè Sap si appoggia a DB relazionali (DB/2,
Oracle, Sql-Server,...), per cui puoi bypassarlo ed andare direttamente con
OleDb o Odbc sul database.
Facciamo così:
posta il codice con cui fai login e logoff, così cerco di capire se hai
aperto una connessione batch o una vera e propria sessione utente, poi vedo
se trovo qualcosa.
Ciao
Alberto

Devi utilizzare una RFC nativa di Sap che faccia
quello che necessiti oppure la crei tu facendo
un bach-input. Con i dati restituiti alimenti i campi
di Excel.
                    Ciao Andrea

Ciao,
Io pensavo ad uno script del genere:
Option Explicit
Sub Main
Dim HostName As String
Dim SystemNumber As String
Dim Client As String
Dim UserID As String
Dim Password As String
Dim Language As String
Dim Transaccion As Object
Dim GetCustomers As Object
Dim Customers As Object
Dim LogonOCX As Object
Dim trans As Object
Dim Pant As Object
Dim Campos As Object
'
HostName = "XXXXXX"
SystemNumber = "00"
Client = "XXX"
UserID = "XXXX"
Password = "XXXX"
Language = "S"
'
Set Transaccion = CreateObject("SAP.Transactions.1")
'
' Transaccion: CREAR MATERIAL
'
Set trans = Transaccion.Add("MM01","PRUEBA")
'
Set Pant = trans.SCREENS.Add
Pant.program = "SAPLMGMM"
Pant.Number = "0060"
Set Campos = Pant.FIELDS
Campos.Add "RMMG1-MATNR", ""   ' No. Material
Campos.Add "RMMG1-MBRSH", "H"    ' Ramo
Campos.Add "RMMG1-MTART", "ROH"    ' Tipo material
Campos.Add "BDC_OKCODE", "/00"
'
Set Pant = trans.SCREENS.Add
Da quello che ho capito, faccio il logon collegandomi a
SAP.Logoncontrol.1 in modo da connettermi tramite una finestra che mi
chiede username e password (e questo funziona).
Poi chiamo la SAP.Transactions.1 e riempio la tabella con i dati che
mi servono, come nel codice sopra di esempio, ed infine il risultato
lo ottengo stampando con questi codici:
trans.call
MsgBox trans.Message.Value("MSGTX")
Voi dite che funziona oppure io di SAP non ci capisco una brega?
Devo dire che quando cerco di collegarmi a SAP.Transactions.1, ottengo
un errore di ActiveX can't create object. Ho installato le RFC SDK
Libraries e mi sembra che non sia stato creato un OLE che si chiami
SAP.Transactions.1...
Insomma, ho proprio bisogno di un aiuto!
Io vorrei tirarmi giů su excel i dati di quando timbro l'ingresso e
l'uscita dal lavoro (e questi dati sono in sap) e poi calcolare via
excel quante ore al mese ho fatto di straordinari in piů o meno...
Grazie.

...
