[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: FedEx Rate shopping api



Chris Hayden
I have attached the code. The code returns a rate. 

Naresh 


Naresh Mistry | TM Architect | Nulogx Inc. | 2233 Argentia Rd #202, Mississauga, ON L5N 2X7 | T: 905-486-1162 x 238 | F: 905-267-3164 | C: 416-820-5231
www.nulogx.com | Transportation Management Solutions | www.cgfi.ca | Canadian General Freight Index - Register Today


-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Hayden, Chris
Sent: Tuesday, January 13, 2015 12:16 PM
To: HTTPAPI and FTPAPI Projects
Subject: FedEx Rate shopping api

Naresh Mistry

Can you send the code as an .TXT attachment to me, program OSR119FX ?

Does your code return the "estimated ship date arrival"  and what "date it actually arrives on" ?



Thanks,
Chris Hayden
Senior Systems Analyst
Pilot Corporation of America
3855 Regent Blvd, Jacksonville, FL 32224
(904) 645.9999
Ext. 1252

  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    1
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
    100       *                                                                                                         09/23/06
    200      H DFTACTGRP(*NO) BNDDIR('HTTPAPI')                                                                         09/23/06
    300                                                                                                                 09/23/06
    400      FOSPSWSH   IF   e           k disk                                                                         02/22/11
    500       * Shipment Web Service Header                                                                             02/22/11
    600                                                                                                                 02/22/11
    700      FOSPSWSD   IF   e           k disk                                                                         02/22/11
    800       * Shipment Web Service Detail                                                                             02/22/11
    900                                                                                                                 02/22/11
   1000      FOSLSWSDB  IF   e           k disk    RENAME(RPSWSD:RLSWSDB)                                               02/25/11
   1100       * Shipment Web Service Detail Logical Key = WDWSCD,WDELEM                                                 02/25/11
   1200                                                                                                                 02/25/11
   1300      FSMPRATE   UF   e           k disk                                                                         02/22/11
   1400       * External Rate File                                                                                      02/22/11
   1500                                                                                                                 02/22/11
   1600      FSMLRATE1  UF   e           k disk    RENAME(RPRATE:RLRATE1)                                               02/25/11
   1700       * External Rate File Logical Key = RESHP#,REATR,RECHR,REPCE#                                              02/25/11
   1800                                                                                                                 02/25/11
   1900      FSMPWAYB   IF   e           k disk                                                                         02/22/11
   2000       * A/P shipment control file                                                                               02/22/11
   2100                                                                                                                 02/22/11
   2200      FSMLRATI4  UF   e           k disk                                                                         03/01/11
   2300       * Rating Interface File                                                                                   03/01/11
   2400                                                                                                                 05/07/13
   2500 601c1FOSPDWWS   IF   E           K DISK                                                                         05/07/13
   2600 601c1 * Div/Whs Web Service Crendentials                                                                        05/07/13
   2700                                                                                                                 02/28/11
   2800       /copy qrpglesrc,httpapi_h                                                                                 09/23/06
   2900                                                                                                                 02/22/11
   3000      D #A1110        E DS                  ExtName(OSA1110)                                                     02/22/11
   3100      D packageOption   s             40    Dim(4) PERRCD(1) CTDATA                                              04/20/11
   3200       * ---------------------------------------------------------------                                         04/07/11
   3300       *                    Main Program Prototyp                                                                04/07/11
   3400       * ---------------------------------------------------------------                                         04/07/11
   3500      D Main            PR                   ExtPgm('OSR119FX')                                                  02/22/11
   3600      D                               12                                                                         02/17/11
   3700      D                                2                                                                         02/17/11
   3800      D                                4                                                                         02/17/11
   3900      D @A1110                               LikeDS(#A1110)                                                      02/17/11
   4000 60103D                                1                                                                         03/18/11
   4100 60103D                               11  2                                                                      03/18/11
   4200      D                                1                                                                         03/18/11
   4300      D                               64                                                                         04/11/11
   4400       * ---------------------------------------------------------------                                         04/07/11
   4500       *                       Main Procedure Interface                                                          04/07/11
   4600       * ---------------------------------------------------------------                                         04/07/11
   4700      D Main            PI                                                                                       02/17/11
   4800      D p0shp#                        12                                                                         02/17/11
   4900      D p0wscd                         2                                                                         02/18/11
   5000      d p0srv                          4                                                                         02/18/11
   5100      d p01110                               LikeDS(#A1110)                                                      02/17/11
   5200 60103d p0mode                         1                                                                         03/18/11
   5300 60103d p0Chr$                               Like(richr$)                                                        03/18/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    2
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
   5400      d p0rtncd                        1                                                                         02/18/11
   5500      d p0msgtxt                      64                                                                         04/11/11
   5600       * ---------------------------------------------------------------                                         04/07/11
   5700       *           Prototype definiton for StartOfElement Procedure                                              04/07/11
   5800       * ---------------------------------------------------------------                                         04/07/11
   5900      D StartOfElement  PR                                                                                       09/23/06
   6000      D   UserData                      *   value                                                                09/23/06
   6100      D   depth                       10I 0 value                                                                09/23/06
   6200      D   name                      1024A   varying const                                                        09/23/06
   6300      D   path                     24576A   varying const                                                        09/23/06
   6400      D   attrs                         *   dim(32767)                                                           09/23/06
   6500      D                                     const options(*varsize)                                              09/23/06
   6600       * ---------------------------------------------------------------                                         04/07/11
   6700       *           Prototype definiton for EndOfElement Procedure                                                04/07/11
   6800       * ---------------------------------------------------------------                                         04/07/11
   6900      D EndOfElement    PR                                                                                       09/23/06
   7000      D   UserData                      *   value                                                                09/23/06
   7100      D   depth                       10I 0 value                                                                09/23/06
   7200      D   name                      1024A   varying const                                                        09/23/06
   7300      D   path                     24576A   varying const                                                        09/23/06
   7400      D   value                    65535A   varying const                                                        09/12/07
   7500      D   attrs                         *   dim(32767)                                                           09/23/06
   7600      D                                     const options(*varsize)                                              09/23/06
   7700       * ---------------------------------------------------------------                                         04/07/11
   7800       *           Array Definition for Surcharge                                                                04/07/11
   7900       * ---------------------------------------------------------------                                         04/07/11
   8000      d SCount          s             10I 0                                                                      02/22/11
   8100      d surcharge       ds                  qualified                                                            02/24/11
   8200      d   array1                            dim(200)                                                             03/31/11
   8300      d   sid                          4  0 overlay(array1)                                                      04/05/11
   8400      d   stype                       40A   overlay(array1:*next)                                                04/05/11
   8500      d   sAmount                     15A   overlay(array1:*next)                                                02/24/11
   8600       * ---------------------------------------------------------------                                         04/07/11
   8700       *           Array Definition for Base Charge                                                              04/07/11
   8800       * ---------------------------------------------------------------                                         04/07/11
   8900      d PCount          s             10I 0                                                                      02/22/11
   9000      d package         ds                  qualified                                                            02/24/11
   9100      d   array2                            dim(200)                                                             03/31/11
   9200      d   pId                          4A   overlay(array2)                                                      02/24/11
   9300      d   pAmount                     15A   overlay(array2:*next)                                                02/24/11
   9400       * ---------------------------------------------------------------                                         04/07/11
   9500       *                      Misc. Variable                                                                     04/07/11
   9600       * ---------------------------------------------------------------                                         04/07/11
   9700      d tCount          s              1  0                                                                      04/07/11
   9800      D @Counter        s              3  0 Inz(0)                                                               02/22/11
   9900      D @n              s              3  0 Inz(0)                                                               02/25/11
  10000      D @ErrFlag        s               n   Inz(*Off)                                                            02/22/11
  10100      D @ErrWeb         s               n   Inz(*Off)                                                            04/07/11
  10200      D rc              s             10I 0                                                                      09/23/06
  10300      D postData        s          65535A   varying                                                              03/31/11
  10400      D postDataH       s           5000A   varying                                                              02/22/11
  10500      D postDataB       s          55000A   varying                                                              03/31/11
  10600      D postDataE       s            100A   varying                                                              02/22/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    3
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  10700      D postDataF       s          20000A   varying                                                              04/20/11
  10800      D @FStreet        s             43A   varying                                                              02/23/11
  10900      D @TStreet        s             43A   varying                                                              02/23/11
  11000      D @FGrd           s               n   Inz(*Off)                                                            02/22/11
  11100      D @pId            s                   Like(repce#)                                                         02/25/11
  11200      D @v              s                   Like(whrvrs)                                                         03/15/11
  11300      D pstr1           s            500A                                                                        02/25/11
  11400      D pstr2           s            500A                                                                        02/25/11
  11500      D pstr3           s            500A                                                                        02/25/11
  11600      D pstr4           s            500A                                                                        02/25/11
  11700      D pstr5           s            500A                                                                        02/25/11
  11800      D pstr6           s            500A                                                                        02/25/11
  11900      D pstr7           s            500A                                                                        04/07/11
  12000      D pstr8           s            500A                                                                        04/07/11
  12100      D pstr9           s            500A                                                                        04/07/11
  12200 60102D pstr10          s            500A                                                                        11/15/12
  12300      D pstrS           s            100A                                                                        03/04/11
  12400      D @cTotal         s                   Like(richr$)                                                         03/18/11
  12500      d @svpce#         s                   Like(repce#)                                                         03/30/11
  12600      d @TotPcs         s                   Like(reocr)                                                          04/05/11
  12700      d @packSpService  s               n   Inz(*off)                                                            04/20/11
  12800      d @pOptArray      s              2  0                                                                      04/20/11
  12900 60101D @cnctyp         s              1A                                                                        05/25/11
  13000                                                                                                                 04/06/11
  13100       * ---------------------------------------------------------------                                         04/07/11
  13200       * System Data Structre                                                                                    02/17/11
  13300       * ---------------------------------------------------------------                                         04/07/11
  13400      D                SDS                                                                                       02/17/11
  13500      D @ProgName         *Proc                                                                                  02/17/11
  13600      D @ParmCount        *Parms                                                                                 02/17/11
  13700      D @StatusCode       *Status                                                                                02/17/11
  13800      D @Routine          *Routine                                                                               02/17/11
  13900      D @LibName               81     90                                                                         02/17/11
  14000      D @JobName              244    253                                                                         02/17/11
  14100      D @UserID               254    263                                                                         02/17/11
  14200      D JobNumber             264    269                                                                         02/17/11
  14300                                                                                                                 02/17/11
  14400                                                                                                                 09/23/06
  14500       /free                                                                                                     09/23/06
  14600                                                                                                                 09/23/06
  14700        //------------------------------------------------------------//                                         04/07/11
  14800        //            M A I N    C O D E   S E C T I O N              //                                         04/07/11
  14900        //------------------------------------------------------------//                                         04/07/11
  15000                                                                                                                 04/06/11
  15100          http_debug(*ON);                                                                                       02/23/11
  15200          @ErrFlag = *Off;                                                                                       03/04/11
  15300          @ErrWeb  = *Off;                                                                                       04/07/11
  15400          clear package;                                                                                         04/06/11
  15500          clear surcharge;                                                                                       04/06/11
  15600          pCount = 0;                                                                                            04/06/11
  15700          sCount = 0;                                                                                            04/06/11
  15800                                                                                                                 04/05/11
  15900          //Validate External Engine Code and get Version #                                                      04/06/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    4
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  16000          //-----------------------------------------------------------/                                         04/07/11
  16100                                                                                                                 04/06/11
  16200          Chain (p0wscd) ospswsh;                                                                                04/05/11
  16300          If not%Found(ospswsh);                                                                                 04/05/11
  16400            @ErrFlag = *On;                                                                                      04/05/11
  16500          Else;                                                                                                  04/05/11
  16600            @v = whrvrs;                                                                                         04/05/11
  16700 601c1      // Check for Credentials at the Div/Whs Level                                                        05/07/13
  16800 601c1      chain (p0wscd:p01110.zpdiv:p01110.zpwhs) ospdwws;                                                    05/09/13
  16900 601c1      if %found(ospdwws);                                                                                  05/07/13
  17000 601c1        whukey = waukey;                                                                                   05/07/13
  17100 601c1        whpwd  = wapwd;                                                                                    05/07/13
  17200 601c1        whcacc = wacacc;                                                                                   05/07/13
  17300 601c1        whcmtr = wacmtr;                                                                                   05/07/13
  17400 601c1      endif;                                                                                               05/07/13
  17500          EndIf;                                                                                                 04/05/11
  17600                                                                                                                 04/06/11
  17700          //Validate Service Type and determine if FEDEX Ground                                                  04/06/11
  17800          //-----------------------------------------------------------/                                         04/07/11
  17900                                                                                                                 04/06/11
  18000          If @ErrFlag = *Off;                                                                                    04/05/11
  18100            Chain (p0wscd:'1':p0Srv) ospswsd;                                                                    04/05/11
  18200            If not%Found(ospswsd);                                                                               04/05/11
  18300              @ErrFlag = *On;                                                                                    04/05/11
  18400            Else;                                                                                                04/05/11
  18500              If wdelem = 'FEDEX_GROUND';                                                                        04/05/11
  18600                @FGrd = *On;                                                                                     04/05/11
  18700              Else;                                                                                              04/05/11
  18800                @FGrd = *Off;                                                                                    04/05/11
  18900              EndIf;                                                                                             04/05/11
  19000            EndIf;                                                                                               04/05/11
  19100          EndIf;                                                                                                 04/05/11
  19200                                                                                                                 04/06/11
  19300          //Call web Service                                                                                     04/06/11
  19400          //-----------------------------------------------------------/                                         04/07/11
  19500                                                                                                                 04/05/11
  19600          If @ErrFlag = *Off;                                                                                    04/05/11
  19700                                                                                                                 04/06/11
  19800          //FEDEX Ground Only (Single Call to Web Service)                                                       04/06/11
  19900          //-----------------------------------------------------------/                                         04/07/11
  20000            If @FGrd = *On;                                                                                      04/05/11
  20100              ExSr sbCrtXmlStr;                                                                                  04/05/11
  20200              If @ErrFlag = *Off;                                                                                04/05/11
  20300                ExSr sbCallWebSrv;                                                                               04/05/11
  20400              EndIf;                                                                                             04/05/11
  20500                                                                                                                 04/06/11
  20600          //Non FEDEX Ground (Multiple Calls to Web Service)                                                     04/06/11
  20700          //-----------------------------------------------------------/                                         04/07/11
  20800            Else;                                                                                                04/05/11
  20900              @Counter = 1;                                                                                      04/06/11
  21000              SetLL (p0shp#:'2':whbase) smprate;                                                                 04/05/11
  21100              DoU %Eof(Smprate);                                                                                 04/05/11
  21200                ReadE(n) (p0Shp#:'2':whbase) smprate;                                                            04/05/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    5
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  21300                If Not %Eof(smprate);                                                                            04/05/11
  21400                  @svpce# = repce#;                                                                              04/06/11
  21500                  Chain (p0wscd:'1':p0Srv) ospswsd;                                                              04/06/11
  21600                  If %Found(ospswsd);                                                                            04/06/11
  21700                    ExSr sbCrtXmlStr;                                                                            04/06/11
  21800                    If @ErrFlag = *Off;                                                                          04/06/11
  21900                      pCount += 1;                                                                               04/06/11
  22000                      tCount  = 0;                                                                               04/07/11
  22100                      ExSr sbCallWebSrv;                                                                         04/06/11
  22200                    Else;                                                                                        04/06/11
  22300                      Leave;                                                                                     04/06/11
  22400                    EndIf;                                                                                       04/06/11
  22500                  Else;                                                                                          04/06/11
  22600                    @ErrFlag = *On;                                                                              04/06/11
  22700                    Leave;                                                                                       04/06/11
  22800                  EndIf;                                                                                         04/06/11
  22900                EndIf;                                                                                           04/06/11
  23000              EndDo;                                                                                             04/05/11
  23100            EndIf;                                                                                               04/05/11
  23200                                                                                                                 04/06/11
  23300          EndIf;                                                                                                 04/05/11
  23400                                                                                                                 04/05/11
  23500                                                                                                                 04/06/11
  23600          //Update RATE and RATI files                                                                           04/06/11
  23700          //-----------------------------------------------------------/                                         04/07/11
  23800          If @ErrFlag = *Off;                                                                                    03/03/11
  23900            ExSr sbUpdRateFile;                                                                                  03/03/11
  24000          EndIf;                                                                                                 03/03/11
  24100                                                                                                                 03/03/11
  24200                                                                                                                 04/06/11
  24300          //Error Handling                                                                                       04/06/11
  24400          //-----------------------------------------------------------/                                         04/07/11
  24500          If @ErrFlag = *On;                                                                                     03/01/11
  24600            p0rtncd = 'E';                                                                                       03/28/11
  24700            If @Errweb = *On;                      //Special Error                                               04/07/11
  24800              p0rtncd = 'W';                                                                                     04/07/11
  24900            Endif;                                                                                               04/07/11
  25000          EndIf;                                                                                                 03/01/11
  25100                                                                                                                 03/01/11
  25200          *inlr = *ON;                                                                                           02/18/11
  25300        //---------------- End of Main -------------------------------//                                         04/07/11
  25400                                                                                                                 02/18/11
  25500        //------------------------------------------------------------//                                         04/07/11
  25600        //            Subroutine - CrtXmlString                       //                                         04/07/11
  25700        //------------------------------------------------------------//                                         04/07/11
  25800          BegSr sbCrtXmlStr;                                                                                     02/18/11
  25900                                                                                                                 02/18/11
  26000         //Get the address Line                                                                                  04/07/11
  26100         //------------------------------------------------------------/                                         04/07/11
  26200            Chain (p01110.zpdiv:p01110.zpwhs:p0Shp#:'80':1.00) smpwayb;                                          02/22/11
  26300            If %Found(smpwayb);                                                                                  02/22/11
  26400              If wbfbku <> *Blanks;                                                                              04/08/11
  26500               @FStreet = %Trim(wbfbku)+'-'+%char(wbfblk)+' '+ %Trim(wbfad1);                                    02/23/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    6
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  26600              Else;                                                                                              04/08/11
  26700               @FStreet =  %char(wbfblk) + ' ' + %Trim(wbfad1);                                                  04/08/11
  26800              EndIf;                                                                                             04/08/11
  26900              If wbtbku <> *Blanks;                                                                              04/08/11
  27000               @TStreet = %Trim(wbtbku)+'-'+%char(wbtblk)+' '+ %Trim(wbtad1);                                    02/23/11
  27100              Else;                                                                                              04/08/11
  27200               @TStreet = %char(wbtblk) + ' ' + %Trim(wbtad1);                                                   04/08/11
  27300              EndIf;                                                                                             04/08/11
  27400            EndIf;                                                                                               02/22/11
  27500                                                                                                                 05/25/11
  27600 60101   //  Residential or Commercial address (set boolean value)                                               05/26/11
  27700 60101      If p01110.zpctyp = 'C';                                                                              05/25/11
  27800 60101         @cnctyp = '0';                                                                                    05/25/11
  27900 60101      else;                                                                                                05/25/11
  28000 60101         @cnctyp = '1';                                                                                    05/25/11
  28100 60101      endif;                                                                                               05/25/11
  28200                                                                                                                 05/25/11
  28300         //            X M L  H E A D E R                                                                        04/07/11
  28400         //------------------------------------------------------------/                                         04/07/11
  28500                                                                                                                 02/18/11
  28600            postDataH = %trimr(WHXMLH)                                 +                                         02/18/11
  28700            '<soap:Body>'                                              +                                         02/23/11
  28800            '<RateRequest xmlns="'+ %Trim(WHRSU1) + '">'               +                                         02/23/11
  28900            '<WebAuthenticationDetail>'                                +                                         02/24/11
  29000            '<UserCredential>'                                         +                                         02/18/11
  29100            '<Key>'+%trim(WHUKEY)+'</Key>'                             +                                         02/18/11
  29200            '<Password>'+%trim(WHPWD)+'</Password>'                    +                                         02/18/11
  29300            '</UserCredential></WebAuthenticationDetail>'              +                                         02/18/11
  29400            '<ClientDetail>'                                           +                                         02/18/11
  29500            '<AccountNumber>'+%Trim(WHCACC)+'</AccountNumber>'         +                                         02/18/11
  29600            '<MeterNumber>'+%Trim(WHCMTR)+'</MeterNumber>'             +                                         02/18/11
  29700            '</ClientDetail>';                                                                                   02/18/11
  29800                                                                                                                 02/18/11
  29900         //      X M L  B O D Y                                                                                  04/07/11
  30000         //-----------------------------------------------------------//                                         04/07/11
  30100            postDataB = '<TransactionDetail>'                          +                                         02/18/11
  30200            '<CustomerTransactionId>***Rate V9 Request usng VC#***</'  +                                         02/23/11
  30300            'CustomerTransactionId>'                                   +                                         03/03/11
  30400            '</TransactionDetail>'                                     +                                         02/18/11
  30500            '<Version>'                                                +                                         02/18/11
  30600            '<ServiceId>crs</ServiceId>'                               +                                         02/18/11
  30700            '<Major>9</Major>'                                         +                                         02/18/11
  30800            '<Intermediate>0</Intermediate>'                           +                                         02/18/11
  30900            '<Minor>0</Minor>'                                         +                                         02/18/11
  31000            '</Version>'                                               +                                         02/18/11
  31100            '<ReturnTransitAndCommit>true</ReturnTransitAndCommit>'    +                                         02/18/11
  31200            '<RequestedShipment>'                                      +                                         02/18/11
  31300            '<ServiceType>'+ %Trim(WDELEM) + '</ServiceType>'          +                                         02/24/11
  31400            '<PackagingType>YOUR_PACKAGING</PackagingType>'            +                                         02/23/11
  31500            '<TotalInsuredValue>'                                      +                                         02/18/11
  31600            '<Currency>USD</Currency>'                                 +                                         02/18/11
  31700            '</TotalInsuredValue>'                                     +                                         02/18/11
  31800            '<Shipper><Address>'                                       +                                         02/18/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    7
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  31900            '<StreetLines>'+ %Trim(@FStreet) + '</StreetLines>'        +                                         02/24/11
  32000            '<City>' + %Trim(p01110.zpcty2) + '</City>'                +                                         02/24/11
  32100            '<StateOrProvinceCode>' + %Trim(p01110.zpsta2)             +                                         02/24/11
  32200            '</StateOrProvinceCode>'                                   +                                         02/23/11
  32300            '<PostalCode>'+ %Trim(p01110.zppst2)+ '</PostalCode>'      +                                         02/24/11
  32400            '<CountryCode>' + %Trim(p01110.zpcnt2) + '</CountryCode>'  +                                         02/24/11
  32500            '</Address>'                                               +                                         02/18/11
  32600            '</Shipper><Recipient><Address>'                           +                                         02/18/11
  32700            '<StreetLines>' + %Trim(@TStreet) +  '</StreetLines>'      +                                         02/24/11
  32800            '<City>' + %Trim(p01110.zpcty) + '</City>'                 +                                         02/24/11
  32900            '<StateOrProvinceCode>' + %Trim(p01110.zpsta)              +                                         02/24/11
  33000            '</StateOrProvinceCode>'                                   +                                         02/23/11
  33100            '<PostalCode>' + %Trim(p01110.zppstc)+ '</PostalCode>'     +                                         02/24/11
  33200            '<CountryCode>'+ %Trim(p01110.zpcnt) + '</CountryCode>'    +                                         02/24/11
  33300 60101      '<Residential>'+ @cnctyp + '</Residential>'                +                                         05/25/11
  33400            '</Address></Recipient>'                                   +                                         02/18/11
  33500            '<ShippingChargesPayment>'                                 +                                         02/18/11
  33600            '<PaymentType>SENDER</PaymentType>'                        +                                         02/18/11
  33700            '<Payor><AccountNumber>'+%Trim(WHCACC)+'</AccountNumber>'  +                                         02/23/11
  33800            '</Payor></ShippingChargesPayment>'                        +                                         04/14/11
  33900            '<SpecialServicesRequested>';                                                                        04/14/11
  34000                                                                                                                 04/20/11
  34100            @packSpService = *Off;                                                                               04/20/11
  34200            SetLL p0Shp# smlrate1;                                                                               04/06/11
  34300            DoU %Eof(smlrate1);                                                                                  04/06/11
  34400              ReadE(n) p0Shp# smlrate1;                                                                          04/06/11
  34500              If not %Eof(smlrate1);                                                                             04/06/11
  34600                 Chain (p0wscd:reatr:rechr) ospswsd;                                                             02/18/11
  34700                 If %Found (ospswsd) and wdspcl = 'Y';                                                           02/18/11
  34800                   @pOptArray = 0;                                                                               04/20/11
  34900                   @pOptArray = %lookup(wdelem:packageOption);                                                   04/20/11
  35000                   If @pOptArray <> 0;                                                                           04/20/11
  35100                     @packSpService = *On;                                                                       04/20/11
  35200                     Select;                                                                                     04/20/11
  35300                     When wdelem = 'SIGNATURE_OPTION';                                                           04/20/11
  35400                     postDataF = postDataF                     +                                                 04/20/11
  35500                     '<SpecialServiceTypes>' + %trim(WDELEM)   +                                                 04/20/11
  35600                     '</SpecialServiceTypes>'                  +                                                 04/20/11
  35700                     '<SignatureOptionDetail><OptionType>'     +                                                 04/20/11
  35800                     'ADULT</OptionType>'                      +                                                 04/20/11
  35900                     '</SignatureOptionDetail>';                                                                 04/20/11
  36000                     Other;                                                                                      04/20/11
  36100                     Endsl;                                                                                      04/20/11
  36200                   Else;                                                                                         04/20/11
  36300                     postDataB = postDataB                     +                                                 04/15/11
  36400                     '<SpecialServiceTypes>' + %trim(WDELEM)   +                                                 04/15/11
  36500                     '</SpecialServiceTypes>';                                                                   04/15/11
  36600                   EndIf;                                                                                        04/20/11
  36700                 EndIf;                                                                                          02/18/11
  36800              EndIf;                                                                                             02/18/11
  36900            EndDo;                                                                                               02/18/11
  37000                                                                                                                 02/18/11
  37100         // PostDataB = postDataB +                                                                              04/14/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    8
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  37200            PostDataB = postDataB + '</SpecialServicesRequested>'      +                                         04/14/11
  37300            '<RateRequestTypes>ACCOUNT</RateRequestTypes>'             +                                         02/23/11
  37400            '<PackageCount>@@@</PackageCount>'                         +                                         02/22/11
  37500            '<PackageDetail>INDIVIDUAL_PACKAGES</PackageDetail>';                                                02/23/11
  37600                                                                                                                 04/05/11
  37700            If @FGrd = *On;                                                                                      04/05/11
  37800            @Counter = 0;                                                                                        02/23/11
  37900            SetLL (p0Shp#:'2':whbase) smprate;                                                                   04/05/11
  38000            DoU %Eof(Smprate);                                                                                   02/23/11
  38100              ReadE(n) (p0Shp#:'2':whbase) smprate;                                                              03/29/11
  38200              If Not %Eof(smprate);                                                                              02/23/11
  38300                 postDataB = postDataB + '<RequestedPackageLineItems>'  +                                        02/23/11
  38400                 '<SequenceNumber>' + %Trim(%char(@Counter+1))          +                                        02/23/11
  38500                 '</SequenceNumber>'                                    +                                        02/23/11
  38600                 '<GroupNumber>' + %Trim(%char(%int(REPCE#*100)))       +                                        02/23/11
  38700                 '</GroupNumber>'                                       +                                        02/23/11
  38800                 '<InsuredValue><Currency>USD</Currency>'               +                                        02/23/11
  38900                 '</InsuredValue><Weight><Units>LB</Units>'             +                                        02/23/11
  39000                 '<Value>'+ %Trim(%char(%dech(REWGT:8:1)))              +                                        03/03/11
  39100                 '</Value></Weight>'                                    +                                        03/03/11
  39200                 '<Dimensions>'                                         +                                        02/23/11
  39300                 '<Length>' + %Trim(%char(%int(RELEN))) + '</Length>'   +                                        02/23/11
  39400                 '<Width>'  + %Trim(%char(%int(REWID))) + '</Width>'    +                                        02/23/11
  39500                 '<Height>' + %Trim(%char(%int(REHGT))) + '</Height>'   +                                        02/23/11
  39600                 '<Units>IN</Units></Dimensions>';                                                               04/20/11
  39700                 If @packSpService = *On;                                                                        04/20/11
  39800                   postDataB = postDataB                            +                                            04/20/11
  39900                               '<SpecialServicesRequested>'         +                                            04/20/11
  40000                               postDataF                            +                                            04/20/11
  40100                               '</SpecialServicesRequested>';                                                    04/20/11
  40200                 EndIf;                                                                                          04/20/11
  40300                 postDataB = postDataB + '</RequestedPackageLineItems>';                                         04/20/11
  40400                 @Counter += 1;                                                                                  02/23/11
  40500              EndIf;                                                                                             02/23/11
  40600            EndDo;                                                                                               02/23/11
  40700            Else;                                                                                                04/05/11
  40800              Chain(n)(p0Shp#:'2':whbase:@svpce#) smlrate1;                                                      04/06/11
  40900              If %Found(smlrate1);                                                                               04/06/11
  41000                 postDataB = postDataB + '<RequestedPackageLineItems>'  +                                        04/05/11
  41100                 '<SequenceNumber>1</SequenceNumber>'                   +                                        04/05/11
  41200                 '<GroupNumber>' + %Trim(%char(%int(REPCE#*100)))       +                                        04/05/11
  41300                 '</GroupNumber>'                                       +                                        04/05/11
  41400                 '<InsuredValue><Currency>USD</Currency>'               +                                        04/05/11
  41500                 '</InsuredValue><Weight><Units>LB</Units>'             +                                        04/05/11
  41600                 '<Value>'+ %Trim(%char(%dech(REWGT:8:1)))              +                                        04/05/11
  41700                 '</Value></Weight>'                                    +                                        04/05/11
  41800                 '<Dimensions>'                                         +                                        04/05/11
  41900                 '<Length>' + %Trim(%char(%int(RELEN))) + '</Length>'   +                                        04/05/11
  42000                 '<Width>'  + %Trim(%char(%int(REWID))) + '</Width>'    +                                        04/05/11
  42100                 '<Height>' + %Trim(%char(%int(REHGT))) + '</Height>'   +                                        04/05/11
  42200                 '<Units>IN</Units></Dimensions>'                       +                                        04/05/11
  42300                 '</RequestedPackageLineItems>';                                                                 04/05/11
  42400              EndIf;                                                                                             04/06/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE    9
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  42500            EndIf;                                                                                               04/05/11
  42600                                                                                                                 02/23/11
  42700         //            X M L  E N D    S E C T I O N                                                             04/07/11
  42800         //-----------------------------------------------------------//                                         04/07/11
  42900            PostDataE = '</RequestedShipment>'                          +                                        02/23/11
  43000            '</RateRequest>'                                            +                                        02/23/11
  43100            '</soap:Body>'                                              +                                        02/22/11
  43200            '</soap:Envelope>';                                                                                  02/22/11
  43300                                                                                                                 04/05/11
  43400              PostDataB = %replace(%char(@counter):postDataB:                                                    04/05/11
  43500                        %scan('@@@':postDataB):3);                                                               02/22/11
  43600                                                                                                                 04/05/11
  43700            PostData = %trim(PostDataH) + %trim(PostDataB) + %Trim(PostDataE);                                   02/22/11
  43800          //@Length = %len(%trim(postData));                                                                     04/06/11
  43900          EndSr;                                                                                                 02/24/11
  44000                                                                                                                 04/07/11
  44100        //------------------------------------------------------------//                                         04/07/11
  44200        //            Subroutine - sbCallWebSrv                       //                                         04/07/11
  44300        //------------------------------------------------------------//                                         04/07/11
  44400          BegSr sbCallWebSrv;                                                                                    02/24/11
  44500                                                                                                                 03/03/11
  44600              rc = http_url_post_xml( %trim(whrsu2)                                                              03/03/11
  44700                 : %addr(postData) + 2                                                                           03/03/11
  44800                 : %len(postData)                                                                                03/03/11
  44900                 : %paddr(StartOfElement)                                                                        03/03/11
  45000                 : %paddr(EndOfElement)                                                                          03/03/11
  45100                 : *NULL );                                                                                      03/03/11
  45200                                                                                                                 02/18/11
  45300            If (rc <> 1);                                                                                        02/24/11
  45400              @ErrFlag = *On;                                                                                    03/28/11
  45500              If rc = -1;                                                                                        04/07/11
  45600                @ErrWeb = *On;                                                                                   04/07/11
  45700              EndIf;                                                                                             04/07/11
  45800            Endif;                                                                                               03/28/11
  45900                                                                                                                 02/22/11
  46000           EndSr;                                                                                                02/24/11
  46100                                                                                                                 09/23/06
  46200        //------------------------------------------------------------//                                         04/07/11
  46300        //            sbUpdRateFile -Update Rate File                 //                                         04/07/11
  46400        //------------------------------------------------------------//                                         04/07/11
  46500        BegSr sbUpdRateFile;                                                                                     02/25/11
  46600                                                                                                                 02/25/11
  46700        //Error if first entry of package array is blank or zero                                                 03/30/11
  46800        //--------------------------------------------------------------                                         04/07/11
  46900          If package.pid(1) = *blanks or                                                                         03/30/11
  47000             package.pid(1) = '0';                                                                               03/30/11
  47100             @ErrFlag = *On;                                                                                     03/30/11
  47200             LeaveSr;                                                                                            03/30/11
  47300          EndIf;                                                                                                 03/30/11
  47400                                                                                                                 03/30/11
  47500        //- Populate base charge in SMPRATE from the array                                                       04/07/11
  47600        //--------------------------------------------------------------                                         04/07/11
  47700                                                                                                                 03/30/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE   10
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  47800          @n = 1;                                                                                                02/25/11
  47900          DoU package.pid(@n) = ' ';                                                                             02/25/11
  48000            @pId  = %int(package.pid(@n))/100;                                                                   03/03/11
  48100                Chain (p0Shp#:'2':whbase:@PId) smlrate1;                                                         04/07/11
  48200                If %Found(smlrate1);                                                                             04/07/11
  48300                   rechr$ = %dec(package.pAmount(@n):11:2);                                                      04/07/11
  48400                   Update rlrate1;                                                                               04/07/11
  48500                EndIf;                                                                                           04/07/11
  48600            @n += 1;                                                                                             02/25/11
  48700          EndDo;                                                                                                 02/25/11
  48800                                                                                                                 02/25/11
  48900        //- Populate Surcharges in SMPRATE from the array                                                        04/06/11
  49000        //--------------------------------------------------------------                                         04/07/11
  49100                                                                                                                 04/06/11
  49200          @n = 1;                                                                                                04/06/11
  49300                                                                                                                 04/06/11
  49400          Dou surcharge.stype(@n) = ' ';                                                                         02/25/11
  49500                                                                                                                 04/06/11
  49600          // 1. Get number of pieces from the corresponding base charge                                          04/07/11
  49700          //----------------------------------------------------------------                                     04/07/11
  49800              @TotPcs = 0 ;                                                                                      04/05/11
  49900              If surcharge.sid(@n) <> *Zero;                                                                     04/07/11
  50000                 repce# = surcharge.sid(@n)/100;                                                                 04/06/11
  50100                 Chain(n) (p0Shp#:'2':whbase:repce#) smlrate1;                                                   04/06/11
  50200                 If %Found(smlrate1);                                                                            04/07/11
  50300                   If reocr = 0;                                                                                 04/06/11
  50400                     @Totpcs = 1;                                                                                04/06/11
  50500                   Else;                                                                                         04/06/11
  50600                     @Totpcs = reocr;                                                                            04/06/11
  50700                   EndIf;                                                                                        04/07/11
  50800                 EndIf;                                                                                          04/07/11
  50900              EndIf;                                                                                             04/06/11
  51000                                                                                                                 04/07/11
  51100            // 2. Update the file                                                                                04/07/11
  51200            //--------------------------------------------------------                                           04/06/11
  51300                                                                                                                 04/06/11
  51400            Chain (p0wscd:surcharge.stype(@n)) oslswsdb;                                                         04/05/11
  51500            If %Found(oslswsdb);                                                                                 04/05/11
  51600              Chain (p0Shp#:wdatr:wdchr) smprate;                                                                04/05/11
  51700              If %Found(smprate);                                                                                04/05/11
  51800                 rechr$ += %dec(surcharge.sAmount(@n):11:2) * @Totpcs;                                           04/07/11
  51900                 update rprate;                                                                                  04/05/11
  52000              EndIf;                                                                                             04/05/11
  52100            EndIf;                                                                                               04/05/11
  52200            @n +=1;                                                                                              04/05/11
  52300          EndDo;                                                                                                 02/25/11
  52400                                                                                                                 02/25/11
  52500        //- Get the Total Sum of charges and pass back to rating engine                                          04/07/11
  52600        //  (Required for Rateshop)                                                                              04/07/11
  52700        //----------------------------------------------------------------                                       03/18/11
  52800            @cTotal = 0;                                                                                         04/07/11
  52900            Setll p0Shp# smprate ;                                                                               04/07/11
  53000            ReadE(n) p0Shp# smprate ;                                                                            04/07/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE   11
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  53100            DoW Not %Eof(smprate );                                                                              04/07/11
  53200              if reocr = 0;                                                                                      04/07/11
  53300               @cTotal += rechr$;                                                                                04/07/11
  53400              Else;                                                                                              04/07/11
  53500               @cTotal += rechr$ * reocr;                                                                        04/07/11
  53600              EndIf;                                                                                             04/07/11
  53700              ReadE(n) p0Shp# smprate;                                                                           04/07/11
  53800            EndDo;                                                                                               04/07/11
  53900            p0chr$ = @cTotal;                                                                                    04/07/11
  54000                                                                                                                 03/18/11
  54100                                                                                                                 04/06/11
  54200        //- Update SMPRATI (Only if update mode is *on)                                                          04/07/11
  54300        //--------------------------------------------------------------                                         04/07/11
  54400          If p0mode = '1';                                                                                       04/07/11
  54500                                                                                                                 04/06/11
  54600            Setll (p0Shp#) smprate;                                                                              03/18/11
  54700            ReadE(n) p0Shp# smprate;                                                                             03/29/11
  54800            DoW Not %Eof(smprate);                                                                               03/18/11
  54900              SetLL (reShp#:reseq:rechr:repce#) smlrati4;                                                        03/18/11
  55000              DoU %Eof(smlrati4);                                                                                03/18/11
  55100                ReadE (reShp#:reseq:rechr:repce#) smlrati4;                                                      03/18/11
  55200                If  Not %Eof(smlrati4);                                                                          03/18/11
  55300                    If reocr = 0;                                                                                04/07/11
  55400                      richr$ = rechr$;                                                                           04/07/11
  55500                    Else;                                                                                        04/07/11
  55600                      richr$ = rechr$ * reocr;                                                                   04/07/11
  55700                    EndIf;                                                                                       04/07/11
  55800                    update rprati;                                                                               03/18/11
  55900                EndIf;                                                                                           03/18/11
  56000              EndDo;                                                                                             03/18/11
  56100              ReadE(n) p0Shp# smprate;                                                                           03/29/11
  56200            EndDo;                                                                                               03/18/11
  56300                                                                                                                 04/06/11
  56400          EndIf;                                                                                                 04/07/11
  56500                                                                                                                 03/18/11
  56600                                                                                                                 03/18/11
  56700                                                                                                                 03/18/11
  56800        //- Delete SMPRATE                                                                                       03/02/11
  56900        //--------------------------------------------------------------                                         04/07/11
  57000          Setll (p0Shp#) smprate;                                                                                03/18/11
  57100          ReadE p0Shp# smprate;                                                                                  03/18/11
  57200          doW Not %Eof(smprate);                                                                                 03/01/11
  57300             Delete rprate;                                                                                      03/18/11
  57400             ReadE p0Shp# smprate;                                                                               03/18/11
  57500          Enddo;                                                                                                 02/28/11
  57600                                                                                                                 02/28/11
  57700        EndSr;                                                                                                   02/25/11
  57800                                                                                                                 03/03/11
  57900        //------------------------------------------------------------//                                         04/07/11
  58000        //            Generic Error Handler                           //                                         04/07/11
  58100        //------------------------------------------------------------//                                         04/07/11
  58200        BegSr *PSSR;                                                                                             03/03/11
  58300           p0RtnCd = 'E';                                                                                        03/03/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE   12
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  58400        EndSr;                                                                                                   03/03/11
  58500                                                                                                                 03/03/11
  58600       /end-free                                                                                                 02/25/11
  58700         //-----------------------------------------------------------//                                         04/07/11
  58800         //           Procedures - Start of Element                   //                                         04/07/11
  58900         //-----------------------------------------------------------//                                         04/07/11
  59000                                                                                                                 09/23/06
  59100      P StartOfElement  B                                                                                        09/23/06
  59200      D StartOfElement  PI                                                                                       09/23/06
  59300      D   UserData                      *   value                                                                09/23/06
  59400      D   depth                       10I 0 value                                                                09/23/06
  59500      D   name                      1024A   varying const                                                        09/23/06
  59600      D   path                     24576A   varying const                                                        09/23/06
  59700      D   attrs                         *   dim(32767)                                                           09/23/06
  59800      D                                     const options(*varsize)                                              09/23/06
  59900       /free                                                                                                     09/23/06
  60000                                                                                                                 09/23/06
  60100         If @Fgrd = *Off and tCount > 1;                                                                         04/07/11
  60200            Return;                                                                                              04/07/11
  60300         EndIf;                                                                                                  04/07/11
  60400        //*------------------------------------------------------------*                                         04/07/11
  60500        //              Path for surcharges (Non-Ground)                                                         04/07/11
  60600        //*------------------------------------------------------------*                                         04/07/11
  60700         pstr1 = '/soapenv:Envelope/soapenv:Body/'     + %Trim(@v) +                                             02/25/11
  60800                 'RateReply/'                          + %Trim(@v) +                                             02/25/11
  60900                 'RateReplyDetails/'                   + %Trim(@v) +                                             02/25/11
  61000                 'RatedShipmentDetails/'               + %Trim(@v) +                                             02/25/11
  61100                 'ShipmentRateDetail/'                 + %Trim(@v) +                                             02/25/11
  61200                 'Surcharges';                                                                                   02/25/11
  61300        //*------------------------------------------------------------*                                         04/07/11
  61400        //              Path for surcharges (Ground)                                                             04/07/11
  61500        //*------------------------------------------------------------*                                         04/07/11
  61600         pStr9 = '/soapenv:Envelope/soapenv:Body/'     + %Trim(@v) +                                             04/07/11
  61700                 'RateReply/'                          + %Trim(@v) +                                             04/07/11
  61800                 'RateReplyDetails/'                   + %Trim(@v) +                                             04/07/11
  61900                 'RatedShipmentDetails/'               + %Trim(@v) +                                             04/07/11
  62000                 'RatedPackages/'                      + %Trim(@v) +                                             04/07/11
  62100                 'PackageRateDetail/'                  + %Trim(@v) +                                             04/07/11
  62200                 'Surcharges';                                                                                   04/07/11
  62300        //*------------------------------------------------------------*                                         04/07/11
  62400        //              Path for Gourp Number (Fedex-Ground)                                                     04/07/11
  62500        //*------------------------------------------------------------*                                         04/07/11
  62600         pstr2 = '/soapenv:Envelope/soapenv:Body/'     + %Trim(@v) +                                             02/25/11
  62700                 'RateReply/'                          + %Trim(@v) +                                             02/25/11
  62800                 'RateReplyDetails/'                   + %Trim(@v) +                                             02/25/11
  62900                 'RatedShipmentDetails/'               + %Trim(@v) +                                             02/25/11
  63000                 'RatedPackages';                                                                                02/25/11
  63100        //*------------------------------------------------------------*                                         04/07/11
  63200        //              Path for RateType (Non-Ground)                                                           04/07/11
  63300        //*------------------------------------------------------------*                                         04/07/11
  63400         pstr7 = '/soapenv:Envelope/soapenv:Body/'     + %Trim(@v) +                                             04/07/11
  63500                 'RateReply/'                          + %Trim(@v) +                                             04/07/11
  63600                 'RateReplyDetails/'                   + %Trim(@v) +                                             04/07/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE   13
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  63700                 'RatedShipmentDetails/'               + %Trim(@v) +                                             04/07/11
  63800                 'ShipmentRateDetail';                                                                           04/07/11
  63900                                                                                                                 04/07/11
  64000        //FedEx Ground                                                                                           04/07/11
  64100        //--------------------------------------------------------------                                         04/07/11
  64200         If @Fgrd = *On;                                                                                         04/07/11
  64300           Select;                                                                                               04/07/11
  64400           When path = pstr9 and name = %trim(@v)+'SurchargeType';                                               04/07/11
  64500               sCount = sCount + 1;                                                                              02/22/11
  64600           When path = pstr2 and name = %Trim(@v)+'GroupNumber';                                                 04/07/11
  64700               pCount = pCount + 1;                                                                              04/07/11
  64800           EndSl;                                                                                                04/07/11
  64900                                                                                                                 04/07/11
  65000         //FedEx Non-Ground (e.g. 2 Day Express)                                                                 04/07/11
  65100         //-------------------------------------------------------------                                         04/07/11
  65200         Else;                                                                                                   04/07/11
  65300           Select;                                                                                               04/07/11
  65400           When path = pstr1 and name = %trim(@v)+'SurchargeType';                                               04/07/11
  65500               sCount = sCount + 1;                                                                              04/07/11
  65600           When path = pstr7 and name = %trim(@v)+'RateType';                                                    04/07/11
  65700               tCount += 1;                                                                                      04/07/11
  65800           EndSl;                                                                                                04/07/11
  65900         EndIf;                                                                                                  04/07/11
  66000       /end-free                                                                                                 09/23/06
  66100      P                 E                                                                                        09/23/06
  66200                                                                                                                 09/23/06
  66300         //-----------------------------------------------------------//                                         04/07/11
  66400         //           Procedures - End of Element                     //                                         04/07/11
  66500         //-----------------------------------------------------------//                                         04/07/11
  66600                                                                                                                 09/23/06
  66700      P EndOfElement    B                                                                                        09/23/06
  66800      D EndOfElement    PI                                                                                       09/23/06
  66900      D   UserData                      *   value                                                                09/23/06
  67000      D   depth                       10I 0 value                                                                09/23/06
  67100      D   name                      1024A   varying const                                                        09/23/06
  67200      D   path                     24576A   varying const                                                        09/23/06
  67300      D   value                    65535A   varying const                                                        09/12/07
  67400      D   attrs                         *   dim(32767)                                                           09/23/06
  67500      D                                     const options(*varsize)                                              09/23/06
  67600       /free                                                                                                     09/23/06
  67700                                                                                                                 02/25/11
  67800        If @Fgrd = *Off and tCount > 1;                                                                          04/07/11
  67900           Return;                                                                                               04/07/11
  68000        EndIf;                                                                                                   04/07/11
  68100                                                                                                                 04/07/11
  68200        //*------------------------------------------------------------*                                         04/07/11
  68300        //              Path for SUCCESS!!!                                                                      04/07/11
  68400        //*------------------------------------------------------------*                                         04/07/11
  68500        pstrS = '/soapenv:Envelope/soapenv:Body/'      + %Trim(@v) +                                             04/07/11
  68600                  'RateReply/'                         + %Trim(@v) +                                             04/07/11
  68700                  'Notifications';                                                                               03/04/11
  68800        //-------------------------------------------------------------*                                         04/07/11
  68900        //              Path for surcharges (Non -Ground)                                                        04/07/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE   14
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  69000        //-------------------------------------------------------------*                                         04/07/11
  69100        pstr3 = '/soapenv:Envelope/soapenv:Body/'       + %Trim(@v) +                                            04/07/11
  69200                'RateReply/'                            + %Trim(@v) +                                            04/07/11
  69300                'RateReplyDetails/'                     + %Trim(@v) +                                            04/07/11
  69400                'RatedShipmentDetails/'                 + %Trim(@v) +                                            04/07/11
  69500                'ShipmentRateDetail/'                   + %Trim(@v) +                                            04/07/11
  69600                'Surcharges';                                                                                    02/25/11
  69700        //-------------------------------------------------------------*                                         04/07/11
  69800        //    Path for Base Charges(Shipment Level:Non FEDEX_GROUND)                                             04/07/11
  69900        //-------------------------------------------------------------*                                         04/07/11
  70000        pstr4 = '/soapenv:Envelope/soapenv:Body/'       + %Trim(@v) +                                            04/07/11
  70100                'RateReply/'                            + %Trim(@v) +                                            04/07/11
  70200                'RateReplyDetails/'                     + %Trim(@v) +                                            04/07/11
  70300                'RatedShipmentDetails/'                 + %Trim(@v) +                                            04/07/11
  70400                'ShipmentRateDetail/'                   + %Trim(@v) +                                            04/07/11
  70500                'TotalBaseCharge';                                                                               02/25/11
  70600        //-------------------------------------------------------------*                                         04/07/11
  70700        //       Path for Group Number (FEDEX_GROUND only)                                                       04/07/11
  70800        //-------------------------------------------------------------*                                         04/07/11
  70900        pStr5 = '/soapenv:Envelope/soapenv:Body/'       + %Trim(@v) +                                            04/07/11
  71000                'RateReply/'                            + %Trim(@v) +                                            04/07/11
  71100                'RateReplyDetails/'                     + %Trim(@v) +                                            04/07/11
  71200                'RatedShipmentDetails/'                 + %Trim(@v) +                                            04/07/11
  71300                'RatedPackages';                                                                                 02/25/11
  71400        //-------------------------------------------------------------*                                         04/07/11
  71500        //          Path for Base Charge (FEDEX_GROUND only)                                                     04/07/11
  71600        //-------------------------------------------------------------*                                         04/07/11
  71700        pStr6 = '/soapenv:Envelope/soapenv:Body/'       + %Trim(@v) +                                            04/07/11
  71800                'RateReply/'                            + %Trim(@v) +                                            04/07/11
  71900                'RateReplyDetails/'                     + %Trim(@v) +                                            04/07/11
  72000                'RatedShipmentDetails/'                 + %Trim(@v) +                                            04/07/11
  72100                'RatedPackages/'                        + %Trim(@v) +                                            04/07/11
  72200                'PackageRateDetail/'                    + %Trim(@v) +                                            04/07/11
  72300                'BaseCharge';                                                                                    02/25/11
  72400 60102  //-------------------------------------------------------------*                                         11/15/12
  72500 60102  //          Path for Net Fedex Charge (FEDEX_GROUND only)                                                11/15/12
  72600 60102  //-------------------------------------------------------------*                                         11/15/12
  72700 60102  pStr10= '/soapenv:Envelope/soapenv:Body/'       + %Trim(@v) +                                            11/15/12
  72800 60102          'RateReply/'                            + %Trim(@v) +                                            11/15/12
  72900 60102          'RateReplyDetails/'                     + %Trim(@v) +                                            11/15/12
  73000 60102          'RatedShipmentDetails/'                 + %Trim(@v) +                                            11/15/12
  73100 60102          'RatedPackages/'                        + %Trim(@v) +                                            11/15/12
  73200 60102          'PackageRateDetail/'                    + %Trim(@v) +                                            11/15/12
  73300 60102          'NetFedExCharge';                                                                                11/15/12
  73400        //-------------------------------------------------------------*                                         04/07/11
  73500        //              Path for surcharges (Ground)                                                             04/07/11
  73600        //-------------------------------------------------------------*                                         04/07/11
  73700        pStr8 = '/soapenv:Envelope/soapenv:Body/'       + %Trim(@v) +                                            04/07/11
  73800                'RateReply/'                            + %Trim(@v) +                                            04/07/11
  73900                'RateReplyDetails/'                     + %Trim(@v) +                                            04/07/11
  74000                'RatedShipmentDetails/'                 + %Trim(@v) +                                            04/07/11
  74100                'RatedPackages/'                        + %Trim(@v) +                                            04/07/11
  74200                'PackageRateDetail/'                    + %Trim(@v) +                                            04/07/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE   15
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  74300                'Surcharges';                                                                                    04/07/11
  74400                                                                                                                 04/07/11
  74500        //Error Checking  (Applicable for all services)                                                          04/07/11
  74600        //--------------------------------------------------------------                                         04/07/11
  74700         If path = pstrS;                                                                                        04/07/11
  74800           If name = %Trim(@v)+'Severity';                                                                       04/07/11
  74900              If value <> 'SUCCESS' and                                                                          04/07/11
  75000                 value <> 'NOTE';                                                                                04/07/11
  75100                @ErrFlag = *on;                                                                                  04/07/11
  75200              EndIf;                                                                                             04/07/11
  75300           EndIf;                                                                                                04/07/11
  75400           //If name = %Trim(@v)+'Code';                                                                         04/11/11
  75500           //   If value = '403' or value = '417' or value='200' or                                              04/11/11
  75600           //      value = '0105';                                                                               04/11/11
  75700           //     @ErrWeb = *on;                                                                                 04/11/11
  75800           //   EndIf;                                                                                           04/11/11
  75900           //EndIf;                                                                                              04/11/11
  76000           If @ErrFlag = *On;                                                                                    04/11/11
  76100             If name = %Trim(@v) + 'Message';                                                                    04/11/11
  76200               p0msgtxt = %Trim(value);                                                                          04/11/11
  76300             EndIf;                                                                                              04/11/11
  76400           EndIf;                                                                                                04/11/11
  76500         EndIf;                                                                                                  04/07/11
  76600                                                                                                                 04/07/11
  76700        //FedEx Ground Only                                                                                      04/07/11
  76800        //--------------------------------------------------------------                                         04/07/11
  76900         If @Fgrd = *On;                                                                                         04/07/11
  77000           Select;                                                                                               04/07/11
  77100           When path = pstr8;                                                                                    04/07/11
  77200              If name = %Trim(@v)+'SurchargeType';                                                               04/07/11
  77300                  surcharge.sid(sCount)   = %dec(package.pid(pCount):4:0);                                       04/07/11
  77400                  surcharge.stype(sCount) = value;                                                               04/07/11
  77500              EndIf;                                                                                             04/07/11
  77600           When path = %Trim(pstr8) + '/' + %Trim(@v) + 'Amount';                                                04/07/11
  77700              If name = %Trim(@v)+ 'Amount';                                                                     04/07/11
  77800                surcharge.samount(sCount) = value;                                                               04/07/11
  77900              EndIf;                                                                                             04/07/11
  78000           When path = pStr5;                                                                                    04/07/11
  78100              If name = %Trim(@v)+'GroupNumber';                                                                 04/07/11
  78200                 package.pid(pCount) = value;                                                                    04/07/11
  78300              EndIf;                                                                                             04/07/11
  78400 60102   // 60101 When path = pStr6;                                                                             11/15/12
  78500 60102     When path = pStr10;                                                                                   11/15/12
  78600              if name = %Trim(@v) + 'Amount';                                                                    04/07/11
  78700                package.pAmount(pCount) = value;                                                                 04/07/11
  78800              EndIf;                                                                                             04/07/11
  78900           EndSl;                                                                                                04/07/11
  79000                                                                                                                 04/07/11
  79100        //FedEx Non Ground                                                                                       04/07/11
  79200        //--------------------------------------------------------------                                         04/07/11
  79300         Else;                                                                                                   04/07/11
  79400           Select;                                                                                               04/07/11
  79500           When path = pstr3;                                                                                    04/07/11
  5761WDS V7R1M0  100416                  SEU SOURCE LISTING                            01/13/15 12:34:39    TMSODEV      PAGE   16
  SOURCE FILE . . . . . . .  NMLIB/QRPGLESRC
  MEMBER  . . . . . . . . .  OSR119FX
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
  79600              If name = %Trim(@v)+'SurchargeType';                                                               04/07/11
  79700                  surcharge.sid(sCount) = @svpce# * 100;                                                         04/07/11
  79800                  surcharge.stype(sCount) = value;                                                               04/07/11
  79900              EndIf;                                                                                             04/07/11
  80000           When path = %Trim(pstr3) + '/' + %Trim(@v) + 'Amount';                                                04/07/11
  80100              If name = %Trim(@v)+ 'Amount';                                                                     04/07/11
  80200                surcharge.samount(sCount) = value;                                                               04/07/11
  80300              EndIf;                                                                                             04/07/11
  80400           When path = pStr4;                                                                                    04/07/11
  80500              If name = %Trim(@v) + 'Amount';                                                                    04/07/11
  80600                 package.pid(pCount) = %char(@svpce# * 100);                                                     04/07/11
  80700                 package.pamount(pCount) = value;                                                                04/07/11
  80800              EndIf;                                                                                             04/07/11
  80900           EndSl;                                                                                                04/07/11
  81000         EndIf;                                                                                                  04/07/11
  81100                                                                                                                 04/07/11
  81200       /end-free                                                                                                 09/23/06
  81300      P                 E                                                                                        09/23/06
  81400 **CTDATA packageOption                                                                                          04/20/11
  81500 SIGNATURE_OPTION                                                                                                04/20/11
  81600 APPOINTMENT_DELIVERY                                                                                            04/20/11
  81700 NON_STANDARD_CONTAINER                                                                                          04/20/11
  81800 PRIORITY_ALERT                                                                                                  04/20/11
                                  * * * *  E N D  O F  S O U R C E  * * * *
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------