דו"חות בפריוריטי
הבדל בין ביטויים לתנאים
תנאים מצמצמת את האוכלוסיה וביטויים מוסיפים את האוכלוייה כגון עמודה חישובית במיקרה של התנאים מחזירה את האוכלוסיה ברוב המיקרים. כי רק משהו שעומד באותו תנאים מוצג, למשל אם מבקשים במערכת 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
נסכום את הכמות של כל פריט שמופיע בכל הצעת מחיר
חשוב" לשים לב שהמק"ט במיקרה זה זה נמצא בפירוטי הצעות"
קשרי לקוחות -> הצעת מחיר -> הצעות מחיר ללקוח
ונוכל ליראות ש הטבלה יסוד ניקראה 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 STRCAT(CUSTNAME, ' ' , CUSTDES, ' (' , ITOA(CUST),' ) ') FROM CUSTOMERS FORMAT
יציג לנו המערכת את העמודה חישובית שיצרנו מהSTRINGS מס' לקוח ותיאור לקוח ובוסף העמודה מי סוג INT
שהפכנו לעמודה STRING באמצעות ITOA והוספנו סוגריים במספר לקוח CUST
שגיאות נפוצות בהרצת שאילתות ב- עורך WINDBI
תרגילים פרוצדורות בפריוריטי
- כתוב /י פרוצדורה אשר תציג את הדוח הבאה. הדוח הינו דוח סיכום המכירות לכל פריט בין תקופות שיהיו בקלט של הפרוצדורה. הדוח יציג את הנתונים מחשבוניות מכירה לכל פריט בהתחשב בל חשבוניות המכירה לתקופוה הנבחרת.
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
ברוכים הבאים לפייטון
משתנים בפייטון
#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()
()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
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
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
- Featured Course
Getting Started With Python 3 for Beginner
- Fundamental
- Input and output
- Conditional branching
- 8+ more lessons
Front End
HTML 5 Web Component Fundamentals
- Beginner
- 2h 24m
Front End
Mastering CSS 3 Flexbox With Real World Projects
- Beginner
- 3h 18m
Front End
Full Stack Web Development with React Hooks and Redux
- Intermediate
- 4h 36m