Learning Javascript

Sort:
You are not authorized to post a reply.
Author
Messages
Terry P
Veteran Member
Posts: 234
Veteran Member
    I'm fairly new to Javascript. I've got several reference books etc that I use when I get stuck. Part of my problem though is knowing the "Lawson hooks" into many of the javascript commands.

    For example in the last August newsletter the following was posted:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~ copy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Version 8:
    You're creating a Lawson Design Studio page, and want to access some fields from a user's WEBUSER (RD30) record. How do you do it? Using JavaScript, you can reference them using the getUserVariable function:

    var vCompany = top.lawsonPortal.getUserVariable("COMPANY");
    var vEmployee = top.lawsonPortal.getUserVariable("EMPLOYEE");
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~ copy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    My question - how do you "know" the syntax for this? I can't find it in the Objects Viewer. Or how do you know what "user variables" are available to you.

    Are there any good sources of reference material other than the online objects viewer webpages? I don't understand even if I was an experienced javascript programmer how I would know the syntax for many of the things I see people doing in Lawson. I certainly can't find descriptions of the commands in any Javascript books or Lawson manuals I've seen.

    John Henley
    Senior Member
    Posts: 3348
    Senior Member
      Terry, that's a great question. I have to admit that a lot of my experience is simply that..experience thru trial-and-error, as well as perusing the documentation, knowledgebase, examples from Lawson and others. And, going to user groups and talking to other Lawson consultants who give demos.

      If you look hard enough in the Object Viewer, you can figure out a lot about the JavaScript that Lawson adds to the object model. One other invaluable piece of the puzzle is an addin you can use in Firefox which uncovers the whole DOM object model. Although you can't use Firefox with Design Studio, you CAN use it with Portal, and can figure out a heck of a lot about what goes on...

      As for the particular example you cite, it actually IS in the object viewer--see the attached screen shot.

      Attachments
      Thanks for using the LawsonGuru.com forums!
      John
      Terry P
      Veteran Member
      Posts: 234
      Veteran Member
        So why in your example did you do this:
        var sCompany = top.lawsonPortal.getUserVariable("COMPANY");

        Instead of what the Object ViewER shows:
        var sCompany = portalObj.getUserVariable("COMPANY");

        I see that either "portalObj.getUserVariable" or "top.lawsonPortal.getUserVariable", but how do or why are they the same - AND HOW DID YOU FIGURE THAT OUT???

        On a related note, is there anyway to get a "printed" version of the Object Viewer?
        John Henley
        Senior Member
        Posts: 3348
        Senior Member
          In JavaScript, objects can have parent and/or child objects. In this example, portalObj is an object, within the "top" object. Lawson also makes it available as a "global" object. So both will work. In fact, my example is probably not the best one to use, since "top" is misleading if you're running Portal "inside" another browser application. How did I figure it out?

          I'm not aware of a printed version of the Object viewer content...I tried to diagram it one time and gave up (see https://www.danalytics.co...archive/2007-04.htm)

          To answer your earlier question: "Or how do you know what "user variables" are available to you. "...:
          If you use http://lawwebserver/servlet/Profile you can get a pretty good list.

          Thanks for using the LawsonGuru.com forums!
          John
          You are not authorized to post a reply.