Lotus Notes / Domino Sonstiges > Companion Products

SAP Connector - Artikel mittels BAPI ändern

(1/2) > >>

STB82:
Hallo,
 ich habe folgendes Problem. Es soll in Lotusscript mittels einer BAPI ein Artikel in SAP bearbeitet werden. Hierzu habe ich zuerst BAPI_MATERIAL_EDIT gesehen, bin dann aber durch Internet-Recherche auf BAPI_MATERIAL_SAVEDATA gestoßen. Leider finden sich weder zu der einen noch zu der anderen entsprechende Lösungen für SAP. Durch die Dokumentation weiß ich, dass man nur Artikelnummer (als Key) und den neuen Kurztext und die Sprache mitgeben muss, damit die Artikelkurzbeschreibung geändert wird.

Folgenden Code kann ich anbieten:


--- Code: --- Dim src As New LCConnection("sap")
Dim fieldlist As New LCFieldlist
Dim Res As New LCFieldList
Dim field1 As LCField
Dim field2 As LCField
Dim field3 As LCField
Dim counter As Integer

src.Database = "BAPI_MATERIAL_SAVEDATA"

Set field1 = fieldlist.Append("IMPORTSHEADDATAMATERIAL",LCTYPE_TEXT)
field1.Value= "000000000000012345"

Set field2 = fieldlist.Append("MATERIALDESCRIPTIONMATL_DESC",LCTYPE_TEXT)
field2.Value= "Neuer Kurztext"

Set field3 = fieldlist.Append("MATERIALDESCRIPTIONLANGU",LCTYPE_TEXT)
field3.Value= "DE"

counter = src.Call(fieldlist, 1, Res)
--- Ende Code ---

Hier wird leider die Fehlermeldung

--- Code: ---Error: No value supplied for required property,  Connector 'sap',  Method -Call-
--- Ende Code ---
ausgeworfen.

Ich bin ehrlich gesagt momentan etwas ratlos, wo hier der Fehler liegt?! Ich hoffe ich liege nicht komplett daneben.

Wäre nett wenn mir hier einer weiterhelfen könnte.

STB82:
Hat keiner eine Lösung für mich parat?!

schroederk:
Sieht für so aus, als wenn nicht alle benötigten Parameter übergeben werden.
Hast Du den Funktionsbaustein mal im SAP aufgerufen, um anzeigen zu lassen, welche Parameter pflicht und welche optional sind (TAC SE37)?
Dort kannst Du zumindest auch mal mit Testdaten spielen und bekommst gegebenfalls auch eine detailliertere Fehlerbeschreibung.

STB82:
Ja, das habe ich getan während ich mir die Pflichtfelder rausgesucht habe.

Habe dort für das aufrufen des Funktionsbausteins die Materialnummer eingetragen, anschließend in der Tabelle MATERIALDESCRIPTION den neuen Wert für den Kurztext und das Länderkennzeichen. Dort wurde es auch korrekt bearbeitet.

Daher würde ich diese Fehlerquelle ausschließen...

schroederk:
Für eine Fehleranalyse von Funktionsbausteinen habe ich mir einen kleinen Trick ausgedacht:
Ich kapsel den bestehenden Funktionsbaustein, d.h. ich baue einen eigenen, der dann den gewünschten einfach wieder aufruft.
Hier kann ich dann aber einen Stop einbauen, der den Ablauf des Programms anhält.
Über die SM50 kann ich dann den laufenden Prozess im Debugger starten und nun im Einzelschritt schauen, welche Parameter kommen denn tatsächlich an und wie sollten sie aussehen. Zudem kann ich natürlich auch testweise bestimmte Felder noch korrigieren und schauen, ob der BAPI dann sauber läuft oder nicht.
Ist übrigens auch praktisch bei Funktionen über Browser, z.b. SAP CRM oder Netwiever.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln