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.
Fascinante los aportes que realizas. Que haya gente tan altruista es bueno para todos. Gracias.
¿Existe alguna forma de añadir precio a los articulos? Si los articulos tienen el mismo codigo se duplican o se sobreescriben?
Gracias de nuevo.
hola necesito hacer una macro en excel para poder sacar la info de sap y hacer un informe de ventas y manejo las macro pero poco y el sap tambien alguien me podria ayudar desde ya muchas gracias
Hola buenas tardes. COn gusto te puedo ayudar.
david@sgasoluciones.com
Hola,
Soy nueva en esto, he probado el post pero al ejecutar el codigo me indica:
«No estas conectado a ninguna empresa»
Donde defino la empresa? tengo varias en la misma base de datos
gracias.
Saludos
Tania
Buenas tardes
Donde dice:
oCompany.CompanyDB = «SBODemoCL»
Debes colocar el nombre de la base de datos de la compañía.
Saludos
y como inserto valores a los campos de usuario del maestro de articulo.
Buenas tardes
Así.
vItem.UserFields.Fields.Item(«U_TUCAMPO»).Value = «Mi valor»
Saludos
como inserto datos a los campo de usuario del maestro de articulos.