[pyar] Módulo Python SAP RFC + Python SAPdb + Python Data Objects + SAP HANA

Ariana Lida García arianalidagarcia en gmail.com
Vie Mar 21 10:03:48 ART 2014


Buenos días, Roberto

Lo que estás intentado hacer (acceder a obtener los datos de las
transacciones de por ejemplo la transacción IW39), creo haberlo hecho hace
muchos años cuando era dummy SAP/ABAP. Básicamente logré trasferir toda esa
información a un archivo MDB usando VB.net.

Para eso entonces era posible hacerlo también en .NET

Una vez que obtenía los datos de las transacciones a través de BAPIs,
utilizaba el ADO de VB para volcarlos en un archivo MDB y listo.

El libro que utilicé para guiarme con eso fue el Professional VB SAP R/3
Programming de Oleg Ovanesyan. Si te interesa el material, me fijo si aún
lo conservo y te lo envío fuera del thread.

Aquí te dejo un link que explica resumidamente de que se trata BAPIs

http://help.sap.com/saphelp_46c/helpdata/en/a5/3ec8464ac011d1894e0000e829fbbd/content.htm

Tu consulta creo que estaría resuelta teniendo por ejemplo un servicio del
tipo Winshuttle Transaction,  creo que podés dercargar una demo por unos
días pero luego $$$, así que no te queda otra que programarlo.

Con respecto a realizar el envío de los informes vía web, ¿a qué te
refieres exactamente? ¿Enviarlos vía e-mail entre Sap Inbox o cuentas
externas?¿Enviarlos utilizando SAP User Id a través de ABAP? ¿Web Dynpro?,
etc.

Avisame cualquier cosa, me prendo a investigar de paso me actualizo, como
verás mis pruebas ya tienen unos años.  : )

Saludos.



El 20 de marzo de 2014, 23:52, <robbie en metasigno.com> escribió:

>  Ariana, muchas gracias por contestar,
>
> Te cuento, después de estar más de 20 años programando y otros 10 como
> analista, analista sr. y Arquitecto de Sistemas, terminé en un área ajena a
> sistemas. Si, me cansé de sistemas y de la gente de sistemas de mi empresa
> y de viajar al centro todos los días, sabiendo que tengo una sucursal en
> Bernal.
> Trabajo en AySA y ahora en Coordinación Comercial, lo cual dejé de ser "la
> elite" de sistemas a un simple y mortal usuario... ja ja...
> Pero mi alma y mi esencia analítica y de sistemas son más fuertes....
>
> Lo cual ahora trabajo con SAP desde el entorno Usuario de SAP.... Pero con
> acceso a bajar tablas. Y en mi caso particular, monté un SQL Server local
> dónde hago BI (Bussiness Intelligent).
> De dicha área soy el único con perfil de Sistemas, tengo otro muchacho que
> si bien tiene mi misma edad, tiene conocimientos de programación pero no es
> analista, está el Jefe de Coordinación Comercial ya jubilado pero con
> contrato como Coordinador de los distritos.
> Y dos chicos que son los "analistas" o asistentes de Coordinación
> Comercial que saben usar el SAP y bajar datos en Excel para hacer los
> informes para los gerentes comerciales....
>
> Ahí es que me interesa automatizar dichos procesos, que no tengan que
> bajar los datos en Excel, darle formatos y etc.. etc....
> Ver si puedo entrar a una transacción que ellos usan como por
> ejemplo "IW39", obtener los datos y ya entregarles el informe o la tabla.
> Y si pudiera, en el mejor de los casos, realizar los informes vía WEB,
> pues me gano el cielo... XD (o el infierno si me proponer reemplazar a mi
> actual Jefe como Jefe de Coordinación Comercial).
> De todas formas, lo que me interesa es si se puede acceder a obtener los
> datos de las transacciones....
>
> No se si es conveniente ni si se puede subir una imagen de una parte de la
> pantalla sin datos reales para que se entienda mejor...
>
> Enviado desde Correo de Windows
>
> *De:* Ariana Lida García <arianalidagarcia en gmail.com>
> *Enviado el:* jueves, 20 de marzo de 2014 21:44
> *Para:* Python Argentina <pyar en python.org.ar>
>
>
> Hola Roberto,
>
> ¿Automatizaciones de procesos de qué tipo? Tu consulta tiene olor a SAP
> HANA, pero puede que esté equivocada.
>
> No sé qué andarán haciendo los otros chicos, sólo sé de Manuel Muradas que
> está trabajando en migración al Sw de Seguridad SAP de su empresa. Yo me
> especializo en HPC y RTOS, empecé con el tema paralelismo hace unos años
> sobre clusters con MPI y OPENMP, y hace unos meses largué a programar en
> CUDA.
>
> Te cuento un poco:
>
> Con SAP HANA llevo algunos meses jugando y haciendo alguna que otra cosa,
> en la parte de Real Time con su Sybase Replication Server (que utiliza para
> copiar y sincronizar datos del BW, del ERP y del CRM)
>
> Y con respecto al paralelismo, programé dos scripts en Python para generar
> dos millones de registros para dos tablas. Esas tablas a su vez compartían
> 4 campos, pero como la información se creaba de forma aleatoria la
> posibilidad de que hubiera datos compartidos entre ambas tablas no tenía
> forma de saberlo, por lo que no quedó otra que programar otro script
> también en Python para medir el tiempo de lectura (entre otros)
>
> Básicamente en SAP HANA podés generar tablas de dos maneras: las tablas de
> filas (son mejores para tablas que se actualizan constantemente) y las de
> columna (son mucho más rápidas a la hora de leer información pero se usan
> en tablas que no se actualizan seguidamente). Sin embargo, después de haber
> terminado las pruebas pude cotejar que SAP HANA no macaneaba cuando
> aseguraban que el almacenamiento en columna te aseguraba una ganancia
> constante de alrededor del 40% más de velocidad.
>
> Otra tema muy interesante son los algoritmos de procesamiento paralelo
> (multicore), por ejemplo: consultar 400 millones de registros y devolverlos
> en un segundo. Esto es definitivamente lo que a mí más me interesa.
>
> Mi objetivo actual es integrar un sistema SCADA a SAP HANA. Le lloriqueé a
> un ingeniero que trabaja para una empresa internacional con filial en
> Argentina y logré conseguir varias cosas piolas para mis pruebas:
> simuladores y otras cosas de sus PLC's.
>
> Esta semana encontré un canal en You Tube llamado SAP HANA Academy que
> está muy bueno, si te interesa podés echarle un ojo y quizá logre responder
> mejor que yo a tu consulta.
>
> http://www.youtube.com/user/saphanaacademy/feature
>
> Saludos.
>
>
> El 20 de marzo de 2014, 15:40, Roberto Bozzacchi <robbie en metasigno.com>escribió:
>
>> Hola, Me interesó el tema para automatizar ciertos procesos que hacemos
>> con transacciones de SAP. Es posible utilizar algunos de los Framework acá
>> nombrados?
>>
>>
>> El 15 de marzo de 2014, 12:53, Ariana Lida García <
>> arianalidagarcia en gmail.com> escribió:
>>
>>
>>> Agradezco nuevamente los aportes.
>>>
>>> Me voy a sentar a leer lo que me pasó Pedro, a lo mejor hay información
>>> actualizada.
>>>
>>> Y Manuel, precisamente eso es lo que necesito, comunicarme con SAP HANA
>>> a través de Linux.
>>>
>>> Mis disculpas si el asunto de mi consulta no está claro, básicamente lo
>>> que intenté es dar con una persona que si manipulara todos estos temas.
>>>
>>> Gracias, chicos.
>>>
>>>  Saludos
>>>
>>>
>>> El 15 de marzo de 2014, 12:42, Ariana Lida García <
>>> arianalidagarcia en gmail.com> escribió:
>>>
>>>
>>>> Pedro y Manuel,
>>>>
>>>> Muchísimas gracias por responder.
>>>>
>>>> Estoy intentando una conexión externa con la última sapnwrfc de SAP.
>>>>
>>>> Básicamente lo que intento hacer es exportar una tabla interna desde el
>>>> módulo de una función para luego ser escrita en una ZITAB.
>>>>
>>>> Probé de hacer esto en una versión anterior del wrapper y no tuve una
>>>> "Function Call Error". Empero, con la última nwrfcsdk sí.
>>>>
>>>> Algo de código:
>>>>
>>>> import sapnwrfc
>>>> conn = sapnwrfc.base.rfc_connect({'ashost':'HOSTNAME', 'sysnr':'00',
>>>> 'client':'900', 'user':'RFCUSER', 'passwd':'PASSWORD' })
>>>> if conn :
>>>>     print "I am connected"
>>>> data = [{'VBELN':VBELN,
>>>>             'LNUMB':LNUMB,
>>>>             'WERKS':WERKS,
>>>>             'GJAHR':GJAHR,
>>>>             'HEAT':HEAT,
>>>>             'ZIERA':ZIERA,
>>>>             'ZLENG':ZLENG,
>>>>             'ZWEIG':ZWEIG,
>>>>             'ZINDX':ZINDX,
>>>>             'ZPDA':ZPDA,
>>>>             'ZTIME':ZTIME}]
>>>>
>>>>  iface = conn.discover("MY_Z_FUNCTION_MODULE")
>>>>     f = iface.create_function_call()
>>>> # MY_Z_FUNCTION_MODULE has a TABLE structure DATA
>>>>     f.DATA(data)
>>>>     f.invoke()
>>>>     print "Done"
>>>>     conn.close()
>>>>
>>>> A la hora de compilar obtengo el siguiente error:
>>>>
>>>> File "/usr/lib/python2.4/site-packages/sapnwrfc/__init__.py", line 110,
>>>> in invoke return self.handle.invoke()
>>>> sapnwrfc.RFCCommunicationError: RFC FUNCTION CALL ERROR: set_table_line
>>>> invalid Input value type
>>>>
>>>> Primero, no comprendo por qué arroja ese error si cada registro tiene
>>>> su tipo de dato asignado como corresponde (diccionario = = string) y en
>>>> versiones anteriores del wrapper ese código compilaba perfectamente. He
>>>> investigado por internet y al parecer ante una nueva versión del sapnwrfc
>>>> surgen este tipo de problemillas que vuelven locos a los programadores. Por
>>>> otro lado se me hace que el inconveniente puede ser generado
>>>> específicamente en RFC_READ_TABLE del módulo de funciones de SAP que entra
>>>> en conflicto con el nuevo wrapper.
>>>>
>>>> Es probable que esté haciendo algo mal, es un ejercicio que me quedó
>>>> pendiente hace unos años allá cuando estaba terminando el colegio y quiero
>>>> terminar. Hasta escribí en un foro de SAP de USA para intentar
>>>> solucionarlo, recibí algún que otro dato pero luego no lo continué.
>>>>
>>>> Esto es básicamente un error de conexión, programé otras cosas en
>>>> paralelo con Python y SAP que presentan inconsistencias, pero voy paso a
>>>> paso : )
>>>>
>>>> Muchas gracias nuevamente.
>>>>
>>>> Saludos.
>>>>
>>>>
>>>> El 15 de marzo de 2014, 12:27, Manuel Muradas <mmuradas en dieresys.com.ar
>>>> > escribió:
>>>>
>>>> Ariana,
>>>>>
>>>>> Agrego a lo que contestó Pedro.
>>>>> Para comunicarte con SAPDB o con HANA, podés usar ODBC.
>>>>> Los drivers ODBC para SAPDB son libres, y fáciles de conseguir.
>>>>> Buscalos como SAPDB o como MAXDB.
>>>>> Para HANA es un poco mas complicado, en Windows te tendrías que bajar
>>>>> algún soft de SAP que te permita comunicarte con HANA, y ese soft
>>>>> seguramente te va a instalar los drivers de ODBC. En Linux ya no sabría
>>>>> decirte.
>>>>>
>>>>> Con respecto a Data Objects, no conozco nada.
>>>>>
>>>>> Saludos!
>>>>>
>>>>>
>>>>> 2014-03-15 3:00 GMT-03:00 Ariana Lida García <
>>>>> arianalidagarcia en gmail.com>:
>>>>>
>>>>>>
>>>>>> Hola,
>>>>>>
>>>>>> Agradecería el contacto/ayuda de alguna persona suscripta a la lista
>>>>>> que esté familiarizada con el uso de Python en SAP.
>>>>>>
>>>>>> Estoy haciendo un proyecto para mi culminar mi diplomatura y presento
>>>>>> algunos problemillas.
>>>>>>
>>>>>> Muchísimas gracias a todos y mis disculpas a quienes han recibido
>>>>>> este mensaje que no es de su interés.
>>>>>>
>>>>>> Saludos.
>>>>>>
>>>>>> _______________________________________________
>>>>>> pyar mailing list pyar en python.org.ar
>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>
>>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>>>
>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> pyar mailing list pyar en python.org.ar
>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>
>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>>> Argentina - http://www.usla.org.ar
>>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>>
>> --
>>
>> Robbie Bozzacchi
>> Metasigno Brain
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140321/c1ff3e8e/attachment-0001.html>


More information about the pyar mailing list