PDA

Ver la Versión Completa : BAPI_ACC_DOCUMENT_POST no guarda datos


sapclen
20/07/10, 16:20:43
Hola a todos,

Invoco al objeto BAPI_ACC_DOCUMENT_POST desde una macro, ejecuta y me devuelve el numero de documento pero no guarda los datos en la tabla BKPF y BSEG, alguno tiene idea de que este pasado? ( tambien ya puse el BAPI_TRANSACTION_COMMIT y nada).

Este es parte de mi codigo.

Set objbapiacc = SAPConn.Add("BAPI_ACC_DOCUMENT_POST")

Set objDocumentHeader = objbapiacc.Exports("DOCUMENTHEADER")

' Datos de DocumentHeader

objDocumentHeader.Value("BUS_ACT") = "RFBU"
objDocumentHeader.Value("USERNAME") = "RY06336"
objDocumentHeader.Value("HEADER_TXT") = ActiveSheet.Cells(4, 7).Value
objDocumentHeader.Value("COMP_CODE") = "0876"
objDocumentHeader.Value("DOC_DATE") = CDate("05/07/2010")
objDocumentHeader.Value("PSTNG_DATE") = CDate("05/07/2010")
objDocumentHeader.Value("TRANS_DATE") = CDate("05/07/2010")
objDocumentHeader.Value("FISC_YEAR") = 2010
objDocumentHeader.Value("FIS_PERIOD") = 7
objDocumentHeader.Value("DOC_TYPE") = "PM"
objDocumentHeader.Value("REF_DOC_NO") = ActiveSheet.Cells(4, 2).Value


' Datos para accountgl

Set objaccountgl = objbapiacc.Tables("ACCOUNTGL")

objaccountgl.AppendRow
objaccountgl.Value(1, "ITEMNO_ACC") = 1
objaccountgl.Value(1, "GL_ACCOUNT") = "5731105561"
objaccountgl.Value(1, "ITEM_TEXT") = "TRANSFERENCIA BCO CONTINENTAL A BCP"
objaccountgl.Value(1, "REF_KEY_3") = "CONTINENTAL A BCP"
objaccountgl.Value(1, "ACCT_TYPE") = "S"
objaccountgl.Value(1, "COMP_CODE") = "0876"
objaccountgl.Value(1, "BUS_AREA") = "EC00"
objaccountgl.Value(1, "FIS_PERIOD") = 7
objaccountgl.Value(1, "FISC_YEAR") = 2010
objaccountgl.Value(1, "PSTNG_DATE") = CDate("05/07/2010")
objaccountgl.Value(1, "VALUE_DATE") = CDate("05/07/2010")


' Datos para accountreceivable

Set objaccountreceivable = objbapiacc.Tables("ACCOUNTRECEIVABLE")

objaccountreceivable.AppendRow
objaccountreceivable.Value(1, "ITEMNO_ACC") = 1
objaccountreceivable.Value(1, "GL_ACCOUNT") = "5731105561"
objaccountreceivable.Value(1, "REF_KEY_3") = "CONTINENTAL A BCP"
objaccountreceivable.Value(1, "COMP_CODE") = "0876"
objaccountreceivable.Value(1, "BUS_AREA") = "EC00"
objaccountreceivable.Value(1, "ITEM_TEXT") = "TRANSFERENCIA DE BCO CONTINENTAL A BCP"
objaccountreceivable.Value(1, "PYMT_CUR_ISO") = "PES"
objaccountreceivable.Value(1, "PYMT_AMT") = 4.1

' Datos para objaccountpayable

Set objaccountpayable = objbapiacc.Tables("ACCOUNTPAYABLE")

objaccountpayable.AppendRow
objaccountpayable.Value(1, "ITEMNO_ACC") = 1
objaccountpayable.Value(1, "GL_ACCOUNT") = "5731105561"
objaccountpayable.Value(1, "REF_KEY_3") = "CONTINENTAL A BCP"
objaccountpayable.Value(1, "COMP_CODE") = "0876"
objaccountpayable.Value(1, "BUS_AREA") = "EC00"
objaccountpayable.Value(1, "ITEM_TEXT") = "TRANSFERENCIA DE BCO CONTINENTAL A BCP"
objaccountpayable.Value(1, "PYMT_CUR_ISO") = "PES"
objaccountpayable.Value(1, "PYMT_AMT") = 4.1

Set objcurrencyamount = objbapiacc.Tables("CURRENCYAMOUNT")

objcurrencyamount.AppendRow
objcurrencyamount.Value(1, "ITEMNO_ACC") = 1
objcurrencyamount.Value(1, "CURR_TYPE") = 30
objcurrencyamount.Value(1, "CURRENCY") = "PES"


objbapiacc.Call

Dim objwait As Object
Set objbapicommit = SAPConn.Add("BAPI_TRANSACTION_COMMIT")
Set objwait = objbapicommit.Exports("WAIT")
objwait.Value = "X"

objbapicommit.Call

Dim objreturn As Object
Set objreturn = objbapiacc.Tables("RETURN")

Set objkey = objbapiacc.Imports("OBJ_KEY")

Dim mensaje As String
mensaje = CStr(objkey)

Dim i As Long

If mensaje = "$" Then
Call DisplayError(objreturn)
Set objbapirollback = SAPConn.Add("BAPI_TRANSACTION_ROLLBACK")
objbapirollback.Call
Else
MsgBox "Entro"

End If

MsgBox "Numero de documento " + mensaje

'SAPConn.Logoff
Set objbapiacc = Nothing
Set SAPConn = Nothing

lisset
02/04/18, 16:34:34
hola pudiste arreglar el tema? actualmente invoco a la bapi y en el mensaje muestra el nro de documento pero cuando voy a bkpf y bseg no existe.
Muchas gracias

Dhdez
17/02/21, 10:51:38
Hola tiene pinta de que no te esta haciendo el commit work.