Como autenticar con SAP en una API ¿Es necesario?

Bueno hace unos días pregunté que seria lo mejor para consumir la base de datos, en fin, me decidí por crear una API RESTful con C#, ASP.NET y Entity Framework.

Muy bien, ya la tengo bastante desarrollada y compilando bien, pero esta aun la tengo conectada directamente a la base de datos, tengo ya la conexión con la DB de pruebas y la principal.

Mi pregunta es: ¿Puedo dejarla así para que la consuman (Leer, Crear, Actualizar), o debo agregarle alguna forma de autenticacion de usuarios de SAP. Si es asi, como agrego estos datos?

Por el momento he hecho pruebas y si me permite modificar las tablas con POST y PUT, y no tengo ningún usuario de SAP conectado.

Gracias.

Si no tienes ningun logueo a SAP, es por que no estas usando el DI API.
Cuando comentas que estas haciendo modificaciones a las tablas de SAP, te refieres a que estas haciendo UPDATE y INSERT directamente?
No puede modificar directamente las tablas SAP, tiene que usar la libreria DI API, y usar el objeto compañía para loguearte con un usuario SAP.
Las consultas a la base la puedes hacer directamente con una conexion de cliente u ODBC.

1 me gusta

no entiendo lo que hiciste @Fernando7, cuando te refieres a que estas usando Entity Framework, estas intentando realizar modificaciones a la base de datos, eso no se puede hacer como dice @Willy_Caldero debes usar algún cliente que se conecte a la base, si vas a usar la DI API para hacer un Company.Connect() y poner un usuario fijo, se puede pero es bastante lento, ya que no puedes dejar el Company conectado eternamente en una variable static, debes conectarte para cada consulta que realices

1 me gusta

@Alex_Neira_J Tendrás algún ejemplo de la estructura que debe tener algo así, es decir, si recibo un PUT como puedo pasar los valores a las propiedades digamos de un oDocuments, he buscado en internet pero no encuentro nada parecido?

Yo no sabía que si se podían hacer UPDATES, es decir, yo pensaba que si intentabas hacer un UPDATE la DB te marcaría un error automáticamente. :sweat_smile:

Si se puede pero por cuestiones de Garantía no lo puedes hacer, osea no puedes insertar ni borrar registros de forma externa.

estoy bien o corrijan me

saludos

1 me gusta

no tengo ejemplos, pero puedes usar la DIAPI, es lo mas ineficiente que existe, ya que dejas tomada la licencia de un usuario, tienes que hacer validaciones para validar si ya se encuentra conectado si vas hacer multiples llamados, pero es lo único que se me ocurre, si no vas a realizar con b1if o service layer que son las opciones que te habían recomendado antes.

en cuanto a las modificaciones de la BD, cuando actualizas un campo en la base desde SAP no solo escribes en ese campo, por debajo SAP realiza múltiples actualizaciones de tablas, sobre todos si son datos de montos, o modificaciones a líneas, si lo actualizas tu directo, corrompes la base y pierdes el soporte de SAP en caso de algún problema

1 me gusta

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.