לומדים פייטון פריוריטי ומתרגלים

ברוכים הבאים ל – ETCOMBER

דו"חות בפריוריטי

הבדל בין ביטויים לתנאים

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

;SELECT CUST, CUSTNAME, CUSTDES, STATE, 'X' FROM CUSTOMERS FORMAT

במיקרה שהעמודה חישובית היא מי סוג STRING נירשום בין גרשיים במיקרה זה ידפיס לנו X ליד כל הרשומה

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

;SELECT CUST, CUSTNAME, CUSTDES,   5,   5*5  FROM CUSTOMERS WHERE CUST <>  0 FORMAT 

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

CUSTNAME, ותיאור ללקוח CUSTDES כמובן שני עמודות אלו יהיו מסוג STRING

SELECT CUST, CUSTNAME, CUSTDES, STATE, STRCAT(CUSTNAME, '  ', CUSTDES)   FROM CUSTOMERS  WHERE CUST <> 0 FORMAT ; 

 ו

הכרה מערכת ניהול פקודות בפריוריטי : WINDBI

כדי לגשת ל WINDBI ניגשים גם בסביבת CLIENT וגם בסביבת WEB ל:  לכילים, הפעלת יישות ורושמים בחלונית WINDBI 

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

השאיתות שאנו נבצע ב WINDBI מתחלקות לשני סוגים שאילתות SELECT או שליפה ופקודות DML.

שאילתות SELECT נבצע כדי לשלוף נתונים ולא גורמים נזק ב בסיס הנתונים בשונה מפקודות DML שנישתמש כדי  לבצע מניפולציה על הנתונים ב DATA BASE  למשל מחיקת רשומה, הוספת רשומה ואחרי השינויים אלו לא נוכל לחזור אחורה  ופקודות אלו יותר משמעותיות ויכולות להיות ארסניות אם לא נשתמש בצורה נכונה.

כדי לגשת בסביבת WEB ניגשים  לקובץ פותחים הפעלות, הפעלות יישות,  בממשק WEB חייבים לירשום WINDBI.P

באותיות גדולות.

כדי לימצא את השארית של מספר משתמשים במילה שמורה MOD

;SELECT 10 MOD 4  FROM DUMMY FORMAT

 

 

תרגילים עם WINDBI

תרגיל 1: לישלוף את כל הרשומות של עם כל עמודות מטבלת לקוחות:

;SELECT * FROM CUSTOMERS FORMAT

תרגיל 2:  כתוב שאילתה שתציג את סה"כ הזמנות במערכת:

;SELECT * FROM ORDERS FORMAT

SELECT COUNT(*) FROM ORDERS WHERE ORD > 0 AND CURDATE > BEGINOFYEAR(SQL.DATE) FORMAT;

מציג את יצירת ההזמנות בשנה הנוכחית

תרגיל 3: כתוב שאילתה שתציג סך הכמויות לכל מק"ט  בכל ההצעות המחיר של המערכת (הציע ID ש המק"ט 

ואת סך הכמויות)

 

CPROFITEMS = הצעת מחיר ללקוח – פירוט

PART=  מוצרים

CPROFITEMS.PART = PART.PART   

N – A

PART: OF CPROFITEMS = מק"ט (ID) 13 INT N

PART: OF PART = מק"ט (ID)  13  INT A

 

CPROFITEMS.TQUANT

TQUANT = כמות מינימום 17 INT 

TQUANT זה הכמות   

ב- CPROFITEMS 

 

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

;SELECT PART, SUM(TQUANT) FROM CPROFITEMS WHERE PART > 0 GROUP BY 1 FORMAT

חשוב" לשים לב שהמק"ט במיקרה זה זה נמצא בפירוטי הצעות"

 

קשרי לקוחות -> הצעת מחיר -> הצעות מחיר ללקוח

  ונוכל ליראות ש הטבלה יסוד ניקראה F6 ולוחצים על 

CPROF כדי  שנוכל ליראות באיזה טבלת יסוד נימצא  ואפשר ליראות שהטבלה יסוד היא 

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

 CPROFITEMS יש אותו שם  

CPROFITEMS ניקח את השם המסך 

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

נוכל ליראות שהעמודת המסך   היא: PARTNAME 

 

צריכים לשת להצעת מחיר 

;SELECT COUNT(*) FROM ORDERS FORMAT

 

SELECT COUNT(*) FROM ORDERS WHERE ORD > 0 AND CURDATE < 31/12/15 FORMAT

פרושו של דבר שנעשה ספירה של כמות של הזמנות שיש במערכת באמצעות COUNT  בנוסף יציג לנו את ההזמנות ש שגודולים מי 0 וההזמנות ששתאריך הפתיחה "CURDATE"  קטנים מי 31 לדצמבר 2015    

SELECT COUNT(*) FROM ORDERS WHERE  ORD > 0 AND  CURDATE BETWEN 31/12/15 AND 31/12/16 FORMAT;

 ;SELECT CUST, CUSTNAME, CUSTDES, STATE FROM CUSTOMERS

נקבל הודעה  Execute OK

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

;SELECT CUST, CUSTNAME, CUSTDES, STATE FROM CUSTOMERS FORMAT

SELECT CUST, CUSTNAME, CUSTDES, STATE, STRCAT(CUSTNAME, '     ', CUSTDES,'  ( ', ITOA(CUST)) FROM CUSTOMERS WHERE CUST >  0 FORMAT;

מוסיפים סוגר ")"  למספר לקוח CUST

מוסיפים עוד סוגר לספר ID של לקוחות CUST

SELECT CUST, CUSTNAME, CUSTDES, STATE, STRCAT(CUSTNAME, '     ', CUSTDES,'  ( ', ITOA(CUST),' ) ') FROM CUSTOMERS WHERE CUST >  0 FORMAT;

SELECT SQL.DATE8,SQL.USER, CUST, CUSTNAME, CUSTDES, STATE, STRCAT(CUSTNAME, '     ', CUSTDES, ' ( ', ITOA(CUST), ')') FROM CUSTOMERS WHERE CUST > 0 FORMAT;
SELECT SQL.LINE, SQL.DATE,SQL.USER, CUST, CUSTNAME, CUSTDES, STATE, STRCAT(CUSTNAME, '     ', CUSTDES, ' ( ', ITOA(CUST), ')') FROM CUSTOMERS WHERE CUST > 0 FORMAT;
אפשר רק להציג את העמודה חישובית
;SELECT  STRCAT(CUSTNAME, '  ' , CUSTDES, ' (' , ITOA(CUST),' ) ') FROM CUSTOMERS FORMAT
יציג לנו המערכת את העמודה חישובית שיצרנו מהSTRINGS מס' לקוח ותיאור לקוח ובוסף העמודה  מי סוג INT
שהפכנו לעמודה STRING באמצעות ITOA והוספנו סוגריים במספר לקוח CUST
 

 

שגיאות נפוצות בהרצת שאילתות ב- עורך WINDBI

תרגילים פרוצדורות בפריוריטי

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

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

א. מלאי נוכחי

ב. סה"כ הזמנות רכש פתוחות

ג. סה"כ הזמנות לקוח פתוחות

ד. סה"כ דרישות רכש רכש פתוחות

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

פרוצדורה לדו"ח

בוחרים אחרי הכותרת  דו"חות :  באופציה פרוצדורה לדו"ח  (R)  שנעריץ את התוכנית נגיעה לדוחות עיצובים שיצרנו לפני כן , נגיע לאופציה "עיצוב" ונוכל לעצב את הדוח לפי העיצובים בעול הדוחות לעצב, להסתיר, לשכפל דו"ח להעביר למקום אחר וכולי ונרצה להוריד את האופיה (R) פרוצדורה לדו"ח המערכת תריעה לפנינו ונייעץ לנו להשאיר את האופציה פרוצדורה לדו"ח ונקבל את ההודעת התרעה "בפרוצדורה FEBE_XXXX  השאר 'R' בעמודה 'דו"ח R'  נוכל גם לישלוח את הדו"ח לאקסל ולבצע עיצובים לדו"ח

שגיאות מי תוך מערכת פריוריטי ב עורך WINDBI

שגיאה מס' 1:  SELECT * FROM CUSTOMERS FORMAT

C:\priority\tmp/file.in", line 2: parse error at or near symbol"

פרושו של דבר שלא סגרנו את השאילתא ב אמציות נקודה פסיק (;) לכן אומר לנו שבשורה הבאה line 2 יש טעות ולא  סגרנו את שורה לפניה.

שגיאה מס' 2: כותבים שם הטבלה בצורה לא נכונה.     ;SELECT * FROM CUSTOMER FORMAT 

C:\priority\tmp/file.in", line 1 CUSTOMER is not a legal table name:

קיבלנו שגיאה שבשורה ראשונה CUSTOMER is not a legal table  name  זאת אומרת ש CUSTOMER זה לא שם חוקי במערכת.

שגיאה מס' 3:    ;SELECT CUST, CUSTNAME, CUSTDE, STATE, FROM CUSTOMERS FORMAT

C:\priority\tmp/file.in", line 1: CUSTDE Unresolved identifier"

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

שגיאה מס' 4:  ;SELECT CUST, CUSTNAME, CUSTDES, STATE, 2* FROM CUSTOMERS FORMAT

C:\priority\tmp/file.in", line 1: parse error at or near symbol FROM"

השגיאה שיחזיר לנו זה ש יש משהו שלא מזהה ליד המילה FROM כי המערכת לא מזהה מה זה הכוכבית הזאת כי *2  זה לא פעולה מתמטי 

שגיאה 5: לא הפרדנו עם פסיק בין שני עמודות:  SELECT CUST, CUSTNAME  CUSTDES, STATE,  STRCAT) CUSTNAME, ' ' , CUSTDES( FROM CUSTOMERS FORMAT;

C:\priority\tmp/file.in", line 1: parse error at or near symbol CUSTDES

המערכת נותנת לנו את המיקום שלפניו זיהה את השגיאה במיקרה זה זיהה המערכת שיש שגיאה לפני CUSTDES מכוון שחסר פסיק לפני CUSTDES

SELECT COUNT (*) FROM ORDERS WHERE ORD > 0 AND CURDATE   =  BEGINOFYEAR(SQL.DATE)  FORMAT;   

יציג לנו הזמנות שנוצרו מי תחילת השנה הנוכחית

;SELECT PART, SUM(TQUANT) FROM CPROFITEMS FORMAT

נקבל את השגיאה:

C:\priority\tmp/file.in",   lile 1: Illegal conbination of direct reference to column and functionn and function (columns) in SELECT clause

lהשגיאה אומרת לנו שיש לנו םנייה לא חוקית או קונבינציה לא חוקית שאנו פונים

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

לכן עבור הפונקציה אנו צריכים להגדיר מי הקבוצה ב מיקרה זה הקבוצה

או GROUP BY 1 צריכה להיות 1 או העמודה PART אז כדי לתקן את השאילתה 

נירשום: 

SELECT PART, SUM(TQUANT) FROM CPROFITEMS WHERE PART > 0 

GROUP BY PART FORMAT;

 

כדי להפעיל את הפרצדורה מי תוך יישום מסויים יורדים למסך בן "מופעל מתפריט.מסך ו רושמים את שם תפריט.מסך למשל אם רוצים שתופעל מי תוך תפריט  דוח"ות ספקים נבחר בתפריט SUPPREP  ויבחר באופיה טיפוס M ונוכל ליראות את הפרוצדורה שלנו FEBE_XXXX תחת התפריט דו"חות ספקים 

אם בחרנו באופציה פרוצדורה לדו"ח יופיע הסמל של הדו"ות תחת התפריט דו"חות ספקים ואם הסרנו את האופציה פרוצדורה לדו"ח זאת אומרת הסרנו את האות 'R' יופיע עם הסמל של גלגל שיניים אופייני לפרוצדורות

אופציה בפרוצדורה RADIO BOTTONS

שם הישות CHOOSE מאפשר לנו את האופציה לבחור באחד האפשרויות ושאר האפשרויות לא יהיה זמינות 

פיתרון לתרגיל באמצעות WINDBI

;DELETE FROM GENERALLOAD

/*********ORDERS********/

INSERT INTO GENERALLOAD (LINE, TEXT1, TEXT2. REAL1, TEXT6)

SELECT SQL.LINE, PARTNAME, PARTDES, SUM(OI.QPRICE),  'SALES' AS

'TYPE' 

FROM ORDERITEMS OI, PART

WHERE OI.PART = PART.PART

 

;AND OI.PART <> 0

;3, GROUP BY 1, 2

/****************PORDERS**********/

;SELECT MAX(LINE)  INTO :MAX_LINE FROM GENERALLOAD

INSERT INTO GENERALLOAD (LINE, TEXT1, TEXT2, REAL1, TEXT6)

'SELECT SQL.LINE, PARTNAME. PARTDES, SUM(OI.QPRICE), 'P.ORDERS' AS 'TYPE

FROM ORDERITEMS OI, PART

WHERE OI.PART = PART.PART

AND OI.PART <> 0

;GROUP BY 1,2,3

;SELECT LINE, TEXT1, TEXT2, REAL1, TEXT6 FROM GENERALLOAD FORMAT

SELECT CUST, CUSTNAME, CUSTDES, STATE  FROM CUSTOMERS

WHERE CUST <> 0    

;FORMAT

 

 

פרוצדורה: דו"ח ספקים לפי תאריך פתיחה
1. במידה והטווחים בתאריך תקינים לפתוח דו"ח העונה לתנאי התאריכים. 2. בתנאי שהטווחי התאריכים אינם אפשריים תוצג הזהרה והקלט יפתח שוב
Elena Miles
Student

ברוכים הבאים לפייטון

משתנים בפייטון

#variables
my_string_variable = "My String Variables"
print(my_string_variable)
my_int_variable = 5
print(my_int_variable)
my_bool_variable = True
print(my_bool_variable)
print(my_string_variable, my_bool_variable)

פונקציות בנויות במערכת בפייטון

()abs

()all

()any

()ascii

()bin

()bool

()breakpoint

()bytearray

()bytes

()callabe

()chr

()classmethod

()copile

()complex

()delattr

()dict

()dir

()divmod

()enumerate

()eval

()exec

()filter

()float

()format

()frozenset

()getattr

()globals

()help

()hex

()id

()input

()int

()isinstance

()issubclass

()iter

()len

()list

()locals

()map

()max

()min

()next

()object

()oct

()open

()ord

pow()

()print

()property

()range

()repr

()reversed

()setattr

()slice

()sorted

()staticmethod

()str

()sum

()super

()tuple

()type

What our Happy Student Say
Mauris auctor sit consequat sed aenean purus egestas porta vel fermentum, nec nisi at eget non, nisi tincidunt tempus, etiam eget blandit tortor pulvinar est faucibus tristique blandit volutpat neque sit fusce.
Elena Miles
Student
What our Happy Student Say
Mauris auctor sit consequat sed aenean purus egestas porta vel fermentum, nec nisi at eget non, nisi tincidunt tempus, etiam eget blandit tortor pulvinar est faucibus tristique blandit volutpat neque sit fusce.
Elena Miles
Student
What our Happy Student Say
Mauris auctor sit consequat sed aenean purus egestas porta vel fermentum, nec nisi at eget non, nisi tincidunt tempus, etiam eget blandit tortor pulvinar est faucibus tristique blandit volutpat neque sit fusce.
Elena Miles
Student

Getting Started With Python 3 for Beginner

Nibh enim nisi amet et nunc varius facilisis nulla non urna pulvinar felis, faucibus id placerat.
Front End
HTML 5 Web Component Fundamentals
Front End
Mastering CSS 3 Flexbox With Real World Projects
Front End
Full Stack Web Development with React Hooks and Redux
Testimonials

Trusted by Thousand of Students and Tutors

“Massa amet, at dolor tellus pellentesque aenean in eget massa tincidunt habitasse volutpat adipiscing sed id sit auctor eu vivamus nulla.”
Emma Hart
“Ut morbi felis, felis massa quam sit massa, amet, bibendum pulvinar elit in adipiscing amet imperdiet ac felis congue enim, elementum orci.”
Eddie Johnson
“Donec in varius facilisis justo, curabitur aliquet sit justo sed sit interdum diam dolor ornare quis a felis adipiscing hendrerit quisque enim.”
Jonathan Doe
“Pulvinar dui vitae enim, diam et nulla elit nam leo lacinia et, a, pulvinar gravida enim in blandit mauris vitae volutpat urna, sed justo hendrerit.”
Mike Edward