ÖSSZEFOGLALÁS: Ez a cikk azt ismerteti, hogy miként SQL táblázatokat a Microsoft Business Solutions – Great Plains Dexterity programhoz.TOVÁBBI INFORMÁCIÓ: Afollowingsteps segítségével létrehozhat SQL, amelyek egy, a Dexteritásban írt integráló harmadik féltől származó programban találhatók. Ezekkel a lépésekkel azt is ismertetjük, hogy SQL engedélyt ezekre a táblákra. Megjegyzés: Ez a módszer a Dexterity Programozók útmutatójának 41. fejezetében (1. kötet) leírt amAutoGrant módszer helyére kerül.1. Hozzon létre egy Indítás nevű globális eljárást, ha még nem létezik ilyen eljárás a harmadik féltől származó programban. Ez a parancsfájl a Great Plains indítókor fut, és általában itt történik a triggerek regisztrálva. 2. Az Indítási parancsfájlban hozzon létre egy eljárásindítót a Add_Successful_Login_Record az alábbi kód használatával.

{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 thenwarning "The Add_Successful_Login_Record trigger is not registered."; end if;

3. A 2. lépésben létrehozott regisztrált eseményindító akkor hívja fel a globális gp_create_tables, amikor a felhasználó bejelentkezik a Microsoft Dynamics GP alkalmazásba. Ezt az eljárást akkor futtatja a rendszer, ha a felhasználó vagy a vállalat váltása után először megnyitja az Great Plains vállalatot.4. Hozza létre a Gp_create_tables nevű gp_create_tables. Ez a parancsfájl létrehozza a harmadik féltől származó program tábláját a megfelelő adatbázisban SQL Server számára. Ezenkívül a létrehozott tároltprojekteket (zDP-SQL) is létrehoz, és engedélyeket ad a táblához és az eljárásokhoz. Használja az alábbi kódot.

{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. A létrehozott táblákat és táblákat a rendszer a SQL Server fogja létrehozni, SQL engedélyeket. Ez a parancsfájl csak az SSA vagy a DYNSA felhasználóinak fog futni, és a táblák létrehozása után nem gond, hogy ismét futtatja ezt a parancsfájlt.Ez a cikk a következő volt: TechKnowledge Document ID:33429

TechKnowledge Content

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.