diff --git a/src/datatable/main.js b/src/datatable/main.js
index <HASH>..<HASH> 100644
--- a/src/datatable/main.js
+++ b/src/datatable/main.js
@@ -209,6 +209,14 @@ class DataTable extends Relation {
     }
 
     /**
+     * Returns index and field details in an object where key is the field name.
+     * @return {Object} field definitions
+     */
+    getFieldMap () {
+        return this.fieldMap;
+    }
+
+    /**
      * It helps to define the sorting order of the returned data.
      * This is similar to the orderBy functionality of the database
      * you have to pass the array of array [['columnName', 'sortType(asc|desc)']] and the
diff --git a/src/datatable/relation.js b/src/datatable/relation.js
index <HASH>..<HASH> 100644
--- a/src/datatable/relation.js
+++ b/src/datatable/relation.js
@@ -24,6 +24,13 @@ class Relation {
                 // This will create a new fieldStore with the fields
                 nameSpace = fieldStore.createNameSpace(fieldArr, name);
             this.columnNameSpace = nameSpace;
+            this.fieldMap = schema.reduce((acc, fieldDef, i) => {
+                acc[fieldDef.name] = {
+                    index: i,
+                    def: fieldDef
+                };
+                return acc;
+            }, {});
             // If data is provided create the default colIdentifier and rowDiffset
             this.rowDiffset = `0-${normalizeData[0] ? (normalizeData[0].length - 1) : 0}`;
             this.colIdentifier = (schema.map(_ => _.name)).join();
FSB-<I>: Add field definitions