You are on page 1of 3

'NOTES: DEVELOPED 5/19/2011, BY JSMITHHART, FOR TESTING OF VB.

NET INTEGRATION WI
TH SAP NCO, .NET CONNECTOR VERSION 3, 64 BIT
'EMAILS CAN BE SENT TO YAHOO.COM, WITH THE NAME OF JS1000 (THOSE ARE ZEROS)
'THIS YAHOO ADDRESS IS USED FOR SPAM PURPOSES, SO IF I DON'T ANSWER QUICKLY, THE
RE'S A REASON FOR IT. SORRY.
'HAVE A GREAT, BLESSED DAY!
'METADATA: SAP NCO, SAP .NET CONNECTOR, BAPI, BAPI_MATERIAL_GETLIST, MATNRS
ELECTION, CreateFunction, GetTable, SE37, FUNCTION MODULE,
' MATNRLIST, GetStructure, TESTING, FUNCTION BUILDER, ECD,
TEXT/EXECUTE F8, CHANGE, DISPLAY, FUNCTION MODULE DOCUMENTATION
Private _ecc As RfcDestination
Private Sub btnBAPI_MATERIAL_GETLIST_Click(ByVal sender As System.Object, By
Val e As System.EventArgs) Handles btnBAPI_MATERIAL_GETLIST.Click
Try
Connect()
Catch ex As Exception
If Not String.IsNullOrEmpty(ex.Message) Then
If ex.Message.ToLower.Trim = "destination configuration already
initialized" Then Exit Try
End If
Common.ShowMessage(ex, MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
Dim MaterialFunction As IRfcFunction = Nothing
Dim IRfcMATNRLIST As IRfcTable = Nothing
Dim IRfcMATNRSELECTION As IRfcTable = Nothing
Dim IRfcMATERIALSHORTDESCSEL As IRfcTable = Nothing
Dim IRfcRETURN As IRfcTable = Nothing
Try
'View transaction SE37 to see how this will work in the GUI.
'Create Function
MaterialFunction = _ecc.Repository.CreateFunction("BAPI_MATERIAL_GET
LIST")
'Add parameters to proper table, see GetTable
IRfcMATNRSELECTION = MaterialFunction.GetTable("MATNRSELECTION")
'You need to add a row, because you are setting values. For every ne
w series of values, append new row.
IRfcMATNRSELECTION.Append(1) 'this snippet of information comes f
rom here: http://www.sapdev.co.uk/java/jco/jco_callfunc.htm
'Assign values to the fields:
IRfcMATNRSELECTION.SetValue("SIGN", "I")
IRfcMATNRSELECTION.SetValue("OPTION", "CP")
IRfcMATNRSELECTION.SetValue("MATNR_LOW", "000000000002*") '18 digit
field, use * as wildcard.
IRfcMATNRSELECTION.SetValue("MATNR_HIGH", "")
'Executes the Function (BAPI in this case)
MaterialFunction.Invoke(_ecc)
'Get the return values, from various tables
IRfcMATNRLIST = MaterialFunction.GetTable("MATNRLIST")
IRfcMATNRSELECTION = MaterialFunction.GetTable("MATNRSELECTION")
IRfcMATERIALSHORTDESCSEL = MaterialFunction.GetTable("MATERIALSHORTD
ESCSEL")
IRfcRETURN = MaterialFunction.GetTable("RETURN")
Console.WriteLine("************************* IRfcMATERIALSHORTDES
CSEL ******************************************")
For i As Int32 = 0 To IRfcMATERIALSHORTDESCSEL.RowCount - 1
IRfcMATERIALSHORTDESCSEL.CurrentIndex = i
Console.Write(String.Concat((i + 1).ToString.PadLeft(4, "0"c), "
:"), vbTab)
Console.Write(String.Concat("SIGN:", IRfcMATERIALSHORTDESCSEL.Ge
tString("SIGN"), vbTab))
Console.Write(String.Concat("OPTION:", IRfcMATERIALSHORTDESCSEL.
GetString("OPTION"), vbTab))
Console.Write(String.Concat("DESCR_LOW:", IRfcMATERIALSHORTDESCS
EL.GetString("DESCR_LOW"), vbTab))
Console.Write(String.Concat("DESCR_HIGH:", IRfcMATERIALSHORTDESC
SEL.GetString("DESCR_HIGH"), vbTab))
Console.WriteLine(String.Empty)
Next

Console.WriteLine("************************* IRfcMATNRSELECTION
************************************************")
For i As Int32 = 0 To IRfcMATNRSELECTION.RowCount - 1
IRfcMATNRSELECTION.CurrentIndex = i
Console.Write(String.Concat((i + 1).ToString.PadLeft(4, "0"c), "
:"), vbTab)
Console.Write(String.Concat("SIGN:", IRfcMATNRSELECTION.GetStrin
g("SIGN"), vbTab))
Console.Write(String.Concat("OPTION:", IRfcMATNRSELECTION.GetStr
ing("OPTION"), vbTab))
Console.Write(String.Concat("MATNR_LOW:", IRfcMATNRSELECTION.Get
String("MATNR_LOW"), vbTab))
Console.Write(String.Concat("MATNR_HIGH:", IRfcMATNRSELECTION.Ge
tString("MATNR_HIGH"), vbTab))
Console.WriteLine(String.Empty)
Next
Console.WriteLine("************************* IRfcMATNRLIST ****
***************************************************")
For i As Int32 = 0 To IRfcMATNRLIST.RowCount - 1
IRfcMATNRLIST.CurrentIndex = i
Console.Write(String.Concat((i + 1).ToString.PadLeft(4, "0"c), "
:"), vbTab)
Console.Write(String.Concat("Material:", IRfcMATNRLIST.GetString
("MATERIAL"), vbTab))
Console.Write(String.Concat("MatDesc:", IRfcMATNRLIST.GetString(
"MATL_DESC").PadRight(70, " "c), vbTab))
Console.Write(String.Concat("MatExternal:", IRfcMATNRLIST.GetStr
ing("MATERIAL_EXTERNAL"), vbTab))
Console.Write(String.Concat("MatGuid:", IRfcMATNRLIST.GetString(
"MATERIAL_GUID"), vbTab))
Console.Write(String.Concat("MatVersion:", IRfcMATNRLIST.GetStri
ng("MATERIAL_VERSION"), vbTab))
Console.WriteLine(String.Empty)
Next
Catch ex As Exception
Common.ShowMessage(ex, MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
End Sub

You might also like