התשובה הקצרה
Data Mapping הוא לא גיליון תרגום בין שדות, אלא המסמך שבו הארגון מכריע מה המשמעות של כל נתון שהוא לוקח איתו ל-Salesforce. כמעט כל שגיאת טעינה שנראית טכנית - פורמט תאריך, Picklist לא מוכר, קשר שבור - נולדה קודם כהחלטה עסקית שלא נעשתה.
הסדר שעובד: קודם קובעים אילו ישויות עוברות בכלל, אחר כך מי הבעלים העסקי של כל ישות, אחר כך אילו שדות יש להם צרכן אמיתי, ורק בסוף כותבים כללי המרה. כשמתחילים מהכיוון ההפוך, הצוות הטכני מקבל החלטות עסקיות בשקט - ומגלים את זה שלושה חודשים אחרי Go Live, כשדוח הכנסות לא מסתדר.
רקע על תכנון ההסבה כולה נמצא במיגרציית נתונים ל-Salesforce.
שלושת סוגי הפערים שה-Mapping חושף
| סוג פער | דוגמה שכיחה | מי מכריע |
|---|---|---|
| פער סמנטי | "לקוח פעיל" = רכש השנה במערכת אחת, = לא נחסם במערכת אחרת | בעל התהליך העסקי |
| פער מבני | לקוח אחד עם חמש כתובות מול מודל Account/Contact | ארכיטקט הנתונים |
| פער איכות | 18% מהרשומות ללא ח.פ תקין | Data Owner + רגולציה |
הפער הסמנטי הוא היקר ביותר, כי הוא לא נופל בטעינה. הנתון נכנס בהצלחה, האוטומציה רצה עליו, והדוח מציג מספר שגוי שנראה סביר. פערים מבניים נופלים בטעינה ולכן מתגלים מוקדם. פערי איכות מתגלים אם - ורק אם - הוגדרו ספי קבלה מראש.
שכבת המשמעות: Data Dictionary לפני גיליון Mapping
לפני שממפים שדה לשדה, כותבים הגדרה של מילון מונחים לכל ישות מרכזית: מהו Account, מה מבדיל בין Lead ל-Contact בארגון הזה, מתי Opportunity נסגרת. ההגדרות האלה קצרות - שתי שורות לישות - אבל הן מה שמאפשר להכריע במחלוקות במקום להצביע.
הבדיקה הפשוטה: תנו לשלושה אנשים משלוש מחלקות להגדיר "לקוח" בנפרד. אם ההגדרות שונות, המיגרציה תעביר שלוש אמיתות שונות לאותה טבלה.
אנטומיה של שורת Mapping תקינה
כל שורה בגיליון צריכה לענות על שבע שאלות: מאיזה אובייקט ושדה במקור, לאיזה אובייקט ושדה ב-Salesforce, מה סוג הנתון ואורכו, מהו כלל ההמרה, מה קורה בערך ריק, מהו ערך ברירת מחדל, ומי אישר. שורה שחסרה בה עמודה אחת מהאלה תחזור כשאלה באמצע הרצת טעינה בלילה של Cutover.
שלושה כללי עבודה שחוסכים תקלות:
- אין המרה שקטה. כל ערך שהמערכת "מתקנת" בעצמה חייב להירשם בלוג חריגים.
- ברירת מחדל היא החלטה עסקית. מי שכותב
Country = ILכברירת מחדל צריך להיות מי שאחראי לדוחות לפי אזור. - מפתחות חיצוניים לפני הכול. לכל ישות שומרים External ID ממערכת המקור. בלעדיו אין Reconciliation ואין הרצה שנייה.
Transformations: איפה טועים
ההמרות שמייצרות הכי הרבה נזק הן דווקא הפשוטות. תאריכים בלי אזור זמן מזיזים רשומות ביום; שמות שעוברים Trim ו-Upper בלי כלל אחיד מייצרים כפילויות חדשות בדיוק אחרי שניקינו כפילויות ישנות; סכומים שמומרים למטבע אחיד בשער יומי מייצרים פערי דיווח מול ה-ERP.
הכלל: כל המרה מספרית או כספית נבדקת בהשוואת סכומים, לא בהשוואת רשומות. ספירה זהה אינה עדות לנכונות.
מי שעדיין לא סגר את שאלת מקור האמת ימצא רקע בSource of Truth בארגון, ואת חלון ההעברה עצמו בCutover ו-Reconciliation.
תרחיש: חברת שירותים עם שתי מערכות מקור
ארגון שירותים עם 90 אלף לקוחות ניגש להסבה משתי מערכות: מערכת גבייה ותיקה ומערכת שירות שנרכשה עם חברה-בת. גיליון ה-Mapping הראשון סומן "מוכן" תוך שבועיים - 340 שדות ממופים.
בהרצת ה-Rehearsal הראשונה 97% מהרשומות נטענו. הבעיה התגלתה ב-Reconciliation: סך היתרות ב-Salesforce היה נמוך ב-4.1% מה-ERP. הסיבה לא הייתה טעינה שנכשלה, אלא שכל הרשומות עם יתרה שלילית (זיכויים) מופו לשדה עם Validation Rule שמונע ערך שלילי - והוצבו כאפס בשקט.
התיקון היה בשתי רמות: כלל המרה מפורש לזיכויים, ובנוסף שינוי מדיניות - כל כלל שמאפס או מקצר ערך חייב להפיק שורת חריג. בהרצה השנייה מספר החריגים עלה ל-1,900, וזו הייתה התקדמות: החריגים היו גלויים במקום מוסתרים. ההרצה השלישית ירדה ל-40 חריגים מתועדים, ורק אז נקבע תאריך Cutover.
סיכונים נפוצים ופעולות מניעה
| סיכון | כיצד הוא נראה בפועל | פעולת מניעה |
|---|---|---|
| העברת כל ההיסטוריה | נפח, כפילויות ומידע חסר ערך עוברים למערכת החדשה | להגדיר Retention וספי איכות |
| Mapping טכני בלבד | שדות מועברים בלי להבין משמעות עסקית | Data Dictionary ובעלים עסקיים |
| המרות שקטות | ערכים מתוקנים אוטומטית ואיש לא יודע | לוג חריגים חובה לכל כלל המרה |
| אין Rehearsal | חלון ההשבתה מתארך ונוצרות הפתעות | לפחות שתי הרצות מלאות |
| אין External ID | אי אפשר לאמת, לתקן או להריץ שוב | מפתח מקור נשמר לכל ישות |
כיצד מודדים הצלחה
| תחום | מה מודדים | קצב בדיקה |
|---|---|---|
| Completeness | שיעור שדות חובה מלאים ביעד | לפני ואחרי כל טעינה |
| Reconciliation | התאמת ספירות, סכומים וקשרים למקור | בכל Rehearsal וב-Cutover |
| חריגים | מספר שורות חריג פתוחות לפי חומרה | יומי בתקופת ההסבה |
| שדות ללא צרכן | כמה שדות שהועברו לא נקראו ב-90 יום | פעם אחת אחרי Go Live |
המדד האחרון הוא הכנה למחזור הבא: הוא מלמד כמה מהעבודה הייתה מיותרת ומכוון את היקף ההסבה הבאה.
ארגונים שמעדיפים ליווי מקצועי בבניית ה-Mapping עושים זאת במסגרת שירות אינטגרציות ודאטה.
Checklist לפני הטעינה הראשונה
- ☐ מילון מונחים קצר לכל ישות מרכזית, מאושר בעסק
- ☐ רשימת שדות עם צרכן מוגדר; היתר לארכיון
- ☐ External ID לכל ישות שעוברת
- ☐ טבלת Value Mapping מלאה, כולל ערך לערכים לא מוכרים
- ☐ כלל מפורש לכל ערך ריק ולכל ברירת מחדל
- ☐ כל כלל המרה מפיק שורת חריג במקום תיקון שקט
- ☐ תסריט Reconciliation: ספירה, סכום, קשר, דגימה ידנית
- ☐ סף חריגים מוסכם שמעליו לא מבצעים Cutover
- ☐ גרסה וחתימה על גיליון ה-Mapping
- ☐ תוכנית Rollback והרצה חוזרת
מקורות מקצועיים
- Salesforce Data 360 — https://www.salesforce.com/data/
- Salesforce Data 360 Architecture — https://architect.salesforce.com/docs/architect/fundamentals/guide/data-360-architecture.html
- HPI Pro – אינטגרציות ודאטה — https://hpi.pro/integrations-data
