
איך להקצות קודים של טרנזקציות עבור SAP Queries?
כתב: גיא גבאי
תאריך: 14.01.2019
ניתן להריץ SAP Queries ישירות אם אנחנו ניגשים לטרנזקציה SQ01 ומריצים את השאילתא הרלוונטית.
למשל:
DEV100
SQ01
נקבל את המסך הבא:

ניתן לראות במסך זה בכותרת את הרישום:
Query form User Group /GRC/APPL: Initial Screen
זה אומר שמוצגות לנו ברשימה למטה כל ה-Queries ששייכות לקבוצת משתמש שנקראת: /GRC/APPL
אם אנחנו רוצים למשל לצפות בכל השאילתות ששייכות לקבוצת משתמש אחרת נלחץ על הכפתור: Other user group
כפתור זה נקרא: Other user group (או בעצם: Shift + F7).
לאחר לחיצה עליו נקבל את מסך הבחירה הבא:

במסך זה נבחר בקבוצת המשתמש הרלוונטית ולבסוף על החץ הירוץ (Choose).
אם למשל נבחר בקבוצת המשתמש שנקראת: /SAPQUERY/H0/ נקבל את הרשימה הבאה:

לעומת זאת, ישנן מגוון חברות, שלמרות זאת לא מעוניינות לתת למשתמשים גישה לטרנזקציה הזו (SQ01) משום שזה עלול לגרום לכך שהמשתמשים מריצים שאילתא שיש לה זמן ריצה ארוך - דבר שיכול להשפיע מאוד על ביצועי המערכת.
האלטרנטיבה הקיימת, לכן, היא להקצות לשאילתא קוד טרנזקציה משלה שבהמשך אפשר להקצות אותו למשתמשים הרלוונטיים.
על מנת להקצות שאילתא לקוד טרנזקציה כלשהו, אנחנו צריכים להפעיל את טרנזקציה SE93, מזינים את קוד הטרנזקציה ולוחצים על כפתור "Create".

לאחר לחיצה על כפתור Create נקבל את המסך הבא:

כעת נזין טקסט תיאור קצר עבור הטרנזקציה החדשה, את הטקסט נזין בשדה: Short text במקטע Transaction attributes.
בנוסף, במקטע Start object נסמן את ה-Radio Button הבא: Transaction with parameters (parameter transaction), כעת, לאחר שנלחץ על כפתור ה-Enter, המערכת תיקח אותנו למסך: Create Parameter Transaction. במקטע: Default values for:

נזין את הערך: "START_REPORT" בשדה: Transaction. כמו כן נסמן את ה-Checkbox שנקרא: Skip initial screen. במקטע GUI support נסמן את ה-Checkboxes הבאים: SAPGUI for HTML, SAPGUI for Java, SAPGUI for Windows.
בחלק התחתון של המסך, במקטע: Default Values, נזין את הערכים הבאים בעמודות: Name of Screen Field וב-Value.

הערות:
AQ מסמל את הקוד ל-SAP Query
ישנן 2 סוגים של שאילתות - שאילתות סטנדרטיות ושאילתות גלובליות. אם משתמשים בשאילתות סטנדרטיות, אז צריך להתניע ידנית בקשת transport. במקרה הזה נזין את ה-user group לשדה המסך שנקרא: D_SREPOVARI-REPORT כמו שהסברנו למעלה.
אם אנחנו משתמשים בשאילתות גלובליות (שזמינות לכל ה-clients של המופע), המערכת אוטומטית מתניעה את בקשת ה-transport. במקרה הזה נהיה מחויבים להוסיף סיומת של "G" לערך של ה-user group שלנו כאשר אנחנו מקצים אותו לשדה המסך: D_SREPOVARI-REPORT. חשוב לשים לב שכאשר עושים זאת, התו "G" צריך להיות במיקום ה-12 של השדה.
לדוגמא, אם יש לנו קבוצת משתמש בשם: ZFIUSER, אז הערך שנקבע בשדה יהיה:
ZFIUSER G
הקצנו פה 5 תווים של רווח (ריקים) לפני שקבענו את התו "G".
יתרון אחד של שימוש בשאילתות גלובליות הוא שאנחנו יכולים לנצל את השאילתות שהותקנו ע"י SAP (כגון: Vendor, Customer וכן: general ledger evaluations ופשוט לבצע להן הקצאה (כמו שהוצג לעיל) לקודים של טרנזקציות כך שיהיו זמינים למשתמשים הרלוונטיים.