어제 올렸던 소스는 샘플자료로 가지고 있던 소스이였으며 적용소스는 아래와 같습니다.
asp에서 sap 인터페이스 연동하는데 logon이 계속 않되고 있습니다.
서버 : 가상화서버에서 작업중이며 Windows Server 2012 R2 64비트 입니다.
해당서버에는 SAPGUI (730)을 설치했습니다.
Dim sapConnection, functionCtrl
Dim retcd
Dim theFunc
Dim returnFunc
Dim docs
Dim T_PERSON
Dim i
Dim pernr
'SAP 접속 함수
Sub ConnectSAP()
Set sapConnection = Server.CreateObject("SAP.Logoncontrol.1")
Set sapConnect = sapConnection.NewConnection
sapConnect.System = ""
sapConnect.ApplicationServer = "xxx.xxx.xxx.xxx"
sapConnect.SystemNumber = "00"
sapConnect.User = "INF_SPM"
sapConnect.Password = "INF_SPM"
sapConnect.Client = "100"
sapConnect.Language = "KO"
'sapConnect.Codepage = "8500"
retcd = sapConnect.Logon(0,true)
If RetCd = False Then
Response.write "SAP Logon Failed."
Response.End
Else
Response.write "SAP Logon Succeeded."
Response.End
End If
Set functionCtrl = Server.CreateObject("SAP.Functions")
functionCtrl.Connection = sapConnection
End Sub
'SAP 접속 종료 함수
Sub CloseSAP()
functionCtrl.Connection.logoff
Set sapConnection = Nothing
Set functionCtrl = Nothing
End Sub
ConnectSAP()
위와 같이 작성하여 실행 했을때 "SAP Logon Failed." 만 계속 뜹니다.
sap를 처음 접하는 저로선 무슨 문제가 있는 모르겠네요...ㅠㅠ
위에 소스도 검색해서 찾은 소스입니다.
위의 문제에 대해 조언 좀 부탁드립니다.
SAP 접속 함수 부분에 이상이 있어 보입니다.
아래는 userform에서 버튼을 클릭했을 경우에 화면의 데이터를 sap으로 전송하고
전송된 결과값을 받아오는 예제입니다.
주의 하실 것은 ocx 파일을 참조하셔서 프로그램을 해야 합니다.
' note.
' 2개 참조로 추가해준다.
' C:Program FilesSAPFrontEndSAPguiwdtfuncs.ocx
' C:Program FilesSAPFrontEndSAPguiWDTAOCX.OCX
Private Sub CommandButton4_Click()
Set functionCtrl = CreateObject("SAP.Functions")
Set sapConnection = functinCtrl.Connection
sapConnection.User ="user"
sapConnection.Password = "password"
sapConnection.System = "xxx"
sapConnection.ApplicationServer = "xxx.xxx.xxx.xxx"
sapConnection.SystemNumber = "00"
sapConnection.Client = "710"
sapConnection.Language = "KO"
if sapConnection.Logon(0, True ) Then
Else
MsgBox "No connection to R/3!"
Exit sub
End if
Set theFunc = functionCtrl.Add("ZPP_PDA_INTF")
if theFunc is Nothing Then
MsgBox "Create function module object failed"
Exit sub
End if
theFunc.Exports("I_WERKS") = TextBox1.Text