נספר הפעם על האפשרויות להרחיב יישומי FIORI ללא שימוש נרחב בקוד UI5. כולם כבר יודעים על יישומי FIORI שהם הממשק למשתמש החדש והעיקרי של מוצרי סאפ למיניהם. גם כולם יודעים שהשפה בה הם כתובים היא UI5 או SAPUI5 שהיא ווריאנט של שפת javascript. אך מעטים מכירים את היכולות הרבות שסאפ משחררת ומכניסה למוצר כדי לאפשר הרחבות ל FIORI במיוחד ב S4HANA אבל בהחלט גם ל ECC!
כאן תראו את האמצעים השונים להרחבה עבור כל סוג מערכת שנפרט בהמשך. כמובן שישנן מהדורות, תנאי קדם והרבה פרטים אותם תוכלו לקרא בקישורים ולנסות בעצמכם.
ECC on ANYDB
כאן האפשרויות מוגבלות. ישנם מספר מצומצם של יישומי FIORI שפותחו עבור ה ECC אותם ניתן להרחיב עם UI5. בהרבה מקרים ארגונים מחליטים במקום להרחיב לפתח מראש ישר ב UI5 ללא FIORI.
UI Adaptation at Runtime – שינוי והתאמת הממשק למשתמש על ידי המשתמש
זוהי בעצם תכונה של SAPUI5 flexibility Services הדומה במקצת ליכולות של CRM WEB GUI. נדגיש כי לא מדובר בשינויים אישיים בממשק הנשארים רק למשתמש הספציפי ונקראים PERSONALIZATION. מדובר בשינויים מהותיים כגון הזזת שדות, שינוי תוויות, העלמת שדות והוספת שדות שישארו בממשק באופן קבוע עבור כל המשתמשים.
צריך לאתר את גרסת ה FIORI LAUNCHPAD המותקנת אצלכם . כאן:
https://help.sap.com/viewer/product/SAP_FIORI_LAUNCHPAD/EXTERNAL/en-US
ולחפש עמוד של
Adapting SAP Fiori UIs at Runtime – Key User Adaptation
כדי למצא את תנאי הקדם.
כלומר אפשר לכתוב UI5 עם התכונה הזו או לאתר יישומי FIORI כאלה כפי שמתואר בקישורים הבאים.
https://blogs.sap.com/2020/03/24/sap-fiori-for-sap-s-4hana-adapting-sap-fiori-uis-at-runtime/
אמנם משתמש המפתח או המיישם יכול להרחיב מבלי להשתמש בקוד אבל השינויים צריכים לעבור גם למערכות הבאות, QA +PROD ולכן הן צריכות להיות ארוזים בטרנספורטים. זה מוסבר בקישור הבא:
https://blogs.sap.com/2020/04/24/sap-fiori-for-sap-s-4hana-adaptation-transport-organizer/
ECC with CDS on HANA/AnyDB
עם תשתית של CDS מתאפשר פיתוח על בסיס REST שהוא שילוב של ה CDS ברמת ה DB, ODATA להעברה ל FRONTEND ו FIORI / UI5 לעיצוב הממשק למשתמש. תצורה זו גם די מוכרת כבר. ישנם הרבה קורסים / בלוגים וחומר על כך ברשת. ניתן לכתוב VIEWS של CDS עם כל בסיס נתונים (AnyDB) ובמיוחד עם היכולות המוגברות של HANA.
הרחבות של ה FIORI במסגרת REST ניתנות ב 3 צורות ראשיות:
- UI5 Freestyle – כאן אפשר להתחיל לכתוב יישום FIORI מאפס ב UI5, עפ"י הקווים המנחים ליישומי FIORI או להעתיק יישום סטנדרטי ולהרחיב אותו ב UI5.
- UI5 Web Components – זהו אמצעי חדש הזמין ב SCP – פלטפורמת הפיתוח בענן של סאפ שהמטרה העיקרית שלו היא ליצור קישורים , API, עם תוכנות וחבילות אחרות במספר שפות.
- Fiori Elements – תבניות לבניית FIORI חדש, מפורט בהמשך.
FIORI ELEMENTS
התבניות של FIORI ELEMENTS זמינים גם ל S4HANA וגם ל ECC on HANA . העקרון הוא שעל כל אוביקט במערכת , למשל טבלה Z ית שנבנתה, יכולים לבנות עליה FIORI ELEMENTS ולקבל ישירות 5 סוגי מסכים עפ"י תבניות לשימוש מיידי:
OBJECT PAGE – מסך ליצירה, עיבוד והצגת אוביקט. יכול להיות אוביקט פשוט כמו טבלה או מורכב מכמה רבדים.
Overview Page – מסך להצגת מספר אוביקטים, דוחות, גרפים ממספר מקורות.
List Report View – מסך לרשימה של המופעים המרובים של אובייקט מסויים או הרשומות שלו.
Worklist Page – דומה ל List Report Page אך עם תוספת של Checkbox שעם בחירתו מעביר ישירות ל Object Page של הרשומה
Analytical list Page – מסך אנליטי המציג גרפים, דוחות וניתוחים ממגוון מקורות.
ל FIORI ELEMENTS ישנן הנחיות לבניה על פי FLORPLANS, LAYOUTS וכן סטנדרטים לגבי כל אלמנט בתבניות הללו.
להלן מספר קישורים:
ה WIKI הראשי:
https://wiki.scn.sap.com/wiki/display/Fiori/Fiori+elements
https://experience.sap.com/fiori-design-web/smart-templates/
https://blogs.sap.com/2020/01/09/fiori-elements-vs-fiori-freestyle-fare-comparison/
קיים אפילו קורס שלם ב OPENSAP הכולל אפשרויות הרחבה אלה
Intelligent Enterprise User Experience with SAP Fiori 3
הרחבות של FIORI ELEMENTS
ניתן תמיד להרחיב בעזרת UI5 FREESTYLE
מומלץ לגעת רק באותם מקומות שמיועדים להרחבה ונקראים EXTENSION POINTS ומתוארים כאן:
https://blogs.sap.com/2019/08/15/extending-sap-fiori-elements-apps/
https://blogs.sap.com/2019/03/04/fiori-elements-extension-and-customization-step-by-step/
FIORI TOOLS
לאחרונה יצא גם כלי חזק מאור הנקרא FIORI TOOLS שהוא APPLICATION GENERATOR שמרחיב את מה שהוקם על ידי FIORI ELEMENTS הבסיסי עם כלים יעודיים ותבניות של UI5.
הוא נועד למפתחי UI5 (נראה שקיים גם עבור ECC ב RAP ודרך הSAP Business Application Studio )
לסיכום הפרק הזה – ברור שקיים TRADEOFF בין מורכבות המסכים והיישום לבין הפשטות של השימוש ב FIORI ELEMENTS. מעבר לפונקציונליות מסוימת כבר כדאי להשתמש ישירות ב UI5. אך בהחלט כדאי להתנסות בזה , להיעזר בשימושים בינוניים ופשוטים ולהוזיל עלויות .
כאן המקום להזכיר כי לפני פיתוח או הקמת יישום חדש יש לחפש היטב בספריית יישומי FIORI באם נמצא יישום מתאים או לפחות דומה ואז להרחיב אותו.
S4HANA Extensibility
בנוסף ליכולות של FIORI ELEMENTS במערכות S4HANA ישנן שתי צורות של הרחבות יישומים קיימים:
- Side-By-Side Extendibility with SCP – ישנן אפשרויות רבות להרחבה על ידי התחברות לענן של סאפ – ה SCP, SAP CLOUD PLATFORM. הן מיועדות גם ל S4HANA CLOUD אבל גם ל S4 on Premise על ידי התחברות ופיתוח ההרחבות ב SCP. לא נרחיב על כך כאן.
- In-APP Extensibility – מיועד בעיקר ל S4 on Premise. יש כאן כמה רמות של אפשרויות הרחבה:
UI Adaptation at Runtime – כבר הוסבר קודם
מעבר לכך ניתן גם
להוסיף שדות – CUSTOM FIELDS
להוסיף טפסים, VIEWS, ושאילתות – CUSTOM Analytics/Forms
להוסיף לוגיקה עסקית – Custom Business Logic
להוסיף אוביקטים וטבלאות – Custom Business Objects
לכל אלה ניתן לקרא בקישורים הבאים:
זה ה WIKI הראשי לכל נושאי ההרחבות:
https://wiki.scn.sap.com/wiki/display/Fiori/Extensibility
https://blogs.sap.com/2018/01/10/leading-s4hana-ux-how-to-extend-a-sap-fiori-app-in-sap-s4hana/
https://blogs.sap.com/2020/05/12/sap-s4-hana-extensibilty/
זהו מדריך על איך לאתר את סוגי ההרחבות בכל יישום FIORI
https://ga.support.sap.com/dtp/viewer/index.html – /tree/1910/actions/24709:34441
לסיכום – ישנן הרבה אפשרויות להרחיב את יישומי ה FIORI ללא קידוד. מן הראוי שמיישמים ומקבלי ההחלטות ילמדו אותן כדי להוריד זמנים ועלויות פיתוח.
בברכה,
עודד דגן