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

robbie en metasigno.com robbie en metasigno.com
Jue Mar 20 23:52:21 ART 2014


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
Enviado el: ‎jueves‎, ‎20‎ de ‎marzo‎ de ‎2014 ‎21‎:‎44
Para: Python Argentina









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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140321/cbf13fd6/attachment-0001.html>


More information about the pyar mailing list