sábado, 29 de agosto de 2020

Excepción de HRESULT: 0xFFFFFC17


Hola, buen día!,

El día de ayer casi al terminar la jornada laboral surgió un error nada claro en una solución ya en productivo, al debuguear pude hallar el error: Excepción de HRESULT: 0xFFFFFC17, como podemos ver este no me decía nada, navegando encontré varias sugerencias para corregir el error, sin embargo lo solucione revisando el largo de mi campo UDF vs el texto que intentaban insertar en el campo, me di cuenta que sobrepasaba lo permitido.

Las posibles soluciones:

1.- Ampliar el largo del campo de mi UDF.
2.- Validar el campo que me envía los datos a insertar para que alerte al usuario que deben ser        menos caracteres.
3.- Colocar un Substring en mi código o base de datos. (Creo esto sería lo menos ideal).

Espero les ayude en caso de ser mi caso el de ustedes, saludos!.

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:

"Select " + "'\\\\159.124.123.23\\b1_anexos\\EMPRESA\\REGISTROS\\\\'" + " as Ruta from dummy"

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!.