How to retrieve values from a DME Call

 3 Replies
 3 Subscribed to this topic
 12 Subscribed to this forum
Sort:
Author
Messages
agersh
Veteran Member Send Private Message
Posts: 81
Veteran Member

How to retrieve values from a DME Call

 

In the following Javascript function I am writing the DME Call selects 2 fields from the HRHISTORY table. I need some assistance with what programming is needed to retrieve, reference the return records/field values from the DME query.

 

Also should the DME call output be in CVS or XML format?

function myDMECall() {      var vCompany = lawForm.getDataValue("text1");      var vEmployee = lawForm.getDataValue("text2");      var vAdjHireDate = lawForm.getDataValue("text14");      alert(vCompany + ", " + vEmployee + ", " +vAdjHireDate);         // DME Call       var s = portalWnd.DMEPath;       s += "?PROD="+strPDL;       s += "&FILE=HRHISTORY";       s += "&FIELD=BEG%2DDATE;A%2DVALUE";       s += "&SELECT=COMPANY=" + vCompany + "%26EMPLOYEE=" + vEmployee + "%26FLD%2DNBR=20" + "%26BEG%2DDATE%3E%3D" + vAdjHireDate;       s += "&OUT=CSV&DELIM=~&NOHEADER&MAX=2";       alert(s);         var sReturn=portalWnd.httpRequest(s);

      .... }

David Williams
Veteran Member Send Private Message
Posts: 1127
Veteran Member
Use XML and something like the following to parse your data var vDMEInfo=portalWnd.httpRequest(portalWnd.DMEPath + vDME) var objDME=new portalWnd.DataStorage(vDMEInfo) var vRecords=objDME.document.getElementsByTagName("RECORD") var l=vRecords.length for (i=0;i.getElementsByTagName("COL") comp=vCols[0].firstChild.data }
David Williams
agersh
Veteran Member Send Private Message
Posts: 81
Veteran Member

Hi David,

Thanks for the code snip.

For some reason the For loop is not making sense to me. A few questions... 

    What is the test condition for the loop (i=0,i &hellip ?

    Shouldn't there be an increase value for the loop ex. (i++) ? 

    I am assuming that the "comp=vCols[0].firstChild.data" should be "comp=vCols.firstChild.data" so     that the loop index is referenced. Is my assumption correct? 

    When is the l variable used? 

 

David Williams
Veteran Member Send Private Message
Posts: 1127
Veteran Member

The vCols[0].firstChild.data is correct and it references the first data element in your DME call. 0=first field, 1=second field

Send me an email david@consultdavidw.com and I'll email you my script sample

David Williams