|
#1
|
|||
|
|||
Problema curioso en llamada a BAPI desde VB
Hola.
Esto realizando una llamada a una BAPI para obtener el listado de proyectos definidos en SAP y mostrarlos en una report hecho con Visual Studio. El problema es que la bapi tiene como parametro TABLES una tabla para insertar rangos de seleccion (como SELECT-OPTIONS). Pues bien, estoy introduciendo: ORDEN.Value(1, "SIGN") = "I" ORDEN.Value(1, "OPTION") = "CP" ORDEN.Value(1, "LOW") = "P/ETO/" (Este es el inicio del código de proyecto según la máscara) Pero no selecciona nada. Sin embargo si informo la tabla de la siguiete forma: ORDEN.Value(1, "SIGN") = "I" ORDEN.Value(1, "OPTION") = "CP" ORDEN.Value(1, "LOW") = "P*ETO*" Entonces si obtengos registros en la selección. En SAP ejecuto la BAPI con ambos parámetros de seleccion y en ambos casos encuentro registros. Ademas exites proyectos que empiezan por "P/ETO/" Está claro que el problema está en el "/". ¿Alguien sabe por qué me ocurre esto, ó alguna vez tuvo un problema parecido? Gracias |
#2
|
|||
|
|||
BAPI_ACC_DOCUMENT_POST no guarda datos
Al invocar el objeto BAPI_ACC_DOCUMENT_POST no guarda datos en la tabla BKPF y BSEG, pero si genera el numero de documento, el cual da como respuesta.
Mi codigo es el siguiente, alguna idea?? 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) If mensaje = "$" Then Call DisplayError(objreturn) Set objbapirollback = SAPConn.Add("BAPI_TRANSACTION_ROLLBACK") objbapirollback.Call End If 'SAPConn.Logoff Set objbapiacc = Nothing Set SAPConn = Nothing
__________________
Alexander Clen Riva Cc. Area de Desarrollo de Software BizPartner - Perú |
Herramientas | Buscar en Tema |
Desplegado | |
|
|