[53753] in SAPr3-news

home help back first fref pref prev next nref lref last post

Re: Dokumentation?

daemon@ATHENA.MIT.EDU (Roger Kober)
Thu Mar 10 05:14:54 2005

To: sapr3-news@mit.edu
Date: Thu, 10 Mar 2005 11:14:42 +0100
From: Roger Kober <no_mail@example.com>
Message-ID: <39al0kF5vqkrsU1@individual.net>

Christian Zalto schrieb:
> "Roger Kober" <no_mail@example.com> schrieb:
> 
>>Gibt es eine Dokumentation der Eigenschaften und Methoden des
>>Objekt "SAP.Functions"?
>>
> 
> Die Dokumentation der Attribute und Methoden im OCX selbst
> ist ganz okay, schau Dir einfach mit einem Objektbrowser, z.B.
> dem im Excel VBA, das "SAP Remote Function Call Control"
> (Dateiname "wdtfuncs.ocx") an.

Danke, schau ich mir mal an.
> 
> 
>>Gibt es von Dokumentation zum Thema VBA und R/3?
>>
> 
> Es gibt ein sehr gutes Buch zu dem Thema von Patrick Theobald:
> "SAP R/3 Kommunikation mit RFC und Visual Basic"

Sind dort  die Eigenschaften und Methoden der SAP Objekte beschrieben?

> Der alternative Ansatz für Lotus Notes wäre die Verwendung des
> SAP R/3 Connectors, einer Lotusscript-Extension (LSX). Dazu
> mehr auf http://www-10.lotus.com/ldd/eiforum.nsf oder, wenn
> es auch Java im Backend sein darf, könnte man den SAP Java
> Connector "JCo" einsetzen.

IMHO setzt das DECS voraus. Dies scheint mir 'Oversized' für das, was 
ich vorhabe. JCo muesste ich mir noch anschauen.

> Die Aufrufe eines SAP Remote Function Call sind in allen Varianten
> zum Verwechseln ähnlich, denn überall steckt die librfc32.dll dahinter.
> Diese ließe sich auch direkt programmieren, allerdings ist mir das
> bislang nur in VBA geglückt, in Lotusscript (noch) nicht. Falls
> jemand eine funktionierende Lotusscript-Lösung hat - würde
> mich interessieren!
> 
Gibt es für die librfc32.dll ein Doku (ähnlich der Lotus C++ API)? Wie 
schon geschrieben, der Aufruf von "RFC_CUSTOMER_GET" funktioniert. Was 
mir fehlt ist eine Doku der Objekte. Gemäss dem untenstehenden Beispiel:
Welche Eigenschaften und Methoden hat "functionCtrl", "sapConnection", 
"theFunc" und "Customers"?




Sub GetCustomer()
' Umgeschriebenes VBA Beispiel für Lotusscript
' 
http://help.sap.com/saphelp_470/helpdata/de/40/b297f3c32711d194ac00a0c94260a5/content.htm

   Const SEARCH_NAME = "*"
   Const SEARCH_KUNR = "*"


   Dim functionCtrl As Variant
   Dim sapConnection As Variant
   Dim theFunc As Variant
   Dim Customers As Variant
   Dim returnFunc As Boolean
   Dim start_Char As Variant
   Dim die_exception As Variant
   Dim tableData As Variant
   Dim idxCustomer As Integer

   ' SAP Objekte referenzieren
   Set functionCtrl = CreateObject("SAP.Functions")
   Set sapConnection = functionCtrl.Connection

   ' Anmelden am R/3
   sapConnection.Client = "XXX"
   sapConnection.User = "XXX"
   sapConnection.Password = "XXX"
   sapConnection.Language = "XXX"
   sapConnection.Destination = "XXX"
   sapConnection.HostName = "XXX"
   If sapConnection.Logon(0, True) <> True Then
     Msgbox "Keine Verbindung zum R/3"
     Exit Sub
   End If

   ' Referenz zur Funktion übergeben
   Set theFunc = functionCtrl.Add("RFC_CUSTOMER_GET")

   ' Suchbegriffe an die Funktion übergeben
   theFunc.exports("NAME1") = SEARCH_NAME
   theFunc.exports("KUNNR") = SEARCH_KUNR

   ' Funktion aufrufen
   returnFunc = theFunc.Call()
   die_exception = theFunc.Exception

   If returnFunc = True Then
     Set Customers = theFunc.tables.Item("CUSTOMER_T")

     For idxCustomer = 1 To Customers.RowCount    ' Index startet mit 1
       tableData = Customers.Rows(idxCustomer).Data

       Print idxCustomer & " Kundennr.:" & tableData(1,1)
       Print idxCustomer & " Anrede:" & tableData(1,2)
       Print idxCustomer & " Name:" & tableData(1,3)
       Print idxCustomer & " Postfach:" & tableData(1,4)
       Print idxCustomer & " Straße:" & tableData(1,5)
       Print idxCustomer & " PLZ:" & tableData(1,6)
       Print idxCustomer & " Ort: " & tableData(1,7)
       Print idxCustomer & " Fon:" & tableData(1,8)
       Print idxCustomer & " Fax:" & tableData(1,9)

     Next idxCustomer

     Set Customers = Nothing
   Else
     If die_exception = "NO_RECORD_FOUND" Then
       Msgbox "Keine Werte vorhanden für " + SEARCH_NAME
     Else
       Msgbox "Fehler beim Zugriff auf Funktion im R/3!"
       Exit Sub
     End If
   End If

   ' Logoff from SAP
   functionCtrl.Connection.Logoff

   ' SAP objekte dereferenzieren
   Set sapConnection = Nothing
   Set functionCtrl = Nothing

End Sub

home help back first fref pref prev next nref lref last post