AGS call via HTML

 7 Replies
 0 Subscribed to this topic
 17 Subscribed to this forum
Sort:
Author
Messages
ssgujar
Basic Member
Posts: 4
Basic Member
    Hi,

    I'm working on a custom HTML page which extracts Invoices to be released for a Vendor Class based on user's login info. I get as far as DME query displaying all the unreleased Invoices. Upon selecting the desired Invoice, the following AGS call gets created but doesn't post.


    function AGSCall(vAuthCode, vVendor, vInvoice)
    {
    var o = new ActiveXObject("Microsoft.XMLHTTP");

    var s = "http://Servername:port/servlet/Router/Transaction/Erp?_PDL=PDLname"
    + "&_TKN=AP26.1&_LFN=ALL&_EVT=CHG&_RTN=DATA&_TDS=IGNORE&_OUT=XML&FC=C"
    + "&API-COMPANY=000"
    + "&PT-API-AUTH-CODE=" + vAuthCode
    + "&LINE-FCr1=R"
    + "&API-AUTH-CODEr1=" + vAuthCode
    + "&API-VENDORr1=" + vVendor
    + "&API-INVOICEr1="+ vInvoice
    + "&_EOT=TRUE"

    objhttp.Open("POST", s, false);
    objhttp.Send();
    objhttp.responseTEXT();
    DMECall(); // This call repopulates the page
    }

    responseText retrieves "Invoice not found" message. But if I check thru Portal, this Invoice does exist and am able to release it within the portal window logged in as the same user.

    If I invoke the DMECall subroutine listed below, this works fine.
    function DMECall()
    {
    var o = new ActiveXObject("Microsoft.XMLHTTP");

    var o = document.getElementById('lstVenClass'); //Select box
    vSelected = o.options[o.selectedIndex].text;

    var s = "http://Servername:port/servlet/Router/Transaction/Erp?_PDL=PDLname&FILE=APINVOICE&FIELD=VENDOR;DESCRIPTION;INVOICE;BASE- ACT-AMT;APVENMAST.VENDOR-VNAME;AUTH-CODE;&SELECT=REC-STATUS^%3D0%26OUT-BAL-FLAG^%3D%26COMPANY^%3D000%26AUTH-CODE^%3D" +vSelected + "&OUT=XML"

    objhttp.Open("GET", s, false);
    objhttp.Send();

    Recs = objhttp.responsexml.getElementsByTagName('RECORD');
    removeRowFromTable();
    addRowToTable(Recs);
    }

    Appreciate any help on this and thanks in advance.


    John Henley
    Posts: 3353
      + "&API-COMPANY=000" --did you mean to leave out the company?
      Thanks for using the LawsonGuru.com forums!
      John
      ssgujar
      Basic Member
      Posts: 4
      Basic Member
        Sorry about that, Company value is passed as 001 instead.
        John Henley
        Posts: 3353
          Sameer,
          In order for AGS to position on the correct invoice, you need to populate the following fields in your AGS call:
          AP26F1-API-AUTH-CODE
          AP26F1-API-VOUCHER-NBR
          AP26F1-API-VENDOR
          AP26F1-API-INVOICE
          AP26F1-API-SUFFIX
          AP26F1-API-CANCEL-SEQ
          You should be able to add them to your DME/"Erp" call and then just pass them thru to the AGS call.
          Thanks for using the LawsonGuru.com forums!
          John
          ssgujar
          Basic Member
          Posts: 4
          Basic Member
            Hi John,

            I tried your suggestion but didn't work. CANCEL-SEQ and SUFFIX values are 0 for all invoices. Also we are not using VOUCHER-NBR and is set to blank.

            When I create a portal page from Design studio and execute the AGS call from function AGSCall mentioned above, this works!!!!

            If I create this same AGS call from API Builder, it errors out with "Invoice does not exist".

            So call that works out of Portal page fails from my javascript function and API Builder.

            Appreciate any help.




            John Henley
            Posts: 3353
              A shot in the dark:

              var o = new ActiveXObject("Microsoft.XMLHTTP");

              .
              .
              .

              objhttp.Open("POST", s, false);

              ...shouldn't the 'var o' be 'var objhttp' ?
              Thanks for using the LawsonGuru.com forums!
              John
              ssgujar
              Basic Member
              Posts: 4
              Basic Member
                My fault when I copied and pasted code to accomodate in one function.

                var o is var objhttp.

                John Henley
                Posts: 3353
                  I think you need batch number on the row as well...
                  Thanks for using the LawsonGuru.com forums!
                  John