<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Sap Netweaver &amp; BAPI in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-netweaver-bapi/m-p/1036814#M85259</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;see below example code calling a bapi from sap&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; read a message short and longtext using the BAPI &lt;/P&gt;&lt;P&gt;' BAPI_MESSAGE_GETDETAIL of the object BapiService&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' constant for user identification&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrClient As String = "000"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrUser As String = "MYUSER"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrPassword As String = "MYPASS"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrLanguage As String = "EN"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' constant for system identification&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMSysSystem As String = "P45"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMSysMessageServer As String = "p45main.wdf.sap-ag.de"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMSysGroupName As String = "PUBLIC"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' constant values for reading message texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgId As String = "SX"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgNumber As String = "101"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable1 As String = "var1"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable2 As String = "var2"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable3 As String = "var3"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable4 As String = "var4"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgLanguage As String = "DE"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' other constant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMPathfile As String = "D:\A\saptext.rtf"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' password for login in R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim strMUsrPassword As String&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' react on button START&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Private Sub cmdMsgStart_Click()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' define object for BAPI ActiveX control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oBAPICtrl As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' define object for R/3 logon control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oLogonCtrl As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' business object BapiService&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim boBapiSercice As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' for BAPI: BapiService.MessageGetDetail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oMsgReturn As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oMsgText As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim intCounter As Integer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' to open the file you need a file channel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim intChannel As Integer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' create BAPI ActiveX control object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set oBAPICtrl = CreateObject("SAP.BAPI.1")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' create R/3 logon control object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set oLogonCtrl = CreateObject("SAP.Logoncontrol.1")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' connection object is part of the BAPI ActiveX Control object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set oBAPICtrl.Connection = oLogonCtrl.NewConnection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill logon parameters for system to use&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.System = txtSysSystem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.MessageServer = txtSysMessageServer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.GroupName = txtSysGroupName&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill logon parameter for user&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Client = txtUsrClient&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.User = txtUsrUser&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Password = strMUsrPassword&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Language = txtUsrLanguage&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' user logon to R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If oBAPICtrl.Connection.Logon(frmStart.hWnd, False) = False Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MsgBox "R/3 connection failed"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' create BAPI service object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set boBapiService = oBAPICtrl.GetSAPObject("BapiService")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' call method of BapiService&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;boBapiService.MessageGetDetail id:=txtMsgId, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Number:=txtMsgNumber, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Language:=txtMsgLanguage, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Textformat:=cboMsgTextformat.Text, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;message:=strMsgShorttext, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Return:=oMsgReturn, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Text:=oMsgText&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill field in form&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' If txtMsgShorttext = "" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' MsgBox "No message read"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' user logoff from R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Logoff&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' error handling check if RETURN parameter is not empty and react&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If oMsgReturn.Value("TYPE") &amp;lt;&amp;gt; "" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lblReturn.Caption = oMsgReturn.Value("TYPE") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("ID") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("NUMBER") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V1") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V2") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V3") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V4") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("LOG_NO") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("LOG_MSG_NO")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Else&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill form fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;txtMsgShorttext = strMsgShorttext&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;arrayText = oMsgText.Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' handling of non RTF texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If cboMsgTextformat.Text &amp;lt;&amp;gt; "RTF" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For intCounter = 1 To oMsgText.RowCount&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If intCounter = 1 Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rtfMsgLongtext.Text = arrayText(intCounter, 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Else&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rtfMsgLongtext.Text = rtfMsgLongtext.Text + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chr(13) + Chr(10) + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;arrayText(intCounter, 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next intCounter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' handling of RTF texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If cboMsgTextformat.Text = "RTF" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' save text as rtf file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;intChannel = FreeFile&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Open cstrMPathfile For Output As #intChannel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For intCounter = 1 To oMsgText.RowCount&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Print #intChannel, arrayText(intCounter, 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next intCounter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Close #intChannel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rtfMsgLongtext.LoadFile cstrMPathfile, rtfRTF&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And also see below link which will help you linking vb with sap using DCOM&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_webas610/helpdata/en/09/6b320f419311d2952000a0c94260a5/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_webas610/helpdata/en/09/6b320f419311d2952000a0c94260a5/content.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 22 Nov 2005 16:19:50 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-11-22T16:19:50Z</dc:date>
    <item>
      <title>Sap Netweaver &amp; BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-netweaver-bapi/m-p/1036812#M85257</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not much familiar with BAPI's, but my company uses BAPI's for two Business processes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with uprgarde to Sap Netweaver coming in near future I am bit concerned about how handle BAPI calls to Sap from VB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please give your suggestions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Nov 2005 15:45:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-netweaver-bapi/m-p/1036812#M85257</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-11-22T15:45:15Z</dc:date>
    </item>
    <item>
      <title>Re: Sap Netweaver &amp; BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-netweaver-bapi/m-p/1036813#M85258</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What is the concern?   They should still work.  You may need to do a little tweaky.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rich HEilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Nov 2005 15:50:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-netweaver-bapi/m-p/1036813#M85258</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2005-11-22T15:50:35Z</dc:date>
    </item>
    <item>
      <title>Re: Sap Netweaver &amp; BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sap-netweaver-bapi/m-p/1036814#M85259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;see below example code calling a bapi from sap&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; read a message short and longtext using the BAPI &lt;/P&gt;&lt;P&gt;' BAPI_MESSAGE_GETDETAIL of the object BapiService&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' constant for user identification&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrClient As String = "000"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrUser As String = "MYUSER"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrPassword As String = "MYPASS"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMUsrLanguage As String = "EN"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' constant for system identification&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMSysSystem As String = "P45"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMSysMessageServer As String = "p45main.wdf.sap-ag.de"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMSysGroupName As String = "PUBLIC"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' constant values for reading message texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgId As String = "SX"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgNumber As String = "101"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable1 As String = "var1"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable2 As String = "var2"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable3 As String = "var3"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgVariable4 As String = "var4"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMMsgLanguage As String = "DE"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' other constant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Const cstrMPathfile As String = "D:\A\saptext.rtf"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' password for login in R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim strMUsrPassword As String&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' react on button START&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Private Sub cmdMsgStart_Click()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' define object for BAPI ActiveX control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oBAPICtrl As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' define object for R/3 logon control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oLogonCtrl As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' business object BapiService&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim boBapiSercice As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' for BAPI: BapiService.MessageGetDetail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oMsgReturn As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim oMsgText As Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim intCounter As Integer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' to open the file you need a file channel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dim intChannel As Integer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' create BAPI ActiveX control object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set oBAPICtrl = CreateObject("SAP.BAPI.1")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' create R/3 logon control object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set oLogonCtrl = CreateObject("SAP.Logoncontrol.1")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' connection object is part of the BAPI ActiveX Control object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set oBAPICtrl.Connection = oLogonCtrl.NewConnection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill logon parameters for system to use&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.System = txtSysSystem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.MessageServer = txtSysMessageServer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.GroupName = txtSysGroupName&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill logon parameter for user&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Client = txtUsrClient&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.User = txtUsrUser&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Password = strMUsrPassword&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Language = txtUsrLanguage&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' user logon to R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If oBAPICtrl.Connection.Logon(frmStart.hWnd, False) = False Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MsgBox "R/3 connection failed"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' create BAPI service object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set boBapiService = oBAPICtrl.GetSAPObject("BapiService")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' call method of BapiService&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;boBapiService.MessageGetDetail id:=txtMsgId, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Number:=txtMsgNumber, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Language:=txtMsgLanguage, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Textformat:=cboMsgTextformat.Text, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;message:=strMsgShorttext, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Return:=oMsgReturn, _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Text:=oMsgText&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill field in form&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' If txtMsgShorttext = "" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' MsgBox "No message read"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' user logoff from R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oBAPICtrl.Connection.Logoff&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' error handling check if RETURN parameter is not empty and react&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If oMsgReturn.Value("TYPE") &amp;lt;&amp;gt; "" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lblReturn.Caption = oMsgReturn.Value("TYPE") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("ID") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("NUMBER") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V1") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V2") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V3") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("MESSAGE_V4") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("LOG_NO") + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;". " + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oMsgReturn.Value("LOG_MSG_NO")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Else&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' fill form fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;txtMsgShorttext = strMsgShorttext&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;arrayText = oMsgText.Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' handling of non RTF texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If cboMsgTextformat.Text &amp;lt;&amp;gt; "RTF" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For intCounter = 1 To oMsgText.RowCount&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If intCounter = 1 Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rtfMsgLongtext.Text = arrayText(intCounter, 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Else&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rtfMsgLongtext.Text = rtfMsgLongtext.Text + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chr(13) + Chr(10) + _&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;arrayText(intCounter, 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next intCounter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' handling of RTF texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If cboMsgTextformat.Text = "RTF" Then&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' save text as rtf file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;intChannel = FreeFile&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Open cstrMPathfile For Output As #intChannel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For intCounter = 1 To oMsgText.RowCount&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Print #intChannel, arrayText(intCounter, 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next intCounter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Close #intChannel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rtfMsgLongtext.LoadFile cstrMPathfile, rtfRTF&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End If&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And also see below link which will help you linking vb with sap using DCOM&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_webas610/helpdata/en/09/6b320f419311d2952000a0c94260a5/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_webas610/helpdata/en/09/6b320f419311d2952000a0c94260a5/content.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Nov 2005 16:19:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sap-netweaver-bapi/m-p/1036814#M85259</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-11-22T16:19:50Z</dc:date>
    </item>
  </channel>
</rss>

