Create a drop down with Supervisor's employees

 3 Replies
 0 Subscribed to this topic
 12 Subscribed to this forum
Sort:
Author
Messages
ISO Dan
Basic Member
Posts: 18
Basic Member
    What I am trying to do is create a drop list in Portal/Design Studio with the Supervisor's direct report.  So when a supervisor logs in he/she can only see their direct reports.

    Can anyone direct me on how to create this drop down?
    John Henley
    Posts: 3353
      If you have Lawson security properly set up, you don't even need to...security will be applied to the EMPLOYEE table, filter out any records that are not the employee or his/her direct reports. To answer your question, however, you need to look up the HRSUPER record (using HSUSET3 index) to get the supervisor CODE for the company/employee, then use PATHFIND table (using PTFSET2 index) with the COMPANY, FLD-NBR = 18, and FLD-VALUE = supervisor CODE from the HRSUPER record, to see direct reports of that supervisor.
      Thanks for using the LawsonGuru.com forums!
      John
      Robert Spurr
      Veteran Member
      Posts: 130
      Veteran Member
        Can't address the security option but I can provide an example of filling a list box. In the example below I'm pulling active buyers and filling a list object I added to the form.

        function FORM_OnAfterDataInit()
        {
        //
        //Collects current productline
        //
        var strPDL = portalWnd.oUserProfile.getAttribute("productline");

        //
        //DME call get get all active non-contract buyers with operator ID's
        //
        var s = "?PROD="+strPDL;
        s += "&FILE=BUYER&COND=ACTIVE&SELECT=OPERATOR%2DID%21%3D";
        s += "&FIELD=BUYER-CODE;NAME;OPERATOR-ID";
        s += "&OUT=XML&MAX=200";

        //
        //Makes call
        //
        var sReturn = portalWnd.httpRequest(portalWnd.DMEPath + s);

        //
        //Checks for errors
        //
        if (!sReturn || sReturn.status)
        {
        var msg="Error calling DME ";
        msg += (sReturn
        ? "(status code): " + sReturn.status
        : "bad server response.");
        alert(msg);
        return true;
        }

        //
        //Assigns return to a new object
        //
        var vObjDMEXML = new portalWnd.DataStorage(sReturn);

        //
        //Breaks object into records
        //
        var vRecord = vObjDMEXML.document.getElementsByTagName("RECORD");

        //
        //Checks to see if no data was returned
        //
        if (vRecord.length == 0)
        {
        return true;
        }

        //
        //Variables defined to fill listbox
        //
        var BuyerList = document.getElementById("VALUES_l214");
        var ListVal;

        //
        //Fills listbox
        //
        for (var ix=0; ix < vRecord.length - 1 ; ix++)
        {
        var vCols = vRecord[ix].getElementsByTagName("COL");

        var str = vCols[1].firstChild.data;
        var str1 = vCols[2].firstChild.data;

        ListVal = document.createElement("span");

        ListVal.setAttribute("text",str);
        ListVal.setAttribute("tran",str);
        ListVal.setAttribute("disp",str1);

        BuyerList.appendChild(ListVal);
        }

        }
        ISO Dan
        Basic Member
        Posts: 18
        Basic Member
          Thank you Robert, that it what I was looking for