דלג לתוכן הראשי
היכנס דרך Microsoft
היכנס או צור חשבון.
שלום,
בחר חשבון אחר.
יש לך חשבונות מרובים
בחר את החשבון שברצונך להיכנס באמצעותו.

סיכום


מאמר זה דן באופן יצירת טבלאות SQL עבור Microsoft Business Solutions - תוכניות מבוססות מיומנות של מישורים נהדרים.


מידע נוסף

השתמש ב-followingsteps כדי ליצור טבלאות SQL הקיימות בתוכנית משולבת של ספקים שלישיים שנכתבה במיומנות. שלבים אלה גם כוללים הצגת שער כדי להעניק SQL הרשאה לטבלאות אלה.


הערה שיטה זו מחליפה את השיטה amAutoGrant המתוארת בפרק 41 של מדריך מתכנתי המיומנות, נפח 1.

1. צור הליך כללי
בשם Startup אם הליך זה אינו קיים כבר בתוכנית של ספקים שלישיים. קובץ Script זה פועל בעת הפעלת 'מישורים נהדרים' ובדרך כלל הוא המקום שבו רשום גורמים מפעילים.


2. בקובץ
ה- Script של ההפעלה, צור גורם מפעיל של הליך בהליך Add_Successful_Login_Record באמצעות הקוד הבא.

{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. הגורם המפעיל הרשום שנוצר בשלב 2 יתקשר להליך הכללי gp_create_tables כאשר המשתמש
נכנס ל- Microsoft Dynamics GP. הליך זה מופעל כאשר חברה של Great Plains נפתחת בתחילה או כאשר המשתמש או החברה מחליף.


4. צור את ההליך הכללי
gp_create_tables. קובץ Script זה ייצור את הטבלאות עבור התוכנית של ספקים שלישיים במסד SQL Server הנתונים הנכון. בנוסף, היא תיצור את הטבלה שנוצרה כ- storedprocedures (zDP procs) ותעניק SQL הרשאות גישה לטבלה ולהליכים. השתמש בקוד הבא.

{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. הטבלאות והטבלה שנוצרו בהליכים מאוחסנים ייווצרו SQL Server והרשאות SQL יוענקו. קובץ Script זה יורץ רק עבור משתמשי ה-SA או DYNSA ולאחר יצירת הטבלאות, זה בסדר להפעיל קובץ Script זה שוב.

מאמר זה היה מזהה מסמך TechKnowledge:33429

תוכן TechKnowledge

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×