Trigger action on select record in a table | oTable.attachSelect(function(evt){ tableRowSelected(evt); });
function tableRowSelected(evt){ console.log("table Row Selected"); var recordChosen = evt.getParameter("listItem").getBindingContext().getObject(); console.log(recordChosen.vendorName); if(recordChosen.vendorName!=="(Vendor not in the list. Request new vendor)"){ //setField("vendorDetailsVisibile","true"); //Check if possible to extend to cc var companyCode = getField("DFSICompanyCode"); initModel("searchhelps","/sap/opu/odata/sap/ZFAB_TS_SERVICESN");
var oModel = getModel("searchhelps"); var filters = []; var oFilter = new sap.ui.model.Filter("Id", sap.ui.model.FilterOperator.EQ, recordChosen.vendorNo); filters.push(oFilter); var oFilterCC = new sap.ui.model.Filter("CC", sap.ui.model.FilterOperator.EQ, companyCode); filters.push(oFilterCC);
var oPath = "/VendorCCCheckList"; oModel.read(oPath, { success: function(data) { for(var i in data.results){ var oResult = data.results[i]; console.log(oResult.Result); jQuery.sap.require("sap.m.MessageBox"); var strHTML = "Vendor: " + oResult.Id + " - " + recordChosen.vendorName + "\n\n" + "Trading As: " + oResult.Name2 + "\n\n" + "Trading As: " + oResult.Name3 + "\n\n" + "Street: " + oResult.Street + "\n\n" + "City: " + oResult.City + "\n\n" + "State: " + oResult.State + "\n\n" + "Country: " + oResult.Country + "\n\n" + "PO Box: " + oResult.PO + "\n\n" + "PO Box City: " + oResult.POCity + "\n\n" + "PO Box State: " + oResult.POState + "\n\n" + "PO Box Country: " + oResult.POCountry + "\n\n" + "Blocked: " + oResult.Blocked + "\n\n" + "Purchasing Blocked: " + oResult.PBlocked + "\n\n" + "Deleted: " + oResult.Deleted; sap.m.MessageBox.show(strHTML , { title: "Vendor Details", onClose: null }); setField("EVendorNo",recordChosen.vendorNo); setField("vname1",recordChosen.vendorName); setField("name2",oResult.Name2); setField("name3",oResult.Name3); setField("searchTerm1",oResult.STerm1); setField("industry",oResult.Industry); setField("centralBlockIndicator",oResult.Blocked); setField("purchasingBlockIndicator",oResult.PBlocked); if(oResult.Result=="CC Exists"){ setField("unableExtendVisible", "true"); setField("extendVendorVisibile", "false"); setField("newVendorVisible", "false"); setField("newVendFieldVisible", "false"); setField("formShow", "false"); setField("extendVendFieldVisible", "false"); setField("newVendFieldEnabled", "false"); setField("CommentsVisible", "false"); }else{ setField("unableExtendVisible", "false"); setField("extendVendorVisibile", "true"); setField("newVendorVisible", "false"); setField("newVendFieldVisible", "false"); setField("formShow", "false"); setField("extendVendFieldVisible", "false"); setField("newVendFieldEnabled", "false"); setField("CommentsVisible", "false"); } } }, filters:filters }); }else{ setField("EVendorNo",""); setField("vname1",""); setField("name2",""); setField("name3",""); setField("searchTerm1",""); setField("vendorDetailsVisibile","false"); setField("newVendorVisible","true"); setField("unableExtendVisible","false"); setField("extendVendorVisibile","false"); setField("newVendFieldVisible", "false"); setField("formShow", "false"); setField("extendVendFieldVisible", "false"); setField("newVendFieldEnabled", "false"); } }; |
Validate Email Input Field | function validateEmail(evt){ var testEmail = getField("emailVendorAddress"); var replaced = testEmail.split(' ').join(''); testEmail = replaced; if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/g.test(testEmail)){ //if (^\w+([.-]\w+)*@\w+([.-]\w+)*(\.\w{2,4})+$/g.test(testEmail)){ setField("emailVendorAddress", testEmail); return true; } else { jQuery.sap.require("sap.m.MessageBox"); sap.m.MessageBox.show( "Invalid Purchase Order email address, example format-jsmith@example.com.au", "ERROR", "Validation Error", "OK", function(evt){ getControl("emailVendorAddressId").setValueState("Error"); } ); return false; } }; |
Highlight fields in the table | //Add style var oTableData = getControl("dataTable"); var oBinding = oTable.getBinding("items"); var length = oBinding.iLength; for(var i in length){ var oRow = oTableData.getItems()[i]; controlPosition = 1; //Position of the field in the column oControl = oRow.getCells()[controlPosition]; oControl.addStyleClass("myErrorState"); }
//Remove Style controlPosition = 1; //Position of the field in the column oControl = oRow.getCells()[controlPosition]; oControl.removeStyleClass("myErrorState");
|