#1
|
|||
|
|||
actualizar excel con datos de sap automaticamente
Hola a todos,
Les cuento que soy novato en sap, pero me manejo mucho en programacion vb macros excel etc, mi duda es la siguiente: En el trabajo me pidieron que mediante alguna funcion en macros excel, trajera informacion de sap automaticamente una vez al dia, del las transacciones son FBL1N y SCIV. Existe alguna manera de conectar excel con sap para que me traiga estos datos automaticamente?. Pido por favor a alguien que me oriente un poco en este tema, y si tienen alguna documentacion sobre esto estaria muy agradecido. Saludos a todos. |
#2
|
|||
|
|||
Alguien please que ayude a conectar excel y sap
Alguien tiene el código vba mediante macros en excel conectar con el SAP, para obtener reportes... gracias por su ayuda ...
|
#3
|
|||
|
|||
Te paso algo simple que esta en la web
Sub GetCLientes()
'Declaration Dim objBAPIControl As Object 'Function Control (Collective object) Dim sapConnection As Object 'Connection object Dim Total ' Assign. Set objBAPIControl = CreateObject("SAP.Functions") Set sapConnection = objBAPIControl.Connection 'Logon with initial values Credenciales de conexcion sapConnection.Client = "111" sapConnection.User = "DESADM" sapConnection.Password = "xxxxx" sapConnection.SystemNumber = 0 sapConnection.System = "DES" sapConnection.HostName = "serverxxx" sapConnection.Language = "ES" If sapConnection.logon(1, True) <> True Then MsgBox "No connection to R/3!" Exit Sub End If 'Prepare output to the EXCEL worksheet Worksheets(2).Select Cells.Clear Set objTableSAP = objBAPIControl.Add("ZCLIENTES") 'call the 1st BAPI to retrieve the list of clients' returnFunc = objTableSAP.Call If returnFunc = True Then Dim objTable As Object Set objTable = objTableSAP.Tables("ZCLIENTES") Total = objTable.RowCount ActiveSheet.Cells(1, 1) = "Cantidad :" & Total For i = 1 To Total ActiveSheet.Cells(2 + i, 1) = objTable.Cell(i, 1) ActiveSheet.Cells(2 + i, 2) = objTable.Cell(i, 2) ActiveSheet.Cells(2 + i, 3) = objTable.Cell(i, 3) ActiveSheet.Cells(2 + i, 4) = objTable.Cell(i, 4) ActiveSheet.Cells(2 + i, 5) = objTable.Cell(i, 5) ActiveSheet.Cells(2 + i, 6) = objTable.Cell(i, 6) ActiveSheet.Cells(2 + i, 7) = objTable.Cell(i, 7) Next i End If Columns("A:Z").EntireColumn.AutoFit 'Close connection to R/3 ! ' objBAPIControl.Connection.logoff ' 'Release the objects to free storage space ' Set sapConnection = Nothing Set functionCtrl = Nothing MsgBox "Program terminated!", 0, "Exit" End Sub |
#4
|
|||
|
|||
Que archivos .OCX debo registrar ya que me conecto con SAP desde una maquina virtual?
deseo usar el CreateObject("SAP.Functions"), pero me salta el siguiente #error <El componente activeX no puede crear el objeto>
Saludos y muchas gracias |
#5
|
|||
|
|||
Sap Gui
Por lo que yo he visto, en donde se ejecute la macro (equipo) debe tener instalado el SAP GUI, y dados de alta los servidores a los que se requiere el acceso.
Espero te funcione esta información. si alguien sabe como hacerlo si tener instalado el SAP GUI por favor compartalo. |
#6
|
||||
|
||||
actualizar excel con datos de sap automaticamente
Hola!
Y no es mejor crear el reporte directamente en sap y luego exportarlo a excel? Si son solamente datos de dos tablas con un QuickView lo tendrías que resolver! Sds, |
#7
|
|||
|
|||
Actualizar Excel sin escribir código
Yo buscando en la web encontré un programa donde puedes preparar queries con tablas bajadas de SAP y luego los exporta a Excel. Desde el libro de Excel que se crea se pueden actualizar los queries sin necesidad de volver a abrir ese programa y se hace con solo darle a un botón.
Los campos quedan bien formateados y no tienes que estarlos arreglando. Lo pueden conseguir en este sitio Web: Cuando se lo instalas a un usuario puedes limitarle las tablas que puede usar. |
#8
|
|||
|
|||
Consulta
Estimados; una consulta; cuándo te conectas al SAP a través del Excel implica en algo el usuario con el que entres? esto debido a que me connecto a SAP y me rescata información pero de otros centros y no desde donde estoy trabajando.
Atte. Pablo |
#9
|
|||
|
|||
Obtener los datos de interés
Un saludo Pablo
Cuando hagas la conexión debes hacerla a través de tu mandante. La tabla bajará con todos los centros que maneje ese mandante. Para evitar eso debes poner filtro a la tabla por un valor del centro de tu interés. Por ejemplo para yo bajar la tabla MAST la bajo colocando el filtro: MAST.WERKS = '1000' porque este es centro de mi interés. Espero que esto te ayude. Úlima edición por AntonioCamejo fecha: 07/05/13 a las 15:57:29. |
#10
|
|||
|
|||
Un saludo Pablo Cuando hagas la conexión debes hacerla a través de tu mandante. La tabla bajará con todos los centros que maneje ese mandante. Para evitar eso debes poner filtro a la tabla por un valor del centro de tu interés. Por ejemplo para yo bajar la tabla MAST la bajo colocando el filtro: MAST.WERKS = '1000' porque este es centro de mi interés. Espero que esto resuelva tu duda. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|