Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

RESUMEN En este artículo se explica cómo crear tablas SQL para


Microsoft Business Solutions: programas basados en Great Plains Dexterity.


MÁS INFORMACIÓN
Use thefollowingsteps para crear tablas SQL que residen en un programa de terceros
integrador escrito en Dexterity. Estos pasos también cubren cómo conceder SQL permisos a esas tablas.


Nota Este método reemplaza el método amAutoGrant que se describe en el Capítulo 41 de la Guía para programadores de destreza, Volumen 1.

1. Cree un procedimiento global denominado
Inicio si aún no existe en el programa de terceros. Este script se ejecuta al iniciar Great Plains y suele ser el lugar donde se registran los desencadenadores.


2. En el script Inicio, cree un desencadenador de procedimiento
en el Add_Successful_Login_Record mediante el código siguiente.

{Name: Startup}
local integer l_result;
l_result = Trigger_RegisterProcedure(script Add_Successful_Login_Record, TRIGGER_AFTER_ORIGINAL, script gp_create_tables);
if l_result <> SY_NOERR then
warning "The Add_Successful_Login_Record trigger is not registered.";
end if;



3. El desencadenador registrado creado en el paso 2 llamará al procedimiento global gp_create_tables cada vez que el usuario
inicie sesión en Microsoft Dynamics GP. Este procedimiento se ejecuta cuando una empresa de Great Plains se abre inicialmente o cuando se cambia el usuario o la empresa.


4. Cree el procedimiento global denominado
gp_create_tables. Este script creará las tablas para el programa de terceros en la base de datos SQL Server datos. También creará la tabla generadaprocedures almacenados (procesos zDP) y concederá SQL permisos a la tabla y los procedimientos. Use el código siguiente.

{Name: gp_create_tables} 
local boolean result,l_result,OUT_Access;
{if logged in as sa, let them create the tables}
if 'SQLSaUser' of globals then
OUT_Access = true;
else
{This else statement will work only on 8.0. If logged in as a user other than sa,
but they have table access permissions, let them create the tables}
if syUserInRole('User ID' of globals, ROLE_SYSADMIN) or (syUserIsDBO ('User ID' of globals, 'Intercompany ID' of globals)
and syUserIsDBO ('User ID' of globals, SQL_SYSTEM_DBNAME)) then
OUT_Access = true;
end if;
end if;

if 'SQL Server' of globals > 0 and OUT_Access then
{enable table creation mode}
result = Table_SetCreateMode(true);
{Do not display any table errors to the user.}
result = Table_DisableErrorChecks(true);
{accessing the table creates it, list all your tables here, make sure to close the tables when done}
get first table GPSetup; {Purchasing series table}
close table GPSetup;
get first table GPSetup2; {System series table}
close table GPSetup2; {now set permissions, call once for the table and once for the stored procs}
{GPSetup is a purchasing series table so that will be in the company dbo}
l_result = GrantAccess(physicalname(table GPSetup),false,"DYNGRP",'Intercompany ID' of globals)
of form 'SQL Maintenance';
l_result = GrantAccess(physicalname(table GPSetup),true,"DYNGRP",'Intercompany ID' of globals)
of form 'SQL Maintenance';
{GPSetup2 is a system series table so that will be in the DYNAMICS database}
l_result = GrantAccess(physicalname(table GPSetup2),false,"DYNGRP","DYNAMICS") of form 'SQL Maintenance';
l_result = GrantAccess(physicalname(table GPSetup2),true,"DYNGRP","DYNAMICS") of form 'SQL Maintenance';
{Turn off automatic table creation.}
result = Table_SetCreateMode(false);
{Turn table error reporting back on.}
result = Table_DisableErrorChecks(false);
end if;


5. Las tablas y los procedimientos almacenados generados se crearán en SQL Server y SQL se concederán permisos. Este script solo se ejecutará para los usuarios de LAA o DYNSA y, después de crear las tablas, es correcto volver a ejecutar este script.

Este artículo fue TechKnowledge Document ID:33429

Contenido de TechKnowledge

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×