Minimum Version Required: 22.01
Pre-Conditions
Survey questions should exist in the system before importing answers
Users referenced in AssignedTo or CompletedBy fields must exist in the system
Brands and Products referenced by ID or Translation must exist or be automatically created during import
Steps
The SurveyAnswers EDBL routine imports survey answer data and creates all necessary related records. It performs several key operations:
Attempts to translate external IDs to internal system IDs for customers, products, and brands
Creates new brand records if BrandID_Translation exists but no matching BrandID is found
Sets DateCompleted to SurveyDate when DateCompleted is not provided
Matches SurveyQuestions based on SupplierID_Translation when SurveyQuestionID isn't provided
Tries to match existing SurveyAnswers based on SurveyQuestionID, customer, and date completed
For new survey answers with no match, creates both a Task record and associated SurveyAnswer records
Links survey answers to tasks based on objective, customer, and completion date
The import creates proper relationships between Objectives, Tasks, and SurveyAnswers to ensure complete data integration
Fields And Definitions
LocationID_Translation - External location identifier (text)
LocationID - Internal location ID (integer) - defaults to current user's location
SupplierID_Translation - External supplier identifier (text) - used to match SurveyQuestions
SurveyQuestionID - Internal ID of the survey question (integer)
SurveyAnswerID - Internal ID of the survey answer (integer)
CustomerID_Translation - External customer identifier (text) CustomerID - Internal customer ID (integer)
SurveyDate - Date when survey was conducted (date)
StartDate - Task start date (date)
Deadline - Task deadline (date)
DateCompleted - Date when survey was completed (date)
AssignedTo - Username of person assigned to the task (text)
CompletedBy - Username of person who completed the survey (text)
Answer - Numeric answer value for the survey question (decimal)
AnswerDate - Date when answer was provided (date) AnswerText - Text answer for the survey question (text)
BrandID - Internal brand ID (integer)
BrandID_Translation - External brand identifier (text)
BrandMasterID - Master brand identifier (integer)
SegmentID - Segment identifier (integer)
BrandFamilyID - Brand family identifier (integer)
ProductID_Translation - External product identifier (text)
ProductID - Internal product ID (integer)
CycleNum - Cycle number (integer)
Best Practices
Provide SurveyQuestionID when possible for direct matching
If SurveyQuestionID is not available, ensure SupplierID_Translation is provided to match questions
Include CustomerID or CustomerID_Translation to properly associate answers
Provide DateCompleted or at minimum SurveyDate to ensure proper date tracking
When referencing brands, include both BrandID_Translation and any relevant brand hierarchy information (SegmentID, BrandFamilyID)
Ensure users referenced in AssignedTo and CompletedBy fields exist in the system
Include both Answer and AnswerText fields as appropriate for the question type
For date fields, use a consistent format (YYYY-MM-DD recommended)