ב ר ו כ י ם ה ב א י ם

לקורס תכנות בפריוריטי

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

הקדמה | ברוכים הבאים ומה מצפה לנו בקורס?

כאן יהיה מוצג תרגיל שיעורי הבית שלכם…

כאן יוצג הפתרון שלי לתרגיל.
בחלק מהשיעורים יהיה גם סרטון הסבר.

ברוכים הבאים לקורס תכנות בפריוריטי.
הקורס נבנה ומועבר על ידי רועי בן מנחם – מומחה בפיתוח ויישום פריוריטי, בעל תעודות הסמכה מבית התוכנה Priority Software.
בעזרת הסרטונים תלמדו צעד אחרי צעד את כל מה שצריך כדי להפוך למתכנתיי פריוריטי, ותוכלו להתמודד על כל תפקיד רלוונטי בתעשייה.
המפתח להצלחה הוא לצפות בכל סרטון ולנסות בעצמכם את הדוגמאות המוצגות בו, לאחר מכן, לנסות לפתור את שיעורי הבית…מבלי להציץ בתשובות…
לאחר מכן להשוות את הפתרון שלכם לתשובות.
תמיד טוב לבדוק בתגובות אם יש הערות חשובות שתלמידים אחרים רשמו, וכמובן לרשום תגובות ותובנות שלכם.

כדי להנות מכל התכנים של הקורס וגם לקבל ליווי צמוד והדרכה ממתכנת מומחה, יש להירשם בקישור.
https://simplyct.co.il/shop-course

בהצלחה!

לתגובות ושאלות על השיעור
חזרה לשיעור

מבוא | קישור להורדת התוכנה ולמדריך הרשמי SDK של חברת פריוריטי

שיעורי הבית בשיעור הזה, היא להוריד את התוכנה בהצלחה, ולפתוח אותה במחשב המקומי.

טיפ חשוב!!! לפני הרצת קובץ ההתקנה, כבו את תוכנת האנטי וירוס אם יש לכם כזו!

לעיתים ההתקנה נכשלת בעקבות חסימות של תוכנת אנטי וירוס.

בשיעור זה נלמד איך להוריד את התוכנה מהלינק.

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

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

 

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

מסמך זה נקרא באנגלית SDK, ניתן לצפות בו בלינק.

המסמך מאוד טכני ומטרתו אינה ללמד איך לתכנת, אלא לתת מידע למי שכבר יודע לתכנת בפריוריטי.

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

לתגובות ושאלות על השיעור
חזרה לשיעור

פרק 1 | סרטון 1 | הקדמה, טבלאות ועמודות, מפתחות וחוקים של מפתחות

הקדמה, טבלאות ועמודות,מפתחות וחוקים של מפתחות
Constructing and Modifying Database Tables

לתגובות ושאלות על השיעור
  • חזרה לשיעור

    פרק 1 | סרטון 2 | בניית טבלאות, שינוי והוספת עמודות, שינוי והוספת מפתחות' צפיה בטבלאות במערכת ושימוש ב WINDBI

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

    הוסיפו לטבלת מוצרים שדה בשם תאור2 ,שדה בשם תאור לועזי 2 , מחיר נוסף ומשקל לפריט

    Constructing and Modifying Database Tables

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 2 | סרטון 1 | שימוש מתקדם ב WINDBI , סינטקס, פונקציות שמורות, קבועים ומשתנים

    SQL Syntax
    שימוש מתקדם ב WINDBI , סינטקס, פונקציות שמורות, קבועים ומשתנים

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 2 | סרטון 2 | בקרת זרימה של קוד

    צרו קוד אשר בקבל מספר שלם כלשהו, ומחשב את סכום כל המספרים מאפס עד המספר שנבחר. לדוגמא אם נבחר 7, התשובה תהייה 1+2+3+4+5+6+7 .

    רמז, הגדירו MYNUMBER = 7: והשתמשו ב LOOP WHERE כדי ליצור לולאה שתיפסק בהגעה לערך הנדרש. בתוך הלולאה חשבו את SUM: ובסוף הציגו אותו על המסך.

    רמז, הגדירו MYNUMBER = 7: והשתמשו ב LOOP WHERE כדי ליצור לולאה שתיפסק בהגעה לערך הנדרש. בתוך הלולאה חשבו את SUM: ובסוף הציגו אותו על המסך.

    נושא השיעור: בקרת זרימה של קוד

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 2 | סרטון 3 | לולאות קורסור CURSOR והפניות ל SUB ROUTINGS

    כיתבו קורסור שעובר על כל הלקוחות במערכת, ומעדכן לכל לקוח שמכיל את האות 'א' ערך 'א' בפרמטר 1

    לולאות קורסור CURSOR והפניות ל SUB ROUTINGS

    לתגובות ושאלות על השיעור

    פרק 2 | סרטון 4 | שיטות פלט, שימוש ב LIKE, Outer Join, והפקודה LINK

    הפיקו שאילתות לקובץ, כיתבו שאילתות תוך שימוש במספר פקודות LIKE, בצעו פקודות LINK ובדקו את הערכים המוחזרים לאחר LINK ולאחר UNLINK

    שיטות פלט, שימוש ב LIKE, Outer Join, והפקודה LINK

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 2 | סרטון 5 | תנאי IF ELSE , פונקציות על מספרים, מחרוזות ותאריכים

    תנאי IF ELSE , פונקציות על מספרים, מחרוזות ותאריכים

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 2 | סרטון 6 | המשך העמקה בפונקציות של פריוריטי והבנת סוגי המשתנים

    המשך העמקה בפונקציות של פריוריטי והבנת סוגי המשתנים

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 3 | סרטון 1 | מחולל מסכים, חלק 1

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 3 | סרטון 2 | מחולל מסכים, חלק 2

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

    בנו טבלה פרטית נוספת, לדוגמא טבלת מכונות,  וחברו אותה לטבלה קיימת, לדוגמא מוצרים.

    בסרטון זה נלמד לבנות מסך על בסיס טבלה פרטית.

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 3 | סרטון 3 | מסכי בן

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

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

    בשיעור זה נלמד עוד על מחולל המסכים

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 3 | סרטון 3 | טריגרים של מסכים

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 3 | סרטון 4 | טריגרים, המשך

    הגדירו לכל פריט במערכת, שלאחר הקלדת פרמטר 2, לפני היציאה משדה פרמטר 2, המערכת תחפש האם יש מקט שלו פרמטר 1 + פרמטר 2 זהים, במידה וכן, תוצג הודעת אזהרה.

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 3 | סרטון 4 | המשך בנושא טריגרים של רשימות בחירה , Choose & Search

    תרגיל עבור סרטון זה: הוסיפו לכרטיס פריט שדה טקסט,
    והוסיפו לשדה רשימות בחירה מכל הסוגים ,
    רשימה קצרה משאילתה,
    רשימה קצרה מהודעות מסך,
    רשימה עם חיפוש על פי מספר תאור ותאור לועזי

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 4 | סרטון 1 | מחולל דוחות

    תרגיל א – הוסיפו לדוח מוצג בסרטון את פירוט ההזמנה, מקט, כמותף מחיר

     

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

    אפשר להעזר בקורס שנכתב על ידי פריוריטי סופטוור בקישור

     

     

    מחולל דוחות הינו כלי מרכזי בתכנות פריוריטי, המאפשר בניית דוחות פשוטים.

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

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 4 | סרטון 2 | בניית ממשקים למסכים

    צרו קובץ אקסל עם רשימת מוצרים, לכל מוצר רישמו מקט, תאור, מחיר בסיס

    שימרו את הקובץ לפי ההסברים בסרטון

    צרו ממשק למסך שטוען את הקובץ

    בשיעור זה נלמד איך לבנות ממשק למסך מקובץ.

    מדובר באחד הכלים הכי שימושיים במערכת הפריוריטי.

    הכלי הזה נחשב כלי יישומי ולא תכנותי, ואולי אם כבר מכירים אותו, אבל חובה להכיר אותו לעומק כדי להתקדם לתכנות של פרוצדורות שמפעילות ממשקים שילמדו בפרקים הבאים.

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 4 | סרטון 3 | מחולל ממשקים למסכים בשתי רמות

    סרטון זה הינו המשך העמקה בנושא מחולל ממשקים למסכים

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 4 | סרטון 4 | טעינת קבצי XML בעזרת מחולל ממשקים למסכים

    טעינת קבצים במבנה XML הינה טכניקה שעדיין נפוצה, אך מורכבת

    לכן מוקדש לה סרטון מלא

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 5 | סרטון 1 | פרוצדורות

    פרוצדורות הינן חלק מהלב הפועם של מערכת הפריוריטי.

    בשיעור זה נלמד מהי פרוצדורה ואיך משתמשים בה.

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 5 | סרטון 2 | פרוצדורות, המשך

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

    תרגיל ב: בנו דוח/פרוצדורה, המציג את כל הלקוחות שיש להם סה"כ הזמנות פתוחות גדול מהסכום שבקלט. השתמשו בטבלה זמנית של טבלת לקוחות כדי לעבד את הנתונים ולהציגם. רמז: יש לחשב מיהם הלקוחות העומדים בתנאי של סכום הזמנות פתוחות, ואותם להכניס לטבלה זמנית של לקוחות, ואת הטבלה הזמנית של לקוחות להציג בדוח.

    סרטון המשך בנושא פרוצדורות

    לתגובות ושאלות על השיעור
  • חזרה לשיעור

    פרק 5 | סרטון 3 | שימוש בטבלאות זמניות STACK בתוך פרוצדורה ודוח

    תרגיל א – הוסיפו לדוח בעמודה TEXTDATA ערך טקסטואלי קבוע כפי שהוצג בסוף הסרטון.

    תרגיל ב – הוסיפו לדוח בעמודה TEXTDATA ערך טקסטואלי שתלוי בסכום שחושב, לדוגמא לכל סכום גדול מ 1000 יהיה מוצג 'גדול' ולכל סכום קטן מ 1000 יהיה מוצג 'קטן', רמז, יש להריץ קורסור על הטבלה הזמנית ואז לעשות לה עדכון בעזרת UPDATE .

    מצורף הקוד שמוצג בשיעור לשימושכם/ן

    SELECT ORDERS.CUST,SUM(ORDERITEMS.ABALANCE)
    FROM ORDERS,ORDERITEMS
    WHERE ORDERS.ORD = ORDERITEMS.ORD
    AND ORDERITEMS.CLOSED <> 'C'
    GROUP BY 1
    FORMAT;
    /****************/
    SELECT SQL.TMPFILE INTO :SK4 FROM DUMMY;
    LINK STACK4 TO :SK4;
    ERRMSG 999 WHERE :RETVAL <=0;
    INSERT INTO STACK4(KEY,INTDATA,TEXTDATA)
    SELECT ORDERS.CUST,SUM(ORDERITEMS.ABALANCE) ,'sdfdfdf'
    FROM ORDERS,ORDERITEMS
    WHERE ORDERS.ORD = ORDERITEMS.ORD
    AND ORDERITEMS.CLOSED <> 'C'
    GROUP BY 1
    ;
    SELECT KEY,INTDATA,TEXTDATA FROM STACK4 FORMAT;
    UNLINK STACK4;

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

    לתגובות ושאלות על השיעור
  • פתרון לתרגיל א

    LINK STACK4 TO :$.SK4;
    ERRMSG 999 WHERE :RETVAL <=0;
    INSERT INTO STACK4 (KEY,REALDATA,TEXTDATA)
    SELECT ORDERS.CUST,SUM(ORDERITEMS.QPRICE),'ספירררררררררר'
    FROM ORDERS,ORDERITEMS,DUMMY
    WHERE ORDERS.ORD = ORDERITEMS.ORD
    AND ORDERITEMS.CLOSED 'C'
    GROUP BY 1
    HAVING SUM(ORDERITEMS.QPRICE) > :$.NUM;
    UNLINK STACK4;

  • הצלחתי את תרגיל ב' בלי שימוש בקורסור
    LINK STACK4 TO :$.ST4;
    ERRMSG 999 WHERE :RETVAL <= 0;
    LINK ORDERS TO :$.ORR;
    ERRMSG 999 WHERE :RETVAL <= 0;
    INSERT INTO STACK4 (KEY, REALDATA, TEXTDATA)
    SELECT CUST, SUM(QPRICE), ''
    FROM ORDERS
    WHERE CUST 0
    GROUP BY 1;
    UPDATE STACK4 SET TEXTDATA = 'BIG' WHERE REALDATA > 1000;
    UPDATE STACK4 SET TEXTDATA = 'SMALL' WHERE REALDATA < 1000;
    UNLINK STACK4;
    UNLINK ORDERS;

  • חזרה לשיעור

    פרק 6 | סרטון 1 | מחולל מסמכים

    בהתאם למוסבר בסרטון, העתיקו את המסמך 'הדפסת הזמנה' , העתיקו מספר דוחות בתוך הפרוצדורה.

    נסו לשנות את המיקומים של הדוחות בתוך הפרוצדורה על ידי שינוי המספר שכתוב לפרמטר בשלב 500 ו/או על ידי שינוי ההגדרות במסך הנכד של הפרמטר.

    בצעו שינויים בדוחות שהעתקתם וצפו בהשפעה של השינויים על הדוח.

     

    אתגר למתקדמים:

    מנהל המכירות של החברה רוצה שבכל הזמנה שמופקת ללקוח יוצגו כל ההזמנות הפתוחות של הלקוח.

    הוסיפו דוח שמציג את כל ההזמנות הפתוחות של אותו לקוח. שימו לב לא להציג את ההזמנה הנוכחית.

    רמז: יש ליצור דוח הזמנות פתוחות ולהגדיר את מפתח ההזמנה שונה מההזמנה הנוכחית.

     

    בשיעור זה נלמד לבנות מסמך שאפשר להדפיס ללקוח.

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

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 7 | סרטון 1 | שימוש בממשקים FORM INTERFACE

    קוד לדוגמא מהסרטון

    SELECT SQL.TMPFILE INTO :_GL2 FROM DUMMY;

    LINK GENERALLOAD2 TO :_GL2;

    ERRMSG 999 WHERE :RETVAL <=0;

    DELETE FROM GENERALLOAD2;

    LINK STACK_ERR TO :_ERR;

    ERRMSG 999 WHERE :RETVAL <=0; INSERT INTO GENERALLOAD2(LINE, RECORDTYPE, TEXT,TEXT1) SELECT 1,'1', 'new customer from table interface 2222','זמני' FROM DUMMY; DELETE FROM STACK_ERR; EXECUTE INTERFACE 'ROYY_OPENCUSTOMER2', SQL.TMPFILE, '-L', :_GL2,'-stackerr',:_ERR; SELECT MESSAGE INTO :PAR1 FROM STACK_ERR WHERE LINE > 0;

    SELECT * FROM STACK_ERR FORMAT; /*WRNMSG 998 WHERE :RETVAL > 0;*/

    SELECT CUSTDES FROM CUSTOMERS,GENERALLOAD2 WHERE CUSTOMERS.CUST = ATOI(GENERALLOAD2.KEY1) AND GENERALLOAD2.LINE = 1 FORMAT;

    UNLINK GENERALLOAD2;

    UNLINK STACK_ERR;

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

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 7 | סרטון 2 | מיפוי קבצים בתקיה וטעינת קבצים מתקיה לממשק למסך

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

    נסו ליצור פרוצדורה שעושה את אותו תהליך שהוצג בסרטון

    הוסיפו קוד שמעביר את הקובץ בשמו המקורי לתת תקיה בשם loaded אם הטעינה הצליחה, ולתת תקיה בשם error אם התקבלו שגיאות בממשק.

    מצורף הקוד של הסרטון לשימושכם.

    :DIR = '../../system/load/demo';
    SELECT SQL.TMPFILE INTO :ST6 FROM DUMMY;
    SELECT SQL.TMPFILE INTO :MSG FROM DUMMY;
    EXECUTE FILELIST :DIR,:ST6,:MSG;
    /* In the linked file of the STACK6 table, you will find all
    files and folders under the input directory :DIR. */
    LINK STACK6 TO :ST6;
    GOTO 99 WHERE :RETVAL <= 0;
    DECLARE NEWFILES CURSOR FOR
    SELECT TOLOWER(NAME)
    FROM STACK6 WHERE NAME <> ";
    OPEN NEWFILES;
    GOTO 90 WHERE :RETVAL <= 0;
    :FILENAME = ";
    :TOFILENAME = '../../system/load/parts.txt';
    LABEL 10;
    FETCH NEWFILES INTO :FILENAME;
    GOTO 85 WHERE :RETVAL <= 0;
    :PATH = STRCAT(:DIR,'/',:FILENAME);
    /* now the variable :path holds the filename */
    SELECT :PATH FROM DUMMY FORMAT;
    EXECUTE COPYFILE :PATH, :TOFILENAME;
    EXECUTE INTERFACE 'ROYY_TEST';
    SELECT * FROM ERRMSGS WHERE USER = SQL.USER FORMAT;
    LOOP 10;
    LABEL 85;
    CLOSE NEWFILES;
    LABEL 90;
    UNLINK STACK6;
    LABEL 99;

     

    על מנת להעביר את הקובץ לתקיית error  אפשר לבדוק האם RETVAL של טבלת השגיאות מחזיר ערך ואם לא לעשות מיד את ה LOOP 10

    כלומר צריך להוסיף אחרי השורה

    SELECT * FROM ERRMSGS WHERE USER = SQL.USER FORMAT;

    את הקוד הבא:

     

    LOOP 10 WHERE :RETVAL <= 0;
    EXECUTE COPYFILE :PATH, :ERRPATH;

     

    בשיעור זה נלמד איך לטעון קבצים מתוך תיקיה, אחד אחרי השני באופן רציף, תוך שימוש בממשק למסך.

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק 8 | סרטון 1 | שימוש ברכיב WSCLIENT לשדר ולמשוך נתונים ממערכות חצוניות בעזרת REST API

    תרגול – נסו להתחבר לסרוויס שמוצג בסרטון, והוסיפו יכולת של לשיחת POST לסרוויס, וגם משיכת נתונים לפי פילטור.

    לאחר מכן, נסו להשתמש בחיבור לסרוויס של פריוריטי המוצג בסרטון, ונסו להכניס לקוח, מוצר והזמנת לקוח!

    מצורף כאן הלינק לאתר שמוצג בסרטון

    https://jsonplaceholder.typicode.com
    דוגמא למשיכת נתונים בפורמט JSON על ידי WSCLIENT והצגתם כטבלה על המסך בעזרת פקודת XMLPARSE

    :endpoint_file = STRCAT(SYSPATH('TMP',1),'url.txt');
    :inFile = STRCAT(SYSPATH('TMP',1),'input.txt');
    :outFile = STRCAT(SYSPATH('TMP',1),'output.txt');
    :msgFile = STRCAT(SYSPATH('TMP',1),'message.txt');
    :headerFile = STRCAT(SYSPATH('TMP',1),'headfile.txt');
    :method = 'GET';
    :contentType = 'application/json';
    :wsUser = "; :wsUserPwd = ";
    EXECUTE WSCLIENT
    ",
    :inFile,
    :outFile,
    '-msg', :msgFile,
    '-head', :headerFile,
    '-usr', :wsUser,
    '-pwd', :wsUserPwd,
    '-content', :contentType,
    '-method',:method,
    '-urlfile',:endpoint_file
    ;
    SELECT SQL.TMPFILE INTO :OUTJSONTAB1 FROM DUMMY;
    SELECT SQL.TMPFILE INTO :OUTJSONTAB2 FROM DUMMY;
    SELECT SQL.TMPFILE INTO :MSG FROM DUMMY;
    LINK INTERFXMLTAGS I1 TO :OUTJSONTAB1;
    GOTO 500 WHERE :RETVAL <= 0;
    LINK INTERFXMLTAGS I2 TO :OUTJSONTAB2;
    GOTO 500 WHERE :RETVAL <= 0; :FILE = :outFile; EXECUTE XMLPARSE :FILE, :OUTJSONTAB1, 0, :MSG, ", 'Y'; /*Note the extra 'Y'*/ /*EXECUTE XMLPARSE :FILE, :OUTJSONTAB2, 0, :MSG, '-all', 'Y';*/ SELECT LINE, TAG, VALUE, ATTR FROM INTERFXMLTAGS I1 WHERE LINE > 0 FORMAT;
    SELECT LINE, TAG, VALUE, ATTR FROM INTERFXMLTAGS I2 WHERE LINE > 0 FORMAT;
    LABEL 500;
    UNLINK INTERFXMLTAGS I1;
    UNLINK INTERFXMLTAGS I2;

    דוגמא לשידור POST

    :inFile = STRCAT(SYSPATH('MAIL',1),'inFile.txt');
    :outFile = STRCAT(SYSPATH('MAIL',1),'outFile.txt');
    :msgFile = STRCAT(SYSPATH('MAIL',1),'msgFile.txt');
    :urlfile = STRCAT(SYSPATH('MAIL',1),'urlfile.txt');
    :wsUser = 'API';
    :wsUserPwd = '1234567';
    :method = 'POST';
    :contentType = 'application/json';
    EXECUTE WSCLIENT ",:inFile, :outFile , '-msg',
    :msgFile, '-usr',
    :wsUser , '-pwd', :wsUserPwd , '-content',
    :contentType , '-method', :method,
    '-urlfile', :urlfile

    קוד המקור שמוצג בסרטון:

    :URL = STRCAT(
    'https://prioritydev.simplyct.co.il/',
    '/odata/priority/tabula.ini,2/demo/',
    'LOGPART');
    :INPUT = '….input.txt';
    :OUTPUT = '….output.txt';
    :wsUser = 'API';
    :wsUserPwd = '1234567';
    EXECUTE WSCLIENT :URL,:INPUT,:OUTPUT,
    '-usr', :wsUser , '-pwd', :wsUserPwd,
    '-content',
    'application/json',
    '-method','GET';
    SELECT MESSAGE INTO :PAR1 FROM ERRMSGS
    WHERE TYPE = 'w'
    FORMAT;
    ERRMSG 998 WHERE :RETVAL > 0;
    WRNMSG 997;

    לתגובות ושאלות על השיעור
    חזרה לשיעור

    פרק בונוס | סרטון 1 | איך למחוק שורות בפריוריטי בצורה תכנותית?

    לתגובות ושאלות על השיעור
    חזרה לשיעור
    X

    מעוניין בגישה לשיעורים נוספים?
    הרשם לאחד מהמסלולים שלנו
    וקבל גישה לקורס המלא!

    מסלולים להרשמה