SELECT ID FROM FormControl WHERE (FormName = OR FormName = ) AND (FormControl.action = '' OR FormControl.action is null) SELECT FormInputControl.FieldName, FormInputControlMap.FieldID, FormInputControl.Params, FormInputControl.Type FROM FormControl INNER JOIN FormInputControlMap ON FormControl.ID = FormInputControlMap.FormID INNER JOIN FormInputControl ON FormInputControlMap.FieldID = FormInputControl.ID WHERE (FormInputControlMap.FormID = ) ORDER BY FormInputControl.FieldName ---> // Get the element field query var elementFldQry = getElementFieldsByFormID(arguments.formid); SELECT FieldName FROM elementFldQry WHERE FieldID = if ( filterElementQry.recordCount ) return Replace(filterElementQry.FieldName, "FIC_", ""); else return ""; SELECT FormInputControl.FieldName, FormControl.FormName, Data_FieldValue.FieldValue, Data_FieldValue.MemoValue, Data_FieldValue.FormID, Data_FieldValue.FieldID, Data_FieldValue.VersionID, Data_FieldValue.listID, Data_FieldValue.DateAdded, Data_FieldValue.DateApproved, Data_FieldValue.AuthorID, Data_FieldValue.OwnerID, Data_FieldValue.ControlID FROM FormInputControl INNER JOIN FormInputControlMap ON FormInputControl.ID = FormInputControlMap.FieldID INNER JOIN FormControl ON FormControl.ID = FormInputControlMap.FormID INNER JOIN Data_FieldValue ON Data_FieldValue.FieldID = FormInputControlMap.FieldID WHERE (Data_FieldValue.PageID = ) AND (Data_FieldValue.FormID = ) AND Data_FieldValue.ControlID = AND (Data_FieldValue.VersionState = 2) AND (Data_FieldValue.VersionID = ) SELECT DISTINCT VersionID, PageID FROM Data_FieldValue WHERE (PageID = ) AND (FormID = ) AND ControlID = ORDER BY VersionID // Initialize the variables var getElementInfo = queryNew("temp"); var getElementFields = queryNew("temp"); var dataValuesStruct = StructNew(); var dataValuesArray = ArrayNew(1); var ver_i = 1; var elmt_i = 1; var elmt_j = 1; var versionStruct = StructNew(); var dataFldName = ""; var dataFldVal = ""; var dataVersions = ''; // get the version query for the CE dataVersions = getElementVersionsForPageID(pageid=arguments.pageid, formid=arguments.formid, controlid=arguments.controlid); for( ver_i = 1; ver_i LTE dataVersions.RecordCount; ver_i=ver_i+1 ) { // check if we only need a specific version returned if ( (arguments.versionid EQ 0) OR (arguments.versionid EQ ver_i) ) { // clear the structs dataValuesStruct = StructNew(); versionStruct = StructNew(); // Query to get the versions data from the custom element by pageid getElementInfo = getDataFieldValueByPageID(pageid=arguments.pageid, formid=arguments.formid, currentVersionFlag=false, versionID=dataVersions.versionid[ver_i], controlid=arguments.controlid); // Get ALL the fields for the custom element getElementFields = getElementFieldsByFormID(getElementInfo.FormID[1]); // Load the field data into a struct with the fieldID as keys for( elmt_i = 1; elmt_i LTE getElementInfo.RecordCount; elmt_i=elmt_i+1 ) { // [MFC 2/11/09] Check if the key is already in the struct if ( NOT StructKeyExists(dataValuesStruct, "#getElementInfo.FieldID[elmt_i]#") ) { //check if the value is too large for fieldValue if ( LEN(getElementInfo.FieldValue[elmt_i]) ) StructInsert(dataValuesStruct,getElementInfo.FieldID[elmt_i],getElementInfo.FieldValue[elmt_i]); else StructInsert(dataValuesStruct,getElementInfo.FieldID[elmt_i],getElementInfo.MemoValue[elmt_i]); } } // initialize the variables versionStruct.pageid = arguments.pageid; versionStruct.formid = getElementInfo.FormID[ver_i]; versionStruct.formname = getElementInfo.FormName[ver_i]; versionStruct.versionid = getElementInfo.versionid[ver_i]; versionStruct.dateadded = getElementInfo.dateadded[ver_i]; versionStruct.dateapproved = getElementInfo.dateapproved[ver_i]; versionStruct.authorid = getElementInfo.AuthorID[ver_i]; versionStruct.ownerid = getElementInfo.OwnerID[ver_i]; versionStruct.values = StructNew(); // loop over the form fields for( elmt_j = 1; elmt_j LTE getElementFields.RecordCount; elmt_j=elmt_j+1 ) { // trim the 'fic_' from the field name dataFldName = RIGHT(getElementFields.FieldName[elmt_j],LEN(getElementFields.FieldName[elmt_j])-4); dataFldVal = ""; // if the fieldname is a key in dataValuesStruct, then data exists for the field // set the field to dataFldVal for the struct insert if ( StructKeyExists(dataValuesStruct, "#getElementFields.FieldID[elmt_j]#") ) dataFldVal = dataValuesStruct[getElementFields.FieldID[elmt_j]]; // insert the data field name and value key pair into the struct StructInsert(versionStruct.values,dataFldName,dataFldVal); } // if no specified version id then build the whole array if ( arguments.versionid EQ 0 ) dataValuesArray[ver_i] = versionStruct; else if ( arguments.versionid EQ ver_i ) // else build 1 term array for specific version dataValuesArray[1] = versionStruct; } } return dataValuesArray; // Initialize the variables var getElementInfo = queryNew("temp"); var getElementFields = queryNew("temp"); var dataValuesStruct = StructNew(); var elmt_i = 1; var retStruct = StructNew(); var elmt_j = 1; var dataFldName = ""; var dataFldVal = ""; // Get the Form ID by the page ID if not passed in if(arguments.formID eq -1){ arguments.formID = getFormIDFromPageID(arguments.pageid); } // Query to get the data for the custom element by pageid // [MFC 2/11/09] Added formid argument to function call getElementInfo = getDataFieldValueByPageID(arguments.pageid, arguments.formid); // Get ALL the fields for the custom element // getElementFields = getElementFieldsByFormID(getElementInfo.FormID[1]); getElementFields = getElementFieldsByFormID(arguments.formid); // Load the field data into a struct with the fieldID as keys for( elmt_i = 1; elmt_i LTE getElementInfo.RecordCount; elmt_i=elmt_i+1 ) { // [MFC 2/11/09] Check if the key is already in the struct if ( NOT StructKeyExists(dataValuesStruct, "#getElementInfo.FieldID[elmt_i]#") ) { //check if the value is too large for fieldValue if ( LEN(getElementInfo.FieldValue[elmt_i]) ) StructInsert(dataValuesStruct,getElementInfo.FieldID[elmt_i],getElementInfo.FieldValue[elmt_i]); else StructInsert(dataValuesStruct,getElementInfo.FieldID[elmt_i],getElementInfo.MemoValue[elmt_i]); } } // Set the getElementFields query into a structure with the CE fields as keys // initialize the variables retStruct.pageid = arguments.pageid; retStruct.formid = getElementInfo.FormID[1]; retStruct.formname = getElementInfo.FormName[1]; retStruct.dateadded = getElementInfo.dateadded[1]; retStruct.dateapproved = getElementInfo.dateapproved[1]; retStruct.authorID = getElementInfo.AuthorID[1]; retStruct.ownerID = getElementInfo.OwnerID[1]; retStruct.controlID = getElementInfo.ControlID[1]; // 2011-09-28 - MFC - Added ControlID to return struct. // check if we want the values struct separated if (arguments.separateValueStruct) retStruct.values = StructNew(); // loop over the form fields for( elmt_j = 1; elmt_j LTE getElementFields.RecordCount; elmt_j=elmt_j+1 ) { // trim the 'fic_' from the field name dataFldName = RIGHT(getElementFields.FieldName[elmt_j],LEN(getElementFields.FieldName[elmt_j])-4); dataFldVal = ""; // if the fieldname is a key in dataValuesStruct, then data exists for the field // set the field to dataFldVal for the struct insert if ( StructKeyExists(dataValuesStruct, "#getElementFields.FieldID[elmt_j]#") ) dataFldVal = dataValuesStruct[getElementFields.FieldID[elmt_j]]; // insert the data field name and value key pair into the struct // check if we want the values struct separated if (arguments.separateValueStruct) StructInsert(retStruct.values,dataFldName,dataFldVal); else StructInsert(retStruct,dataFldName,dataFldVal); } return retStruct;