Cómo escribir "Passthrough" SQL declaraciones "rango Where" cláusulas y en Microsoft Great Plains Dexterity

Id. de artículo: 910129 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

INTRODUCCIÓN

Este artículo describe cómo escribir Passthrough Instrucciones de SQL y Rango dondecláusulas en Microsoft Dynamics GP Dexterity.

Más información

Cuando se escribe Passthrough Instrucciones de SQL y Rango donde las cláusulas en Dexterity, asegúrese de que el código de Transact SQL es compatible con todos los criterios de ordenación y configuraciones regionales. Además, asegúrese de que los valores de campo que se pasan a Microsoft SQL Server se controlan correctamente. Para ello, utilice los métodos siguientes:
  • Si desea pasar un valor de fecha a Microsoft SQL Server, utilice Dexterity sqlDate() función global para asegurarse de que es la fecha en formato AAAAMMDD. Si utiliza la destreza Str() función, el sistema utiliza el formato DD/MM/AAAA o el formato MM/DD/AAAA, dependiendo de la configuración regional. SQL Server no acepta el formato MM/DD/AAAA, dado que este formato puede causar errores intermitentes que ocurren después del duodécimo día de cada mes.

    Nota El sqlDate función no agrega las comillas simples que son necesarios cuando se pasa la fecha a SQL Server. Por lo tanto, incluya el resultado de la función mediante el uso de comillas simples.
  • Si desea pasar un valor de cadena a SQL Server, utilice Dexterity SQL_FormatStrings() función global para asegurarse de que se ajustan las cadenas entre comillas simples. Si existe una comilla en la cadena, debe agregar una segunda comilla para detener la terminación prematura de la cadena.
  • Cuando se selecciona un rango entre los valores mínimos y máximos en un campo de cadena, el valor máximo que se utiliza por Dexterity no puede ser el máximo valor correcto para SQL Server. El máximo valor correcto para SQL Server depende de la ordenación y la intercalación de la instancia de SQL Server. Mediante el uso de Dexterity relleno comando, el programa rellena el campo mediante el uso de ASCII (255) para la longitud de la cadena. Sin embargo, según el criterio de ordenación, ASCII (255) no puede ser el valor más alto. Por lo tanto, el donde cláusula de no devolverá resultados. El valor máximo de 255 de ASCII es ÿ (y minúscula con diéresis). Este carácter se trata como una x por algunos criterios de ordenación SQL. Esto significa que el final del intervalo se establece a y en MSSQL y que algo que se inicia con el carácter que z no se incluye en el intervalo. El siguiente código de Dexterity es un ejemplo que utiliza el sistema 9600 comando para obtener el valor máximo de caracteres para el criterio de ordenación del sistema. El código, a continuación, utiliza este valor para construir un donde cláusula.
    local string 	l_MaxChar;
    local integer	l_Result,l_Length;
    
    system 9600, table SOP_HDR_WORK, l_MaxChar, l_Result;
    
    if empty('End Location Code') or filled('End Location Code') then
    	fill 'End Location Code';
    	l_Length = length('End Location Code');
    	clear 'End Location Code';
    	'End Location Code' = pad('End Location Code', TRAILING, l_MaxChar, l_Length);
    end if;
    
    range table SOP_HDR_WORK where physicalname('Location Code' of table SOP_HDR_WORK) + CH_SPACE + CH_GREATERTHAN + CH_EQUAL + CH_SPACE
    				+ SQL_FormatStrings('Start Location Code') + CH_SPACE + SQL_AND + CH_SPACE
    				+ physicalname('Location Code' of table SOP_HDR_WORK) + CH_SPACE + CH_LESSTHAN + CH_EQUAL + CH_SPACE
    				+ SQL_FormatStrings('End Location Code');

Propiedades

Id. de artículo: 910129 - Última revisión: martes, 01 de noviembre de 2011 - Versión: 0.1
La información de este artículo se refiere a:
  • Microsoft Dynamics GP 2010
  • Microsoft Dynamics GP 10.0
  • Microsoft Dynamics GP 9.0
  • Microsoft Business Solutions?Great Plains 8.0 sobre las siguientes plataformas
    • Dexterity
Palabras clave: 
kbmbsmigrate kbhowto kbmt KB910129 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 910129

Enviar comentarios