on 04-03-2008 2:52 PM
Hi Gurus,
I am trying to change the Sales Order (Requested Delivery Date) in R/3 from an external VB application using BAPI_SALESORDER_CHANGE. The BAPI documentation clearly states to enter U in UPDATEFLAG field in ORDER_HEADER_INX structure. After calling the BAPI, in return code, I am getting error message number 347 and message text Field header_inx-updateflag is not an input field but the documentation states to do so. Please help me out, the VB codes are as under:
'----
'----
'SOME VARIABLE DECLARATION AND ASSIGNMENTS
'----
Dim obSAPFnCntrl As Object
Dim obSAPConn As Object
'Creating SAP Function object
obSAPFnCntrl = CreateObject("SAP.Functions")
'Creating Connection Object to connect to SAP
obSAPConn = obSAPFnCntrl.Connection
'SET CONNECTION PARAMETERS WITH PRE ASSIGNED VARIABLES
obSAPConn.ApplicationServer = CNT_STR_APPLN_SRVR
obSAPConn.SystemNumber = CNT_STR_SYS_NUM
obSAPConn.User = CNT_STR_USR
obSAPConn.Password = CNT_STR_PWD
obSAPConn.Language = CNT_STR_LOGON_LANG
obSAPConn.Client = CNT_STR_CLIENT
'NOW CONNECT TO R/3
If obSAPConn.Logon(0, True) = False Then
MsgBox("SAP Logon Failed")
obSAPConn = Nothing
obSAPFnCntrl = Nothing
Else
MsgBox("SAP Logon Succeeded")
End If
'create a BAPI function object
Dim obSAP_CalledBAPI As Object
obSAP_CalledBAPI = obSAPFnCntrl.Add("BAPI_SALESORDER_CHANGE")
'export parameter with assignment - CHAR 10
obSAP_CalledBAPI.Exports("SALESDOCUMENT").Value = "5000539446"
'EXPORT PARAMETER - ONLY FIELD NEEDS CHANGE IN ORDER_HEADER_INX.
'THIS COULD BE THE POTENTIAL SOURCE OF ERROR
obSAP_CalledBAPI.Exports("ORDER_HEADER_INX").Value("REQ_DATE_H") = "U"
'EXPORT PARAMETER - ONLY FIELD NEEDS CHANGE IN ORDER_HEADER_IN.
obSAP_CalledBAPI.Exports("ORDER_HEADER_IN").Value("REQ_DATE_H") = 20080606
'TABLES PARAMETER
Dim obSAP_Tbl_Return As Object
obSAP_Tbl_Return = obSAP_CalledBAPI.Tables("RETURN")
'NOW CALL THE BAPI & COMMIT - BANG!
If obSAP_CalledBAPI.Call = False Then
MsgBox("BAPI Call failed")
Else
MsgBox("BAPI Call successful")
Dim obCommit As Object
obCommit = obSAPFnCntrl.Add("BAPI_TRANSACTION_COMMIT")
If obCommit.Call = False Then
MsgBox("Commit Failed")
Else
MsgBox("Commit successful")
End If
End If
'CHECK THE RETURN CODES & MESSAGE
MsgBox(obSAP_Tbl_Return.Value(1, 4))
'LOGOFF & OBJECTS CLEANUP CODES
'----
'----
NEVER MIND ........ I have figured out my mistake after some tweakings here and there. The correct codes are ...
obSAP_CalledBAPI.Exports("ORDER_HEADER_IN").Value("REQ_DATE_H") = 20080606
obSAP_CalledBAPI.Exports("ORDER_HEADER_INX").Value("UPDATEFLAG") = "U"
obSAP_CalledBAPI.Exports("ORDER_HEADER_INX").Value("REQ_DATE_H") = "X"
Lalit
Edited by: Lalit Mohan on Apr 4, 2008 8:04 PM
The correct codes figured out after some tweakings.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.