מדריך הפונקציות המלא ל-Priority ERP
לעיבוד טקסט, מספרים ותאריכים
מפתחים ב-Priority ERP? כאן תמצאו רשימה מקיפה ומסודרת של כל הפונקציות המובנות של המערכת — עם תחביר מלא ודוגמה מעשית לכל פונקציה. השתמשו בדף זה כדף עזר מהיר בעת כתיבת שאילתות SQL, שורות CALC בדוחות ובממשקים, טריגרים למסכים ופרוצדורות.
SQL / SELECT
שורות CALC
טריגרים
פרוצדורות
ממשקי נתונים
📝
פונקציות טקסט String Functions
| נושא | פונקציה / תחביר | דוגמה | תוצאה / הערה |
|---|---|---|---|
| שרשור מחרוזות | STRCAT(s1, s2, ...) | STRCAT('abc','ba') | 'abcba' (מקס׳ 127 תווים) |
| אורך מחרוזת | STRLEN(string) | STRLEN('Priority') | 8 |
| חתך — פרמטרים משתנים | SUBSTR(string, m, n) | SUBSTR('Priority',3,2) | 'io' (m,n יכולים להיות משתנים) |
| חתך — פרמטרים קבועים | STRIND(string, m, n) | STRIND('priority',2,3) | 'rio' (m,n חייבים להיות קבועים) |
| חתך מימין — משתנים | RSUBSTR(string, m, n) | RSUBSTR('Priority',3,2) | 'ri' (קורא מימין לשמאל) |
| חתך מימין — קבועים | RSTRIND(string, m, n) | RSTRIND('priority',2,3) | 'rit' |
| n תווים ראשונים | STRPREFIX(string, n) | STRPREFIX('Priority',2) | 'Pr' (n חייב להיות קבוע) |
| שבירה לפי מפריד | STRPIECE(s, delim, m, n) | STRPIECE('a/b.c.d','.',2,1) | 'c' (חלק n החל מחלק m) |
| מיקום תת-מחרוזת | STRINDEX(full, search, idx) | STRINDEX('hello world','world',1) | 7 (idx=-1 = חיפוש מהסוף; 0 אם לא נמצא) |
| אותיות גדולות | TOUPPER(string) | TOUPPER('priority') | 'PRIORITY' |
| אותיות קטנות | TOLOWER(string) | TOLOWER('abCdEFG') | 'abcdefg' |
| בדיקת אלפנומרי | ISALPHA(string) | ISALPHA('abc123') | 1 = כן / 0 = לא (אותיות, ספרות, קו תחתון) |
| בדיקת קידומת | ISPREFIX(s1, s2) | ISPREFIX('Pri','Priority') | 1 = כן / 0 = לא |
| בדיקת מספר ממשי | ISFLOAT(string) | ISFLOAT('3.14') | 1 = כן / 0 = לא |
| בדיקת ספרות בלבד | ISNUMERIC(string) | ISNUMERIC('07666') | 1 = כן / 0 = לא (רק ספרות 0–9) |
🔄
פונקציות המרה Conversion Functions
| נושא | פונקציה / תחביר | דוגמה | תוצאה / הערה |
|---|---|---|---|
| שלם → מחרוזת | ITOA(integer, n) | ITOA(35, 4) | '0035' (n = רוחב; אפסים מובילים) |
| מחרוזת → שלם | ATOI(string) | ATOI('35') | 35 (מקס׳ 10 תווים) |
| ממשי → מחרוזת | RTOA(real, n [,USECOMMA]) | RTOA(150654.665, 2, USECOMMA) | '150.654,67' (n = ספרות עשרוניות) |
| מחרוזת → ממשי | ATOR(string) | ATOR('100.66') | 100.660000 (מקס׳ 14 תווים) |
| מחרוזת → תאריך | ATOD(string, format) | ATOD('311006','DDMMYY') | 31/10/06 |
| תאריך → מחרוזת | DTOA(date, format) | DTOA(SQL.DATE,'MMM DD, YYYY') | 'Jun 01, 2026' |
| שלם מוזז → ממשי | REALQUANT(shifted_int) | REALQUANT(INVOICEITEMS.TQUANT) | כמות אמיתית לפי קבוע המערכת DECIMAL |
🔢
פונקציות מתמטיות Mathematical Functions
| נושא | פונקציה / תחביר | דוגמה | תוצאה / הערה |
|---|---|---|---|
| ערך מוחלט — שלם | ABS(integer) | ABS(-5) | 5 |
| ערך מוחלט — ממשי | ABSR(real) | ABSR(-3.14) | 3.14 |
| עיגול → שלם | ROUND(real) | ROUND(1.45) | 1 (מחזיר INT) |
| עיגול → ממשי | ROUNDR(real, n) | ROUNDR(1.455, 2) | 1.46 (מחזיר REAL) |
| שארית חלוקה | n MOD m | 10 MOD 4 | 2 (גם לשליפת שעה מ-DATE14) |
| חזקה — שלמים | EXP(m, n) | EXP(3, 2) | 9 (מחזיר INT) |
| חזקה — ממשיים | POW(x, y) | POW(2.0, 3.0) | 8.0 (מחזיר REAL) |
📅
תאריך ושעה Date & Time
| נושא | תחביר / ביטוי | דוגמה | תוצאה / הערה |
|---|---|---|---|
| תאריך + שעה נוכחיים | SQL.DATE | SELECT SQL.DATE FROM DUMMY | DATE14 — תאריך ושעה נוכחיים |
| תאריך נוכחי (ללא שעה) | SQL.DATE8 | SELECT SQL.DATE8 FROM DUMMY | DATE8 — תאריך בלבד |
| שעה נוכחית | SQL.TIME | SELECT SQL.TIME FROM DUMMY | TIME — שעה נוכחית |
| יום בשבוע (מספר) | SQL.DAY | SELECT SQL.DAY FROM DUMMY | INT — 0=ראשון … 6=שבת |
| הוספת ימים לתאריך | date + (n * 24:00) | SQL.DATE8 + 7 * 24:00 | תאריך + 7 ימים (תאריכים הם מספרי דקות) |
| שליפת שעה מ-DATE14 | date MOD 24:00 | SQL.DATE MOD 24:00 | חלק השעה בלבד מ-DATE14 |
| תאריך לפורמט מחרוזת | DTOA(date, 'format') | DTOA(SQL.DATE,'MMM DD, YYYY') | 'Jun 01, 2026' (DD, MM, YY, YYYY, MMM) |
| מחרוזת לתאריך | ATOD(string, 'format') | ATOD('311006','DDMMYY') | 31/10/06 (תאריך פנימי של Priority) |
⚙️
משתני מערכת SQL System Variables
| משתנה | סוג | תיאור | דוגמה |
|---|---|---|---|
SQL.ENV | CHAR | קוד חברת Priority הנוכחית | SELECT SQL.ENV FROM DUMMY |
SQL.USER | INT | מספר פנימי של המשתמש המחובר | UPDATE ... SET UPDUSR = SQL.USER |
SQL.GROUP | INT | מספר קבוצת המשתמש (ירושת הרשאות) | SELECT SQL.GROUP FROM DUMMY |
SQL.DATE | DATE14 | תאריך ושעה נוכחיים | UPDATE ... SET UDATE = SQL.DATE |
SQL.DATE8 | DATE8 | תאריך נוכחי בלבד (ללא שעה) | WHERE CURDATE >= SQL.DATE8 |
SQL.TIME | TIME | שעה נוכחית | SELECT SQL.TIME FROM DUMMY |
SQL.DAY | INT | יום בשבוע (0=ראשון, 6=שבת) | GOTO 99 WHERE SQL.DAY = 6 |
SQL.LINE | INT | מספר שורה מצטבר בשאילתה | SELECT SQL.LINE, PARTNAME FROM PART |
SQL.TMPFILE | CHAR | נתיב לקובץ זמני ייחודי | :FNAME = SQL.TMPFILE; |
SQL.LANGUAGE | CHAR | קוד שפת המשתמש הנוכחי | SELECT SQL.LANGUAGE FROM DUMMY |
SQL.ENVLANG | CHAR | שפה המוגדרת לחברת Priority | SELECT SQL.ENVLANG FROM DUMMY |
SQL.GUID | CHAR | מחרוזת UUID אקראית ייחודית (32 תווים) | :ID = SQL.GUID; |
SQL.HOSTING | INT | האם המערכת רצה ב-Cloud? (1=כן, 0=לא) | GOTO 99 WHERE SQL.HOSTING = 0 |
SQL.ORACLE | INT | סוג מסד הנתונים (1=Oracle, 2=SQL Server) | GOTO 10 WHERE SQL.ORACLE = 2 |
🛠️
פונקציות מערכת נוספות System Functions
| נושא | פונקציה / תחביר | דוגמה | תוצאה / הערה |
|---|---|---|---|
| הודעת מערכת מתורגמת | ENTMESSAGE(entity, type, num) | ENTMESSAGE('ORDERS', 1, 2) | טקסט הודעה רב-לשוני ממילוני המערכת |
| נתיב תיקיית מערכת | SYSPATH(folder, out_type) | SYSPATH('MAIL', 0) | נתיב מלא (0) או יחסי (1) לתיקייה (MAIL, TMP…) |
| שם קובץ מצורף ייחודי | NEWATTACH(name, ext) | NEWATTACH('report', 'pdf') | נתיב ייחודי לקובץ חדש בתיקיית MAIL |
| ניתוח XML / JSON | XMLPARSE | (בפרוצדורות ובממשקי נתונים) | ניתוח וקריאת נתונים מקבצי XML ו-JSON |
💡 טיפ:
כדי לבדוק פונקציה ישירות ב-Priority, ניתן להריץ שאילתה בצורה:
SELECT STRCAT('Hello',' World') FROM DUMMY FORMAT;
— הטבלה DUMMY היא טבלת בדיקה חד-שורתית שתמיד קיימת בכל סביבת Priority.