Programar una macro para importar desde excel usando la DI API
Junto con saludar les dejo los pasos de un pequeño ejemplo sobre como importar desde excel usando la DI API mediante una simple macro.
1.- El primer paso consiste en abrir una hoja de calculo Excel
2.- Luego abrimos la ventana de edición de visual basic que trae excel para programar macros
3.- Agregamos las referencias de la DI API de SAP al trabajo actual
4.- Insertamos el código, cambian los parámetros de conexión que corresponden a su servidor y ejecutan el código
Public Sub Imp_Items() Dim oCompany As SAPbobsCOM.Company Dim lRetCode, ErrorCode As Long Dim ErrorMessage As String Set oCompany = New SAPbobsCOM.Company oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008 oCompany.DbUserName = "sa" oCompany.DbPassword = "********" oCompany.Server = "localhost" oCompany.CompanyDB = "SBODemoCL" oCompany.UserName = "manager" oCompany.Password = "manager" oCompany.UseTrusted = False lRetCode = oCompany.Connect() Dim Retval As Long Dim vItem As SAPbobsCOM.Items Set vItem = oCompany.GetBusinessObject(oItems) Row = 2 Do While ActiveSheet.Cells(Row, 1) <> "" vItem.ItemCode = ActiveSheet.Cells(Row, 1) vItem.ItemName = ActiveSheet.Cells(Row, 2) If vItem.ItemCode <> "" Then Retval = vItem.Add End If Row = Row + 1 Loop oCompany.Disconnect End Sub
Luego en SAP buscamos los artículos
Saludos y espero les haya gustado.
Si quieres visualizar el servidor por su nombre agregalo al siguiente archivo host en windows lo encuentras en C:\Windows\System32\drivers\etc\hosts
Ejemplo : 127.0.0.1 localhost
Saludos
Buenas Tardes, me encuentro bajo una red on distintos rangos (1.xxx , 2.xxx , 3.xxx ) y no puedo ver el servidor por el nombre pero si por la ip, la pregunta es..como le doi al ip?…se la doi a la variable server name pero no me la toma.
Saludos.
Buenas tardes
Eso si es posible utilizando el objeto Documents(DeliveryNotes)
Saludos
Buenas Tardes, quisiera realizar una macro desde excel que me lleve los datos a SAP y me de una entrega eso es posible ?
primero que todo gracias por la información. pero me gustaría saber como puedo importar desde Excel, listados que he creado en el Query Manager.
Estimado
Desde Excel y o cualquier otra interfaz se puede importar a SAP las mismas transacciones (compras, ventas, operaciones de stock, etc) que usted realiza en el cliente, no comprendo a que se refiere con «listados que he creado en el Query Manager».
Saludos
Buenas tardes estoy tratando de realizar el mismo ejemplo pero me sale un error al ejecutar que dice: Se ha producido error ‘429’ en tiempo de ejecucion. el Componente ActiveX no puede crear el Objeto. Cual podria ser la causa del problema?
Estimado
Es un error de excel, no de la macro ni de SAP.
Atte
buenos dias ando manejando una macro de excel a sap pero no soy experto en ambito del sap ise los pasos pero me nadan errores necesito enviar mis libros de excel al sap puedn ayudarme
Estimado
No comprendo la parte de «enviar mis libros de excel al sap», que yo sepa, los libros se obtienen desde SAP a partir de las transacciones.
Saludos
hola buenas soy un usuario comun de SAP tengo mi clave de acceso y mi usuario, puedo tener un archivo de excel que baje la informacion de SAP sin ser programador…, el SAP que utilizo es R# no es bussines one se puedo con macr….???
Estimado Jose, lamento no poder ayudarlo en ese aspecto ya que no poseo ningún tipo de experiencia en SAP R/3 y SAP All in One.
Saludos
se pueden hacer salidas, utilizando este método??? me estoy rompiendo la cabeza tratando pero nada
Estimado, si es posible hacer salidas pero no es llegar y hacer una salida, hay que tener conocimientos de la SDK de SAP y del lenguaje en el que estás desarrollando.
Llena una plantilla del DTW cárgala exitosamente y las mismas columnas que cargaste son las que debes declarar en tu código al momento de programar.
Saludos
Buenísimo aporte!!! trate de agregar mas columnas:
vItem.ItemCode = ActiveSheet.Cells(Row, 1)
vItem.ItemName = ActiveSheet.Cells(Row, 2)
vItem.FrgnName = ActiveSheet.Cells(Row, 3)
vItem.InvntryUom = ActiveSheet.Cells(Row, 4)
vItem.InvntItem = ActiveSheet.Cells(Row, 5)
Pero da error 438, alguna sugerencia
Saludos y gracias por existir
Super!! solo debía usar el nombre correcto
vItem.InventoryItem = ActiveSheet.Cells(Row, 4)
vItem.InventoryUOM = ActiveSheet.Cells(Row, 3)
Gracias
Buenas noches quiero realizar una macro que me abra una transaccion en SAP eso es posible como se haría agradezco me colaboraran gracias
Buenas tardes.
No comprendo cual es el objetivo de «abrir una transacción», te refieres a cambiar el estado de un documento de cerrado a abierto?
Saludos
Estimado hice todo según lo que informas , pero me da un error.
«Se ha producido el error’-106(ffffff96)’ en tiempo de ejecución:
Error de Automatización.
Al parecer es cuando ejecuta la línea.
Set vItem = oCompany.GetBusinessObject(oItems)
Sldos,
LuisMR
buenos días
alguien me puede facilitar un ejemplo de macro en VBA que haga lo entrario; es decir, que importe a Excel 2010 los datos de una tabla de SAP
tengo el SAP GUI que creo que es necesario
¿alguien me ayuda?
saludos
Buenas Manuel.
Lo que deseas es rescatar los datos de la base de datos hacía excel?
Saludos
No se muestran las imágenes. Veo que están colgadas de sites.google.com. Sí existen aún esas imágenes?
Saludos,
JC.
Estimado muchas gracias por la información. En este mismo momento haremos el cambio.
Saludos