domingo, 23 de agosto de 2020
2486755 - inconsistent datatype: lob type comparison
Hola de nuevo!, esta semana modificando una consulta en SAP Hana, me encontre con el siguiente error: 2486755 - inconsistent datatype: lob type comparison.
Sucedía cuando construía un case anidado:
CASE WHEN (CASE WHEN T4."CardCode" IN ('C00001', 'C00002')
THEN T2."Address2"
ELSE T0."U_Address"
END) is null
then null
ELSE IFNULL(T0."U_Entidad", T3."Name")
Como pueden ver era un case que validaba otro case, el cual si arrojaba un dato vació, ese dato vació era sustituido por un campo el cual se validaba para en caso de estar vacio ir por un valor de otro campo.
Yendo al grano, este error era provocado por el hecho de poner en vez de los null del Case una cadena vacía: '' ó ' ', lo cual me obligaba a colocar el null para poder correr la consulta, antes verifique que el campo no trajera cadenas vacías por supuesto si no solo valores null.
Así que ya sabemos que hacer en este caso para que el error desaparezca, espero les sirva.
martes, 11 de agosto de 2020
Renombrar campos de SAP B1
Esta función es muy útil a la hora de querer mostrar un nombre al usuario distinto al que muestra SAP por defecto ya sea nativo o definido por el usuario sin tener que cambiar el nombre del campo en los UDF's, ya que muchas veces no queremos modificarlo por el solo hecho de querer que el usuario lo identifique de otra manera.
Para hacerlo oprimimos la tecla CTRL + doble click sobre el encabezado de la columna a renombrar o sobre el nombre del campo de cabecera y aparecerá una pantalla como esta:
Espero les sea de utilidad, saludos!.
martes, 28 de julio de 2020
Request format is unrecognized for URL unexpectedly ending - Web Services
Al montar mi sitio para visualizar mis web services me arrojaba este error al dirigirme al asmx: Request format is unrecognized for URL unexpectedly ending
Para solucionarlo sigamos estos pasos:
1. Abra el archivo web Config con Notepad o el editor de texto de su preferencia.
2. Agregue la etiqueta <webServices> dentro de la de <System.Web> de la siguiente manera:
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
3. Guarde y reemplace su archivo web.config.
Esto define los protocolos utilizados para transmitir datos durante la comunicación entre los clientes del servicio web XML y de los servicios web XML creados desde nuestra aplicación.
Saludos!.
Convertir Date a TimeStamp en DB Hana
Se me volvio un verdadero problema Convertir un dato Date que me daba un Grid de SAP B1 a TimeStamp de la base de datos SAP Hana , les dejo inicialmente lo que SAP aconseja hacer pero que no me funciono, intente de diversas maneras para terminar dandome cuenta que tenia que modificar lo aconsejado por SAP para que pudiera realizar el insert en la base de datos:
- SAP aconseja lo siguiente:
- select TO_TIMESTAMP ('2016-04-04 00:00:00', 'YYYY-MM-DD HH24:MI:SS') from dummy.
- El dato fecha del Grid de SAP es un Date con diagonales (He ahí donde se complico todo).
- 04/04/2016
- Tuve que terminar haciendo esto:
- SELECT TO_TIMESTAMP(to_date('24/07/2020', 'DD/MM/YYYY') , 'YYYY-MM-DD') "to date" FROM DUMMY;
Espero les ayude a evitarse varios dolores de cabeza por esto, saludos!.
Diagonales invertidas en consulta DB Hana con DoQuery de RecordSet del DI API
Se vuelve un problema a la hora de agregar diagonales invertidas en una consulta a una base de datos SAP Hana desde el DoQuery del RecordSet del DI API, dado que la diagonal invertida es un carácter reservado dentro de la sintaxis de la consulta desde código, para que logren visualizarla solo tienen que colocar una de más por cada una que quieran ver, aquí les dejo un ejemplo:
Esto retorna:
Select '\\159.124.123.23\b1_anexos\EMPRESA\REGISTROS\\' as Ruta from dummy
Espero les ayude y paren de sufrir con esto.
Saludos.
martes, 7 de julio de 2020
Encontrar Consultas en las Categorías SAP B1
En muchas ocasiones hemos tenido que atender un ticket en el cual se nos pide modificar una consulta o para simplemente copiarla de la Query Manager, hallarla puede ser un problema que nos puede quitar tiempo, para evitar esto les dejo aquí la consulta que pueden ejecutar en la base de datos o desde la misma Query Manager para hallar una consulta en especifico filtrandola de todo el universo con la clausula Like (La consulta esta hecha para una BD SAP Hana):
select T0."CatName", T1."QName", T1."QString" from OQCN T0
inner join OUQR T1 on T0."CategoryId" = T1."QCategory"
Where T1."QName" like '%Factura%'
Order by T0."CatName"
Saludos!.
martes, 23 de junio de 2020
Tabla de lista de sociedades SAP B1
Les dejo una tabla importante cuando de desarrollar sistemas externos autenticados por SAP B1 se trata, es decir, sistemas desarrollados con ASP, Windows Forms, Java, etc, que mediante el DI API nos permite crear transacciones en el ERP, con esta tabla podremos loguearnos a cualquier sociedad de la compañia:
select * from SRGC de la base de datos SBOCOMMON.
Teniendo esta lista solo queda programar la autenticación de nuestro software externo con ayuda del DI API.
No he realizado la autenticación para varias sociedades (que es para lo que serviría esta lista) solo para una, por lo que se que podría hacerse sin problemas, si quieren que realice el ejercicio con gusto me tomo el tiempo, no duden en hacérmelo saber.
Saludos 😊!.
Suscribirse a:
Entradas (Atom)