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

RE: Invalid heap space using HTTPAPI



Mike:

Sorry I wait so long to answer your email. I was debugging an testing to
try to find a cure for the patient (as you said) and doing it step by
step.
Let me first answer your questions about the error:

1. If you run this for the record at 176,677, do you get the error?
	No. This error happens only when a big amount of information is
read.
	Not always happens at the same record.
2. If you read the first 1000 records without calling getContactInfo,
then let it run, do you get the error at 177,677? 
	No. I get it 1000 records or more after the 177,677  
3. Does it always crash after running 176,677 iterations regardless of
the data you reading?
 	No. It happens at different times, depending the data.
4. If you watch the program running, do you notice anything unusual?
Stack growing? Files growing?
	None of them. There is nothing unusual, stack and files stays
the 	same. I ran it interactive and in batch and the results are the
same.
5. Did you dump the program? Program dump listing?
	Yes I did dump the program, but the only program I can dump is
WS.CONTAC and the error happens in the module HTTPUTILR4, which I
could'nt dump. The error send me to WS.CONTAC.

Now, lets go to the debug steps.

1. 	I download the beta version of HTTP API library (HTTPAPI
Ver1.24beta11 released 2010-09-09) and installed it in LIBHTTPB
	I just compile my service program for the WS objects to use
LIBHTTPB.
	Then I ran the program and I did NOT get the error. Try batch
and	iteractive 3 times. It read more than 300,000 records and NO
error.

2.	We have Fulfillment program that consume different web services:
WS.EMAIL and WS.PHONES. And we were having the same problem that the
other one (WS.CONTACT). I ran the program with the HTTP beta version
and I got the heap memory error. 
	I attached Fulfillment_Email_heap_memory_error_Using_LIBHTTPB 
	The program is a complicate fulfillment process, but I recreate
the 	problem using a test program (TSTPHONES) - the compiled version
and 	the Heap memory error are attached. The 2 compile sources for
the 	consuming Web Services are also attached.

3. 	I modified the module  LIBHTTPB/HTTPUTILR4 where the error
happens, 	and add a call after the pointer is allocated and after
the pionter is 	deallocated. See attached file Call PTRTOHEX in
HTTPUTILR4.
	This program just write the hex value of the pointer in a file.
	I am sending you also the last records I get for the process.
   
I really do not know what else to do. May be with this information you
see something that I cannot see.
I appreciate your help

Regards, 
 
JULIO C. CABRERA
Sr. Programmer Analyst, Information Technology 
Interval International
6262 Sunset Drive * Miami, Florida 33143
305.666.1861, ext. 7287 * direct 305.925.7287
cell 305.928.7925* fax 305.668.3409
Julio.Cabrera@xxxxxxxxxxxxxxxx
 
IntervalWorld.com * ResortDeveloper.com
 
-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Mike Krebs
Sent: Thursday, February 17, 2011 7:20 PM
To: HTTPAPI and FTPAPI Projects
Subject: RE: Invalid heap space using HTTPAPI

Thanks for finally sending some almost useful information!

Make only one change a time and test so we know what eventually cures
the patient.

You are running an old version. You really should be able to run this
(especially in a test environment) with the latest version. As has been
pointed out, backwards compatibility is very good. At least run a test
WS.CONTACT with the new version so that we know it is a current problem.
Download the Beta and install into a different library. Compile and run
using the new version.

>From limited experience, changing ptr between alloc and dealloc will
cause a problem. If that happens, why? 

Did you dump the program? Program dump listing? Not sure it would help,
but can't hurt when debugging. What is the value of "ptr"?

Is there a pointer declared in your module WS.CONTACT called "ptr"? Are
you using it? I don't think it needs to be there. If not, please delete
and retry test.

Add some debugging output...print the ptr value at the point where it
allocates memory. Print it just before the dealloc. The pointer should
be the same. Here is an article that talks about one way to print a
pointer http://www.itjungle.com/fhg/fhg110310-story02.html. HTTPAPI is
full of pointers and uses arrays of pointers in some places. 

If you run this for the record at 176,677, do you get the error?
 
If you read the first 1000 records without calling getContactInfo, then
let it run, do you get the error at 177,677? In other words, does it
always crash after running 176,677 iterations regardless of the data you
reading? Or at least within a few records of that?

If you watch the program running, do you notice anything unusual? Stack
growing? Files growing?

Good of you to send a compile listing for the code so we can see the
file layouts and other copied information...if want us to try to
recreate, we also need just the source without the other stuff and maybe
just a bit of knowledge on how to fake it. But try the new version, try
the ptr removal, try printing the ptr. Let's see how far we get.

 
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-
> bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Julio Cabrera
> Sent: Thursday, February 17, 2011 11:00 AM
> To: HTTPAPI and FTPAPI Projects
> Subject: RE: Invalid heap space using HTTPAPI
> 
> Charles:
> 
> 
> 
> After a while trying to reproduce the error, I wrote a program
> (TSTCONTACT) that reads our member file with almost 5 million records
> in
> a loop and call my program getContactInfo. After 176,677 records, it
> gives the heap memory error:
> 
> 
> 
> 
> 
> The error happens in the dealloc line (3448):
> 
> 
> 
> Program:   HTTPAPIR4      Library:   LIBHTTP        Module:
> HTTPUTILR4
> 
> 
>    3444       3443 D xdealloc        PI
> 
> 
>    3445       3444 D   ptr                           *
> 
> 
>    3446       3445  /if defined(TERASPACE)
> 
> 
>    3447       3446  /else
> 
> 
>    3448       3447 C                   dealloc                 ptr
> 
> 
>    3449       3448  /endif
> 
> 
>    3450       3449 C                   eval      ptr = *null
> 
> 
>    3451       3450 P                 E
> 
> 
>    3452       3451
> 
> 
>    3453       3452
> 
> 
>    3454       3453
> *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 
>    3455       3454  * xrealloc(): re-allocate memory
> 
> 
>    3456       3455
> *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 
>    3457       3456 P xrealloc        B                   export
> 
> 
>    3458       3457 D xrealloc        PI              *
> 
> 
> 
> 
> The http_debug was *ON
> 
> I include here the source of the Test program, The source of the RPG
to
> consume the Web Service and the txt of the debug.
> 
> I still do not have any clue of what happened.
> 
> I will appreciate if you can give me any idea.
> 
> 
> 
> Thank you very much,
> 
> 
> 
> 
> 
> JULIO C. CABRERA
> 
> Sr. Programmer Analyst, Information Technology
> 
> Interval International
> 
> 6262 Sunset Drive * Miami, Florida 33143
> 
> 305.666.1861, ext. 7287 * direct 305.925.7287
> 
> cell 305.928.7925* fax 305.668.3409
> 
> Julio.Cabrera@xxxxxxxxxxxxxxxx
> 
> 
> 
> IntervalWorld.com * ResortDeveloper.com
> 
> 
> 
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Charles
> Wilt
> Sent: Friday, January 21, 2011 3:02 PM
> To: HTTPAPI and FTPAPI Projects
> Subject: Re: Invalid heap space using HTTPAPI
> 
> 
> 
> Julio,
> 
> 
> 
> Turn debug logging on and post the resulting log..
> 
> 
> 
> http_debug(*ON);
> 
> 
> 
> Charles
> 
> 
> 
> On Fri, Jan 21, 2011 at 2:42 PM, Julio Cabrera
> 
> <Julio.Cabrera@xxxxxxxxxxxxxxxx> wrote:
> 
> >
> 
> >
> 
> >   Gentlemen:
> 
> >
> 
> >
> 
> >   I need help with this error.
> 
> >
> 
> >   It is happening with an RPG service using HTTPAPI, and normally
> 
> >   happens when the web service is called multiple times.
> 
> >
> 
> >
> 
> >   [cid:image002.jpg@01CBB979.7E576830]
> 
> >
> 
> >
> 
> >   Any help will be very appreciated.
> 
> >
> 
> >
> 
> >   Thanks,
> 
> >
> 
> >
> 
> >
> 
> >   JULIO C. CABRERA
> 
> >
> 
> >   Sr. Programmer Analyst, Information Technology
> 
> >
> 
> >   Interval International
> 
> >
> 
> >   6262 Sunset Drive o Miami, Florida 33143
> 
> >
> 
> >   305.666.1861, ext. 7287 o direct 305.925.7287
> 
> >
> 
> >   cell 305.928.7925 o fax 305.668.3409
> 
> >
> 
> >   [1]Julio.Cabrera@xxxxxxxxxxxxxxxx
> 
> >
> 
> >
> 
> >   IntervalWorld.com o ResortDeveloper.com
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> ______________________________________________________________________
> 
> >   _______
> 
> >   Scanned by IBM Email Security Management Services powered by
> 
> >   MessageLabs. For more information please visit
> http://www.ers.ibm.com
> 
> >
> ______________________________________________________________________
> 
> >   _______
> 
> >
> 
> > References
> 
> >
> 
> >   1. mailto:Julio.Cabrera@xxxxxxxxxxxxxxxx
> 
> >
> 
> >
>
-----------------------------------------------------------------------
> 
> > This is the FTPAPI mailing list.  To unsubscribe, please go to:
> 
> > http://www.scottklement.com/mailman/listinfo/ftpapi
> 
> >
>
-----------------------------------------------------------------------
> 
> >
> 
> >
> 
>
-----------------------------------------------------------------------
> 
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> 
> http://www.scottklement.com/mailman/listinfo/ftpapi
> 
>
-----------------------------------------------------------------------
> 
> 
> 
>
_______________________________________________________________________
> _
> _____
> 
> Scanned by IBM Email Security Management Services powered by
> MessageLabs.
> 
>
_______________________________________________________________________
> _
> _____
> 
> 
>
_______________________________________________________________________
> ______
> Scanned by IBM Email Security Management Services powered by
> MessageLabs. For more information please visit http://www.ers.ibm.com
>
_______________________________________________________________________
> ______
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------

________________________________________________________________________
_____
Scanned by IBM Email Security Management Services powered by
MessageLabs.
________________________________________________________________________
_____

_____________________________________________________________________________
Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com
_____________________________________________________________________________

Attachment: Fulfillment_Email_heap_memory_error_Using_LIBHTTPB.doc
Description: Fulfillment_Email_heap_memory_error_Using_LIBHTTPB.doc

ÿþ 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      1

  Command  . . . . . . . . . . . . :   CRTRPGMOD

    Issued by  . . . . . . . . . . :     JCABRERA

  Module . . . . . . . . . . . . . :   TSTPHONES

    Library  . . . . . . . . . . . :     IIER00VW

  Text 'description' . . . . . . . :   *SRCMBRTXT

  Source Member  . . . . . . . . . :   TSTPHONES

  Source File  . . . . . . . . . . :   QRPGMOD

    Library  . . . . . . . . . . . :     IIER00VW

    CCSID  . . . . . . . . . . . . :     37

  Text 'description' . . . . . . . :   Test Basic Contact Web Service

  Last Change  . . . . . . . . . . :   02/25/11  09:14:38

  Generation severity level  . . . :   10

  Compiler options . . . . . . . . :   *XREF      *GEN       *NOSECLVL  *SHOWCPY

                                       *EXPDDS    *EXT       *NOSHOWSKP *NOSRCSTMT

                                       *DEBUGIO   *NOEVENTF

  Debugging views  . . . . . . . . :   *SOURCE

  Output . . . . . . . . . . . . . :   *PRINT

  Optimization level . . . . . . . :   *NONE

  Source listing indentation . . . :   *NONE

  Type conversion options  . . . . :   *NONE

  Sort sequence  . . . . . . . . . :   *HEX

  Language identifier  . . . . . . :   *JOBRUN

  Replace module . . . . . . . . . :   *YES

  Authority  . . . . . . . . . . . :   *LIBCRTAUT

  Truncate numeric . . . . . . . . :   *YES

  Fix numeric  . . . . . . . . . . :   *ZONED

  Target release . . . . . . . . . :   *CURRENT

  Allow null values  . . . . . . . :   *NO

  Binding directory  . . . . . . . :   *NONE

  Define condition names . . . . . :   *NONE

  Enable performance collection  . :   *PEP

  Profiling data . . . . . . . . . :   *NOCOL

  Licensed Internal Code options . :

  Generate program interface . . . :   *NO

  Include directory  . . . . . . . :

  Preprocessor options . . . . . . :   *NONE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      2

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

                          S o u r c e   L i s t i n g

     1  *-----------------------------------------------------------------------------*                          091207     000100

     

     8  *-----------------------------------------------------------------------------*                          091207     000800

     9 Fmember    if   e           k disk                                                                        110210     001000

        *--------------------------------------------------------------------------------------------*

        *                               RPG name         External name                               *

        * File name. . . . . . . . . :  MEMBER           FILELIB/MEMBER                              *

        * Record format(s) . . . . . :  MEMREC           MEMREC                                      *

        *--------------------------------------------------------------------------------------------*

    10 D #o              S              9S 0 inz(0)                                                              110210     001100

    11 D MemNum          S              7S 0 Inz                                                           00MH  110225     001101

    12 D WrkEmail        S            100A   Inz                                                           00MH  110225     001102

    13                                                                                                           100108     001200

    14  /Define CpyGetEmail_Prototype                                                                      00MH  110225     001201

    15  /Copy *libl/QRPGLESRC,CpyEmail                                                                     00MH  110225     001202

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CPYEMAIL                                                     *                     1

        * External name  . . . . . . :  IILIB/QRPGLESRC(CPYEMAIL)                                    *                     1

        * Last change  . . . . . . . :  08/25/01  15:45:46                                           *                     1

        * Text 'description' . . . . :  Member Lock Prototype Source                                 *                     1

        *--------------------------------------------------------------------------------------------*

    16+ **********************************************************************                                   981008    1000100

    17+ *                                                                    *                                   981008    1000200

    18+ *  Source      :  CpyEmail                                            *                                  010319    1000300

    19+ *  Purpose     :  Email  Prototype Header                            *                                   010319    1000400

    20+ *                                                                    *                                   981027    1000500

    21+ *--------------------------------------------------------------------*                                   981008    1000600

    22+ *  Date       Init        Description                                                                    000830    1000700

    23+ * --------    ----        --------------------------------------*                                        000830    1000800

    24+ * 03/21/01    JLopez      Copy Book Written                                                              010320    1000900

    25+ *                                                                                                        981008    1001000

    26+ *****************************************************************                                        971229    1001100

    27+ *                                                                                                        000829    1001200

    28+ *----------------------------------------------------------------                                        000829    1001300

    29+ * Header Definitions for Prototypes                                                                      981027    1001400

    30+ *----------------------------------------------------------------                                        000829    1001500

    31+ *****************************************************************                                        000829    1001600

    32+ *                                                                                                        001020    1001700

    33+ * Procedure Receiving Member Number                                                                      010319    1001800

    34+ *                                                                                                        001020    1001900

    35+ /If Defined ( CpyGetEmail_Prototype )                                                                    010319    1002000

    36+D GetEmail        PR           105A                                                                       010530    1002100

    37+D                                7S 0                                                                     010430    1002200

    38+ /EndIf                                                                                                   000912    1002300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      3

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

    39+                                                                                                          000912    1002400

    40+ * Procedure Receiving Email Address.                                                                     010326    1002500

    41+ *                                                                                                        010326    1002600

    42+ /If Defined ( CpyValEmail_Prototype )                                                                    010326    1002700

            LINES EXCLUDED: 2

    43+ /EndIf                                                                                                   010326    1003000

    44  /Undefine CpyGetEmail_Prototype                                                                    00MH  110225     001203

    45                                                                                                           110225     001204

    46  /Define cpy_getPhoneByType_Prototype                                                               0402  110225     001205

    47  /copy Qrpglesrc,CB.Phones                                                                          0402  110225     001206

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     2

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     2

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     2

        *--------------------------------------------------------------------------------------------*

    48+ *-----------------------------------------------------------------------------*                          091207    2000100

    49+ *-                                                                            *                          091207    2000200

    50+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    2000300

    51+ *-                                                                            *                          091207    2000400

    52+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    2000500

    53+ *-                                                                            *                          091207    2000600

    54+ *-----------------------------------------------------------------------------*                          091207    2000700

    55+ *-                                                                            *                          091207    2000800

    56+ *-                  M O D I F I C A T I O N S                                 *                          091207    2000900

    57+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    2001000

    58+ *- Date       User ID    Task #     Description                               *                          091207    2001100

    59+ *- ----       -------    --------   -----------                               *                          091207    2001200

    60+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    2001300

    61+ *                                                                             *                          091207    2001400

    62+ *-----------------------------------------------------------------------------*                          091207    2001500

    63+ *-- Prototypes                                                                                           091208    2001601

    64+                                                                                                          091208    2001602

    65+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    2001603

            LINES EXCLUDED: 2

    66+ /EndIf                                                                                                   091207    2001900

    67+                                                                                                          091207    2002000

    68+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    2002002

            LINES EXCLUDED: 2

    69+ /EndIf                                                                                                   091207    2002006

    70+ *                                                                                                        091207    2002200

    71+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    2002202

    72+d getPhoneByType  PR              *                                                                       091210    2002203

    73+d   MemberNum                    7s 0 const                                                               091216    2002204

    74+d   PhoneType                    4a   const                                                               091208    2002205

    75+ /EndIf                                                                                                   091208    2002206

    76+                                                                                                          091208    2002207

    77+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    2002208

            LINES EXCLUDED: 2

    78+ /EndIf                                                                                                   091208    2002214

    79+                                                                                                          091208    2002215

    80+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    2002216

            LINES EXCLUDED: 2

    81+ /EndIf                                                                                                   091209    2002219

    82+                                                                                                          091209    2002220

    83+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    2002221

            LINES EXCLUDED: 4

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      4

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

    84+ /EndIf                                                                                                   091208    2002226

    85+ *                                                                                                        091208    2002227

    86+ *-- Data Structures                                                                                      091208    2002228

    87+                                                                                                          091208    2002229

    88+ /If Defined (cpy_WebServices_Ds)                                                                         091210    2002230

            LINES EXCLUDED: 24

    89+ /EndIf                                                                                                   100104    2002267

    90+                                                                                                          100104    2002268

    91+ *-- Outputs                                                                                              091208    2002286

    92+                                                                                                          091208    2002287

    93+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    2002503

            LINES EXCLUDED: 10

    94+ /EndIf                                                                                                   091207    2002600

    95+                                                                                                          091207    2002601

    96+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    2002700

            LINES EXCLUDED: 12

    97+ /EndIf                                                                                                   091207    2003500

    98+                                                                                                          091207    2003501

    99+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    2003502

            LINES EXCLUDED: 10

   100+ /EndIf                                                                                                   091208    2003519

   101+                                                                                                          091208    2003520

   102+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    2003521

            LINES EXCLUDED: 9

   103+ /EndIf                                                                                                   091209    2003541

   104+                                                                                                          091209    2003542

   105+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    2003543

            LINES EXCLUDED: 11

   106+ /EndIf                                                                                                   091209    2003555

   107+                                                                                                          091209    2003556

   108+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    2003557

            LINES EXCLUDED: 10

   109+ /EndIf                                                                                                   091209    2003569

   110+                                                                                                          091209    2003570

   111+ *-- Procedure Interfaces                                                                                 091208    2003600

   112+                                                                                                          091208    2003601

   113+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    2003602

            LINES EXCLUDED: 2

   114+ /EndIf                                                                                                   091207    2003900

   115+                                                                                                          091207    2004000

   116+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    2004200

            LINES EXCLUDED: 2

   117+ /EndIf                                                                                                   091207    2004600

   118+                                                                                                          091208    2004700

   119+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    2004800

            LINES EXCLUDED: 3

   120+ /EndIf                                                                                                   091208    2005200

   121+                                                                                                          091208    2005202

   122+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    2005203

            LINES EXCLUDED: 2

   123+ /EndIf                                                                                                   091208    2005209

   124+                                                                                                          091208    2005210

   125+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    2005211

            LINES EXCLUDED: 2

   126+ /EndIf                                                                                                   091209    2005214

   127+                                                                                                          091209    2005215

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      5

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   128+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    2005216

            LINES EXCLUDED: 4

   129+ /EndIf                                                                                                   091208    2005221

   130+                                                                                                          091208    2005300

   131  /Undefine cpy_getPhoneByType_Prototype                                                             0402  110225     001207

   132                                                                                                           110225     001208

   133  /Define cpy_WebServices_Ds                                                                         0402  110225     001209

   134  /copy Qrpglesrc,CB.Phones                                                                          0402  110225     001210

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     3

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     3

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     3

        *--------------------------------------------------------------------------------------------*

   135+ *-----------------------------------------------------------------------------*                          091207    3000100

   136+ *-                                                                            *                          091207    3000200

   137+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    3000300

   138+ *-                                                                            *                          091207    3000400

   139+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    3000500

   140+ *-                                                                            *                          091207    3000600

   141+ *-----------------------------------------------------------------------------*                          091207    3000700

   142+ *-                                                                            *                          091207    3000800

   143+ *-                  M O D I F I C A T I O N S                                 *                          091207    3000900

   144+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    3001000

   145+ *- Date       User ID    Task #     Description                               *                          091207    3001100

   146+ *- ----       -------    --------   -----------                               *                          091207    3001200

   147+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    3001300

   148+ *                                                                             *                          091207    3001400

   149+ *-----------------------------------------------------------------------------*                          091207    3001500

   150+ *-- Prototypes                                                                                           091208    3001601

   151+                                                                                                          091208    3001602

   152+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    3001603

            LINES EXCLUDED: 2

   153+ /EndIf                                                                                                   091207    3001900

   154+                                                                                                          091207    3002000

   155+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    3002002

            LINES EXCLUDED: 2

   156+ /EndIf                                                                                                   091207    3002006

   157+ *                                                                                                        091207    3002200

   158+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    3002202

            LINES EXCLUDED: 3

   159+ /EndIf                                                                                                   091208    3002206

   160+                                                                                                          091208    3002207

   161+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    3002208

            LINES EXCLUDED: 2

   162+ /EndIf                                                                                                   091208    3002214

   163+                                                                                                          091208    3002215

   164+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    3002216

            LINES EXCLUDED: 2

   165+ /EndIf                                                                                                   091209    3002219

   166+                                                                                                          091209    3002220

   167+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    3002221

            LINES EXCLUDED: 4

   168+ /EndIf                                                                                                   091208    3002226

   169+ *                                                                                                        091208    3002227

   170+ *-- Data Structures                                                                                      091208    3002228

   171+                                                                                                          091208    3002229

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      6

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   172+ /If Defined (cpy_WebServices_Ds)                                                                         091210    3002230

   173+d   pPhones       s               *                                                                       091211    3002231

   174+d   pPhones2      s               *                                                                       091211    3002232

   175+d   pPhones3      s               *                                                                       100104    3002233

   176+d   pPhones4      s               *                                                                       100104    3002234

   177+                                                                                                          100201    3002235

   178+d PhoneOut      e ds                  ExtName(DS@Mbftel)                                                  100407    3002236

   179+d  MbMemb#      e                     Extfld(Memb#)                                                       100105    3002237

   180+                                                                                                          100104    3002238

        *--------------------------------------------------------------------------------------------*                     4

        * Data structure . . . . . . :  PHONEOUT                                                     *                     4

        * External format  . . . . . :  MBRTEL : FILELIB/DS@MBFTEL                                   *                     4

        * Format text  . . . . . . . :  Membership Telephone File                                    *                     4

        *--------------------------------------------------------------------------------------------*                     4

   181=D MBMEMB#                        7S 0 EXTFLD (MEMB#)                       MEMBERSHIP #                             4000001

   182=D MBREFC                         3A                                        Ref/Key Code                             4000002

   183=D MBPHTY                         4A                                        PHONE TYPE                               4000003

   184=D MBCNTR                         6A                                        PHONE COUNTRY CODE                       4000004

   185=D MBCITY                         6A                                        PHONE CITY CODE                          4000005

   186=D MBPHON                        10A                                        PHONE NUMBER                             4000006

   187=D MBEXT#                         5S 0                                      PHONE EXTENSION #                        4000007

   188=D MBUSER                        10A                                        USER ID                                  4000008

   189=D MBDATE                        10D   DATFMT (*ISO-)                                                                4000009

   190=D MBTIME                         8T   TIMFMT (*HMS:)                                                                4000010

   191+dD@PhoneOut     e ds                  ExtName(DS@Mbftel)                                                  100407    3002250

   192+d                                     DIM(12) based(pPhones)                                              091216    3002252

   193+d                                     qualified                                                           091216    3002253

   194+                                                                                                          100104    3002254

        *--------------------------------------------------------------------------------------------*                     5

        * Data structure . . . . . . :  D@PHONEOUT                                                   *                     5

        * External format  . . . . . :  MBRTEL : FILELIB/DS@MBFTEL                                   *                     5

        * Format text  . . . . . . . :  Membership Telephone File                                    *                     5

        *--------------------------------------------------------------------------------------------*                     5

   195=D MEMB#                          7S 0                                      MEMBERSHIP #                             5000001

   196=D MBREFC                         3A                                        Ref/Key Code                             5000002

   197=D MBPHTY                         4A                                        PHONE TYPE                               5000003

   198=D MBCNTR                         6A                                        PHONE COUNTRY CODE                       5000004

   199=D MBCITY                         6A                                        PHONE CITY CODE                          5000005

   200=D MBPHON                        10A                                        PHONE NUMBER                             5000006

   201=D MBEXT#                         5S 0                                      PHONE EXTENSION #                        5000007

   202=D MBUSER                        10A                                        USER ID                                  5000008

   203=D MBDATE                        10D   DATFMT (*ISO-)                                                                5000009

   204=D MBTIME                         8T   TIMFMT (*HMS:)                                                                5000010

   205+dD@PhoneOut2      ds                  DIM(12) based(pPhones2)                                             091216    3002255

   206+d                                     qualified                                                           091216    3002256

   207+d flags                         10a                                                                       100201    3002257

   208+                                                                                                          100104    3002258

   209+dD@PhoneOut3    e ds                  ExtName(DS@Mbftel)                                                  100407    3002259

   210+d                                     based(pPhones3)                                                     100104    3002260

   211+d                                     qualified                                                           100104    3002261

   212+                                                                                                          100104    3002262

        *--------------------------------------------------------------------------------------------*                     6

        * Data structure . . . . . . :  D@PHONEOUT3                                                  *                     6

        * External format  . . . . . :  MBRTEL : FILELIB/DS@MBFTEL                                   *                     6

        * Format text  . . . . . . . :  Membership Telephone File                                    *                     6

        *--------------------------------------------------------------------------------------------*                     6

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      7

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   213=D MEMB#                          7S 0                                      MEMBERSHIP #                             6000001

   214=D MBREFC                         3A                                        Ref/Key Code                             6000002

   215=D MBPHTY                         4A                                        PHONE TYPE                               6000003

   216=D MBCNTR                         6A                                        PHONE COUNTRY CODE                       6000004

   217=D MBCITY                         6A                                        PHONE CITY CODE                          6000005

   218=D MBPHON                        10A                                        PHONE NUMBER                             6000006

   219=D MBEXT#                         5S 0                                      PHONE EXTENSION #                        6000007

   220=D MBUSER                        10A                                        USER ID                                  6000008

   221=D MBDATE                        10D   DATFMT (*ISO-)                                                                6000009

   222=D MBTIME                         8T   TIMFMT (*HMS:)                                                                6000010

   223+dD@PhoneOut4      ds                  based(pPhones4)                                                     100104    3002263

   224+d                                     qualified                                                           100104    3002264

   225+d CellTerm                       1a                                                                       091216    3002265

   226+d DoNotCall                      1a                                                                       091216    3002266

   227+ /EndIf                                                                                                   100104    3002267

   228+                                                                                                          100104    3002268

   229+ *-- Outputs                                                                                              091208    3002286

   230+                                                                                                          091208    3002287

   231+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    3002503

            LINES EXCLUDED: 10

   232+ /EndIf                                                                                                   091207    3002600

   233+                                                                                                          091207    3002601

   234+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    3002700

            LINES EXCLUDED: 12

   235+ /EndIf                                                                                                   091207    3003500

   236+                                                                                                          091207    3003501

   237+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    3003502

            LINES EXCLUDED: 10

   238+ /EndIf                                                                                                   091208    3003519

   239+                                                                                                          091208    3003520

   240+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    3003521

            LINES EXCLUDED: 9

   241+ /EndIf                                                                                                   091209    3003541

   242+                                                                                                          091209    3003542

   243+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    3003543

            LINES EXCLUDED: 11

   244+ /EndIf                                                                                                   091209    3003555

   245+                                                                                                          091209    3003556

   246+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    3003557

            LINES EXCLUDED: 10

   247+ /EndIf                                                                                                   091209    3003569

   248+                                                                                                          091209    3003570

   249+ *-- Procedure Interfaces                                                                                 091208    3003600

   250+                                                                                                          091208    3003601

   251+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    3003602

            LINES EXCLUDED: 2

   252+ /EndIf                                                                                                   091207    3003900

   253+                                                                                                          091207    3004000

   254+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    3004200

            LINES EXCLUDED: 2

   255+ /EndIf                                                                                                   091207    3004600

   256+                                                                                                          091208    3004700

   257+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    3004800

            LINES EXCLUDED: 3

   258+ /EndIf                                                                                                   091208    3005200

   259+                                                                                                          091208    3005202

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      8

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   260+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    3005203

            LINES EXCLUDED: 2

   261+ /EndIf                                                                                                   091208    3005209

   262+                                                                                                          091208    3005210

   263+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    3005211

            LINES EXCLUDED: 2

   264+ /EndIf                                                                                                   091209    3005214

   265+                                                                                                          091209    3005215

   266+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    3005216

            LINES EXCLUDED: 4

   267+ /EndIf                                                                                                   091208    3005221

   268+                                                                                                          091208    3005300

   269  /Undefine cpy_WebServices_Ds                                                                       0402  110225     001211

   270                                                                                                           110225     001212

   271  /Define cpy_getPhoneByType_Output                                                                  0402  110225     001213

   272  /copy Qrpglesrc,CB.Phones                                                                          0402  110225     001214

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     7

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     7

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     7

        *--------------------------------------------------------------------------------------------*

   273+ *-----------------------------------------------------------------------------*                          091207    7000100

   274+ *-                                                                            *                          091207    7000200

   275+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    7000300

   276+ *-                                                                            *                          091207    7000400

   277+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    7000500

   278+ *-                                                                            *                          091207    7000600

   279+ *-----------------------------------------------------------------------------*                          091207    7000700

   280+ *-                                                                            *                          091207    7000800

   281+ *-                  M O D I F I C A T I O N S                                 *                          091207    7000900

   282+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    7001000

   283+ *- Date       User ID    Task #     Description                               *                          091207    7001100

   284+ *- ----       -------    --------   -----------                               *                          091207    7001200

   285+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    7001300

   286+ *                                                                             *                          091207    7001400

   287+ *-----------------------------------------------------------------------------*                          091207    7001500

   288+ *-- Prototypes                                                                                           091208    7001601

   289+                                                                                                          091208    7001602

   290+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    7001603

            LINES EXCLUDED: 2

   291+ /EndIf                                                                                                   091207    7001900

   292+                                                                                                          091207    7002000

   293+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    7002002

            LINES EXCLUDED: 2

   294+ /EndIf                                                                                                   091207    7002006

   295+ *                                                                                                        091207    7002200

   296+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    7002202

            LINES EXCLUDED: 3

   297+ /EndIf                                                                                                   091208    7002206

   298+                                                                                                          091208    7002207

   299+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    7002208

            LINES EXCLUDED: 2

   300+ /EndIf                                                                                                   091208    7002214

   301+                                                                                                          091208    7002215

   302+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    7002216

            LINES EXCLUDED: 2

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page      9

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   303+ /EndIf                                                                                                   091209    7002219

   304+                                                                                                          091209    7002220

   305+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    7002221

            LINES EXCLUDED: 4

   306+ /EndIf                                                                                                   091208    7002226

   307+ *                                                                                                        091208    7002227

   308+ *-- Data Structures                                                                                      091208    7002228

   309+                                                                                                          091208    7002229

   310+ /If Defined (cpy_WebServices_Ds)                                                                         091210    7002230

            LINES EXCLUDED: 24

   311+ /EndIf                                                                                                   100104    7002267

   312+                                                                                                          100104    7002268

   313+ *-- Outputs                                                                                              091208    7002286

   314+                                                                                                          091208    7002287

   315+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    7002503

            LINES EXCLUDED: 10

   316+ /EndIf                                                                                                   091207    7002600

   317+                                                                                                          091207    7002601

   318+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    7002700

            LINES EXCLUDED: 12

   319+ /EndIf                                                                                                   091207    7003500

   320+                                                                                                          091207    7003501

   321+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    7003502

   322+d   pPhoneByType  s               *                                                                       091211    7003503

   323+                                                                                                          091210    7003507

   324+d  PhonesOut3     ds                  likeDs(OutputDs3) based(pPhoneByType)                               091211    7003508

   325+                                                                                                          091210    7003510

   326+dOutputDs3        ds                  qualified                                                           100104    7003511

   327+d Contact                       10a                                                                       091216    7003512

   328+d CPhones                             Like(D@PhoneOut)                                                    100104    7003513

   329+d CPhones2                            Like(D@PhoneOut2)                                                   100201    7003514

   330+d ErrorId                        7a                                                                       091208    7003517

   331+d ErrorMsg                     100a                                                                       091208    7003518

   332+ /EndIf                                                                                                   091208    7003519

   333+                                                                                                          091208    7003520

   334+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    7003521

            LINES EXCLUDED: 9

   335+ /EndIf                                                                                                   091209    7003541

   336+                                                                                                          091209    7003542

   337+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    7003543

            LINES EXCLUDED: 11

   338+ /EndIf                                                                                                   091209    7003555

   339+                                                                                                          091209    7003556

   340+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    7003557

            LINES EXCLUDED: 10

   341+ /EndIf                                                                                                   091209    7003569

   342+                                                                                                          091209    7003570

   343+ *-- Procedure Interfaces                                                                                 091208    7003600

   344+                                                                                                          091208    7003601

   345+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    7003602

            LINES EXCLUDED: 2

   346+ /EndIf                                                                                                   091207    7003900

   347+                                                                                                          091207    7004000

   348+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    7004200

            LINES EXCLUDED: 2

   349+ /EndIf                                                                                                   091207    7004600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     10

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   350+                                                                                                          091208    7004700

   351+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    7004800

            LINES EXCLUDED: 3

   352+ /EndIf                                                                                                   091208    7005200

   353+                                                                                                          091208    7005202

   354+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    7005203

            LINES EXCLUDED: 2

   355+ /EndIf                                                                                                   091208    7005209

   356+                                                                                                          091208    7005210

   357+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    7005211

            LINES EXCLUDED: 2

   358+ /EndIf                                                                                                   091209    7005214

   359+                                                                                                          091209    7005215

   360+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    7005216

            LINES EXCLUDED: 4

   361+ /EndIf                                                                                                   091208    7005221

   362+                                                                                                          091208    7005300

   363  /Undefine cpy_getPhoneByType_Output                                                                0402  110225     001215

   364                                                                                                           110225     001216

   365 D   pContactId    S             10S 0 Inz(0)                               Member#                        100318     002500

   366                                                                                                           100301     002600

   367  /free                                                                                                    091208     002700

   368                                                                                                           100108     002800

   369                                                                                                           100318     003800

   370=IMEMREC                                                                                                             8000001

        *--------------------------------------------------------------------------------------------*                     8

        * RPG record format  . . . . :  MEMREC                                                       *                     8

        * External format  . . . . . :  MEMREC : FILELIB/MEMBER                                      *                     8

        * Format text  . . . . . . . :  MEMBERSHIP MASTER                                            *                     8

        *--------------------------------------------------------------------------------------------*                     8

   371=I                             S    1    7 0MEMB#                           MEMBERSHIP #                             8000002

   372=I                             A    8   27  MLNAME                          LAST NAME                                8000003

   373=I                             A   28   47  MFNAME                          FIRST NAME                               8000004

   374=I                             A   48   72  MADD1                           ADDRESS-1                                8000005

   375=I                             A   73   97  MADD2                           ADDRESS-2                                8000006

   376=I                             A   98  122  MADD3                           ADDRESS-3                                8000007

   377=I                             A  123  137  MCITY                           CITY                                     8000008

   378=I                             A  138  139  MSTATE                          STATE                                    8000009

   379=I                             A  140  148  MZIP                            ZIP                                      8000010

   380=I                             A  149  163  MCNTRY                          COUNTRY                                  8000011

   381=I                             A  164  164  MCNTCD                          COUNTRY CODE                             8000012

   382=I                             A  165  167  MCNTC2                          COUNTRY CODE-2                           8000013

   383=I                             A  168  170  MRESRT                          RESORT CODE                              8000014

   384=I                             A  171  171  MACTCD                          ACTIVITY CODE                            8000015

   385=I                             A  172  172  MBILCD                          BILLING CODE                             8000016

   386=I                             A  173  173  MTYPE                           P = PREFERRED MEMBER                     8000017

   387=I                             A  174  175  MGROUP                          MARRIOTT GROUP CODE                      8000018

   388=I                             P  176  180 0MAIVC                           AIVC NUMBER                              8000019

   389=I                             P  181  184 0MEMBDT                          MEMBERSHIP DATE                          8000020

   390=I                             P  185  188 0MEXPDT                          EXPIRATION DATE                          8000021

   391=I                             S  189  190 0MRNWMT                          RENEWAL MONTH                            8000022

   392=I                             P  191  192 0MBRMTH                          MONTHS OF MEMBERSHIP                     8000023

   393=I                             S  193  194 0MWEEK#                          NUMBER WEEKS OWNED                       8000024

   394=I                             A  195  200  MDEP#                           DEPOSIT NUMBER                           8000025

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     11

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   395=I                             P  201  206 2MAMT                            $AMOUNT PAID                             8000026

   396=I                             A  207  208  MPAYTP                          CS/MC/VS/DC/AX/DS                        8000027

   397=I                             A  209  210  MOPINT                          OPERATOR INITIALS                        8000028

   398=I                             S  211  212 0MVPD#                           VP&D PUBLICATION #                       8000029

   399=I                             A  213  213  MLANGC                          LANGUAGE CODE                            8000030

   400=I                             A  214  216  MCURCY                          COUNTRY CODE                             8000031

   401=I                             A  217  221  MBSEXT                          BUSINESS PHONE EXT                       8000032

   402=I                             A  222  223  MBSALU                          SALUTATION                               8000033

   403=I                             A  224  232  MBSS#                           SOCIAL SECURITY#                         8000034

   404=I                             A  233  234  MBTYPE                          MEMBER TYPE                              8000035

   405=I                             A  235  284  MBEMAL                          E-MAIL ADDRESS                           8000036

   406=I                             S  285  289 0MBSWSQ                          SWITCH SEQUENCE NO.                      8000037

   407=I                             S  290  295 0MBMCBK                          BANK NO.                                 8000038

   408=I                        *ISO-D  296  305  MEMDTLPD                        DATE LAST PAYMENT                        8000039

   409=I                        *ISO-D  306  315  MEMPURDT                        PURCHASE DATE                            8000040

   410=I                             S  316  319 0MEMVPDYR                        VPD SENT YEAR                            8000041

   411   #o=0;                                                                                                   110210     003801

   412   setll *loval member;                                                                                    110210     003802

   413   dou %eof(member);                                                                             B01       110210     003803

   414   #o=#o+1;                                                                                       01       110210     003804

   415     read member;                                                                                 01       110225     003806

   416     if not %eof;                                                                                B02       110225     003807

   417       MemNum=Memb#;                                                                              02 00MH  110225     003808

   418       WrkEmail = GetEmail(MemNum);                                                               02 00MH  110225     003809

   419       pPhoneByType=GetPhoneByType(Memb#:'HOME');                                                 02 0402  110225     003810

   420         pPhones3=%addr(Phonesout3.CPhones);                                                      02 0402  110225     003811

   421         pPhones4=%addr(PhonesOut3.CPhones2);                                                     02 0402  110225     003812

   422       pPhoneByType=GetPhoneByType(memb#:'BUSN');                                                 02 0402  110225     003813

   423         pPhones3=%addr(Phonesout3.CPhones);                                                      02 0402  110225     003814

   424         pPhones4=%addr(PhonesOut3.CPhones2);                                                     02 0402  110225     003815

   425     endif;                                                                                      E02       110225     006601

   426   enddo;                                                                                        E01       110210     006602

   427                                                                                                           100630     006700

   428   *inLR=*on;                                                                                              091207     006800

   429  /end-free                                                                                                091207     006900

       * * * * *   E N D   O F   S O U R C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     12

          A d d i t i o n a l   D i a g n o s t i c   M e s s a g e s

 Msg id  Sv Number Seq     Message text

*RNF7066 00      9 001000  Record-Format MEMREC not used for input or output.

 * * * * *   E N D   O F   A D D I T I O N A L   D I A G N O S T I C   M E S S A G E S   * * * * *

                            / C o p y   M e m b e r s

Line   Src  RPG name   <-------- External name -------> CCSID  <- Last change ->

Number Id              Library    File       Member            Date     Time

    15    1 CPYEMAIL   IILIB      QRPGLESRC  CPYEMAIL      37  08/25/01 15:45:46

    47    2 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

   134    3 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

   272    7 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

         * * * * *   E N D   O F   / C O P Y   M E M B E R S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     13

                    K e y   F i e l d   I n f o r m a t i o n

         File           Internal    External

           Record       field name  field name  Attributes

      1  MEMBER

           MEMREC

                        MEMB#                   ZONE      7,0 SIGNED

 * * * * *   E N D   O F   K E Y   F I E L D   I N F O R M A T I O N   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     14

                          C r o s s   R e f e r e n c e

      File and Record References:

         File              Device             References (D=Defined)

           Record

         MEMBER            DISK                    9D    412     413     415

           MEMREC                                  9D    370

      Global Field References:

         Field             Attributes         References (D=Defined M=Modified)

         *INLR             N(1)                  428M

         #O                S(9,0)                 10D    411M    414M    414

*RNF7031 D@PHONEOUT(12)    DS(69)                191D    328

                           BASED(PPHONES)

*RNF7031   MBCITY          A(6)                  199D

*RNF7031   MBCNTR          A(6)                  198D

*RNF7031   MBDATE          D(10*ISO-)            203D

*RNF7031   MBEXT#          S(5,0)                201D

*RNF7031   MBPHON          A(10)                 200D

*RNF7031   MBPHTY          A(4)                  197D

*RNF7031   MBREFC          A(3)                  196D

*RNF7031   MBTIME          T(8*HMS:)             204D

*RNF7031   MBUSER          A(10)                 202D

*RNF7031   MEMB#           S(7,0)                195D

*RNF7031 D@PHONEOUT2(12)   DS(10)                205D    329

                           BASED(PPHONES2)

*RNF7031   FLAGS           A(10)                 207D

*RNF7031 D@PHONEOUT3       DS(69)                209D

                           BASED(PPHONES3)

*RNF7031   MBCITY          A(6)                  217D

*RNF7031   MBCNTR          A(6)                  216D

*RNF7031   MBDATE          D(10*ISO-)            221D

*RNF7031   MBEXT#          S(5,0)                219D

*RNF7031   MBPHON          A(10)                 218D

*RNF7031   MBPHTY          A(4)                  215D

*RNF7031   MBREFC          A(3)                  214D

*RNF7031   MBTIME          T(8*HMS:)             222D

*RNF7031   MBUSER          A(10)                 220D

*RNF7031   MEMB#           S(7,0)                213D

*RNF7031 D@PHONEOUT4       DS(2)                 223D

                           BASED(PPHONES4)

*RNF7031   CELLTERM        A(1)                  225D

*RNF7031   DONOTCALL       A(1)                  226D

         GETEMAIL          A(105)                 36D    418

                           PROTOTYPE

         GETPHONEBYTYPE    *(16)                  72D    419     422

                           PROTOTYPE

*RNF7031 MACTCD            A(1)                  384D

*RNF7031 MADD1             A(25)                 374D

*RNF7031 MADD2             A(25)                 375D

*RNF7031 MADD3             A(25)                 376D

*RNF7031 MAIVC             P(9,0)                388D

*RNF7031 MAMT              P(11,2)               395D

*RNF7031 MBCITY            A(6)                  185D

*RNF7031 MBCNTR            A(6)                  184D

*RNF7031 MBDATE            D(10*ISO-)            189D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     15

*RNF7031 MBEMAL            A(50)                 405D

*RNF7031 MBEXT#            S(5,0)                187D

*RNF7031 MBILCD            A(1)                  385D

*RNF7031 MBMCBK            P(6,0)                407D

*RNF7031 MBMEMB#           S(7,0)                181D

*RNF7031 MBPHON            A(10)                 186D

*RNF7031 MBPHTY            A(4)                  183D

*RNF7031 MBREFC            A(3)                  182D

*RNF7031 MBRMTH            P(3,0)                392D

*RNF7031 MBSALU            A(2)                  402D

*RNF7031 MBSEXT            A(5)                  401D

*RNF7031 MBSS#             A(9)                  403D

*RNF7031 MBSWSQ            P(5,0)                406D

*RNF7031 MBTIME            T(8*HMS:)             190D

*RNF7031 MBTYPE            A(2)                  404D

*RNF7031 MBUSER            A(10)                 188D

*RNF7031 MCITY             A(15)                 377D

*RNF7031 MCNTCD            A(1)                  381D

*RNF7031 MCNTC2            A(3)                  382D

*RNF7031 MCNTRY            A(15)                 380D

*RNF7031 MCURCY            A(3)                  400D

*RNF7031 MDEP#             A(6)                  394D

         MEMB#             P(7,0)                371D    417     419     422

*RNF7031 MEMBDT            P(7,0)                389D

*RNF7031 MEMDTLPD          D(10*ISO-)            408D

         MEMNUM            S(7,0)                 11D    417M    418

*RNF7031 MEMPURDT          D(10*ISO-)            409D

*RNF7031 MEMVPDYR          P(4,0)                410D

*RNF7031 MEXPDT            P(7,0)                390D

*RNF7031 MFNAME            A(20)                 373D

*RNF7031 MGROUP            A(2)                  387D

*RNF7031 MLANGC            A(1)                  399D

*RNF7031 MLNAME            A(20)                 372D

*RNF7031 MOPINT            A(2)                  397D

*RNF7031 MPAYTP            A(2)                  396D

*RNF7031 MRESRT            A(3)                  383D

*RNF7031 MRNWMT            P(2,0)                391D

*RNF7031 MSTATE            A(2)                  378D

*RNF7031 MTYPE             A(1)                  386D

*RNF7031 MVPD#             P(2,0)                398D

*RNF7031 MWEEK#            P(2,0)                393D

*RNF7031 MZIP              A(9)                  379D

*RNF7031 OUTPUTDS3         DS(196)               324     326D

*RNF7031   CONTACT         A(10)                 327D

*RNF7031   CPHONES         A(69)                 328D

*RNF7031   CPHONES2        A(10)                 329D

*RNF7031   ERRORID         A(7)                  330D

*RNF7031   ERRORMSG        A(100)                331D

*RNF7031 PCONTACTID        S(10,0)               365D

*RNF7031 PHONEOUT          DS(69)                178D

         PHONESOUT3        DS(196)               324D    420     421     423

                           BASED(PPHONEBYT+)     424

           CPHONES         A(69)                 420     423

           CPHONES2        A(10)                 421     424

         PPHONEBYTYPE      *(16)                 322D    324     419M    422M

         PPHONES           *(16)                 173D    192

         PPHONES2          *(16)                 174D    205

         PPHONES3          *(16)                 175D    210     420M    423M

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     16

         PPHONES4          *(16)                 176D    223     421M    424M

         WRKEMAIL          A(100)                 12D    418M

      Indicator References:

         Indicator                            References (D=Defined M=Modified)

         LR                                      428M

       * * * * *   E N D   O F   C R O S S   R E F E R E N C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     17

                      E x t e r n a l   R e f e r e n c e s

      Statically bound procedures:

         Procedure                            References

         GETEMAIL                                 36     418

         GETPHONEBYTYPE                           72     419     422

      Imported fields:

         Field             Attributes         Defined

         No references in the source.

      Exported fields:

         Field             Attributes         Defined

         No references in the source.

   * * * * *   E N D   O F   E X T E R N A L   R E F E R E N C E S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     18

                          M e s s a g e   S u m m a r y

 Msg id  Sv Number Message text

*RNF7031 00     87 The name or indicator is not referenced.

*RNF7066 00      1 Record-Format name of Externally-Described file is not used.

       * * * * *   E N D   O F   M E S S A G E   S U M M A R Y   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/TSTPHONES       IIMIADEV   03/01/11 14:41:34        Page     19

                            F i n a l   S u m m a r y

  Message Totals:

    Information  (00) . . . . . . . :       88

    Warning      (10) . . . . . . . :        0

    Error        (20) . . . . . . . :        0

    Severe Error (30+)  . . . . . . :        0

    ---------------------------------  -------

    Total . . . . . . . . . . . . . :       88

  Source Totals:

    Records . . . . . . . . . . . . :      429

    Specifications  . . . . . . . . :      125

    Data records  . . . . . . . . . :        0

    Comments  . . . . . . . . . . . :       92

         * * * * *   E N D   O F   F I N A L   S U M M A R Y   * * * * *

Module TSTPHONES placed in library IIER00VW. 00 highest severity. Created on 03/01/11 at 14:41:35.

          * * * * *   E N D   O F   C O M P I L A T I O N * * * * *

Attachment: EMail_heap_error_Using_LIBHHTPB.doc
Description: EMail_heap_error_Using_LIBHHTPB.doc

ÿþ 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      1

  Command  . . . . . . . . . . . . :   CRTRPGMOD

    Issued by  . . . . . . . . . . :     JCABRERA

  Module . . . . . . . . . . . . . :   WS.EMAIL

    Library  . . . . . . . . . . . :     IIER00VW

  Text 'description' . . . . . . . :   *SRCMBRTXT

  Source Member  . . . . . . . . . :   WS.EMAIL

  Source File  . . . . . . . . . . :   QRPGMOD

    Library  . . . . . . . . . . . :     IIER00VW

    CCSID  . . . . . . . . . . . . :     37

  Text 'description' . . . . . . . :   Web Service - Email

  Last Change  . . . . . . . . . . :   10/27/10  09:21:17

  Generation severity level  . . . :   10

  Compiler options . . . . . . . . :   *XREF      *GEN       *NOSECLVL  *SHOWCPY

                                       *EXPDDS    *EXT       *NOSHOWSKP *NOSRCSTMT

                                       *DEBUGIO   *NOEVENTF

  Debugging views  . . . . . . . . :   *SOURCE

  Output . . . . . . . . . . . . . :   *PRINT

  Optimization level . . . . . . . :   *NONE

  Source listing indentation . . . :   *NONE

  Type conversion options  . . . . :   *NONE

  Sort sequence  . . . . . . . . . :   *HEX

  Language identifier  . . . . . . :   *JOBRUN

  Replace module . . . . . . . . . :   *YES

  Authority  . . . . . . . . . . . :   *LIBCRTAUT

  Truncate numeric . . . . . . . . :   *YES

  Fix numeric  . . . . . . . . . . :   *ZONED

  Target release . . . . . . . . . :   *CURRENT

  Allow null values  . . . . . . . :   *NO

  Binding directory  . . . . . . . :   *NONE

  Define condition names . . . . . :   *NONE

  Enable performance collection  . :   *PEP

  Profiling data . . . . . . . . . :   *NOCOL

  Licensed Internal Code options . :

  Generate program interface . . . :   *NO

  Include directory  . . . . . . . :

  Preprocessor options . . . . . . :   *NONE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      2

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

                          S o u r c e   L i s t i n g

     1  *-----------------------------------------------------------------------------*                          091202     000100

     2  *-                                                                            *                          091202     000200

     3  *- Program     :  Web Service for Email                                       *                          091204     000300

     4  *-                                                                            *                          091202     000400

     5  *- Procedures  :  getEmailByMem : Get Email by Member                         *                          091209     000500

     6  *-                           In : Member#                                     *                          091209     000600

     7  *-                          Out : Primary Contact's Email                     *                          091209     000700

     8  *-                                                                            *                          091202     000800

     9  *- Description :  Membership Re-Architecture Service                          *                          091204     000900

    10  *-                                                                            *                          091202     001000

    11  *-----------------------------------------------------------------------------*                          091202     001100

    12  *-                                                                            *                          091202     001200

    13  *-                  M O D I F I C A T I O N S                                 *                          091202     001300

    14  *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091202     001400

    15  *- Date       User ID    Task #     Description                               *                          091202     001500

    16  *- ----       -------    --------   -----------                               *                          091202     001600

    17  *- 2009-12-04 VGato      RA01000407 Program written                           *                          100213     001700

    18  *- 2010-02-12 VGato      RA01000407 Added Error handling calls                *                    RA01  100213     001800

    19  *- 2010-10-27 JCabrera   RA0100040E Clear SOAP2 - O rec not writing to WSFLOGS*                    040E_ 101027     001801

    20  *-                                  Moved clear SOAP2 to before EP call.      *                    040E_ 101027     001802

    21  *-                                                                            *                          091202     001900

    22  *- Before compiling:                                                          *                          091202     002000

    23  *-   * make sure LIBHTTP library is in your library list.                     *                          091202     002100

    24  *-        ADDLIBLE LIBHTTP *LAST                                              *                          091202     002200

    25  *                                                                             *                          091202     002300

    26  *- To compile:                                                                *                          091202     002400

    27  *-    CRTBNDRPG WS.EMAIL SRCFILE(QRPGMOD) DBGVIEW(*SOURCE)                    *                          091204     002500

    28  *-                                                                            *                          091202     002600

    29  *-----------------------------------------------------------------------------*                          091202     002700

    30                                                                                                           091202     002800

    31 h nomain bnddir('HTTPAPI':'QC2LE')                                                                        091202     002900

    32  *-                                                                                                       091204     003000

    33  *- File description specifications                                                                       091204     003100

    34  *-                                                                                                       091204     003200

        *--------------------------------------------------------------------*

        * Compiler Options in Effect:                                        *

        *--------------------------------------------------------------------*

        *  Text 'description' . . . . . . . :   Web Service - Email          *

        *  Generation severity level  . . . :   10                           *

        *  Compiler options . . . . . . . . :   *XREF      *GEN              *

        *                                       *NOSECLVL  *SHOWCPY          *

        *                                       *EXPDDS    *EXT              *

        *                                       *NOSHOWSKP *NOSRCSTMT        *

        *                                       *DEBUGIO   *NOEVENTF         *

        *  Optimization level . . . . . . . :   *NONE                        *

        *  Source listing indentation . . . :   *NONE                        *

        *  Type conversion options  . . . . :   *NONE                        *

        *  Sort sequence  . . . . . . . . . :   *HEX                         *

        *  Language identifier  . . . . . . :   *JOBRUN                      *

        *  Authority  . . . . . . . . . . . :   *LIBCRTAUT                   *

        *  Truncate numeric . . . . . . . . :   *YES                         *

        *  Fix numeric  . . . . . . . . . . :   *ZONED                       *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      3

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

        *  Allow null values  . . . . . . . :   *NO                          *

        *  Binding directory from Command . :   *NONE                        *

        *  Binding directory from Source  . :   HTTPAPI      QC2LE           *

        *    Library  . . . . . . . . . . . :     *LIBL        *LIBL         *

        *  Enable performance collection  . :   *PEP                         *

        *  Profiling data . . . . . . . . . :   *NOCOL                       *

        *--------------------------------------------------------------------*

    35 fmbfflcmtdtif   e           k disk    usropn                                                              091202     003300

    36                                                                                                           091207     003400

    37  /copy HTTPAPI_H                                                                                          091207     003500

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  HTTPAPI_H                                                    *                     1

        * External name  . . . . . . :  LIBHTTPB/QRPGLESRC(HTTPAPI_H)                                *                     1

        * Last change  . . . . . . . :  02/28/11  10:32:19                                           *                     1

        * Text 'description' . . . . :  HTTP-API header member                                       *                     1

        *--------------------------------------------------------------------------------------------*

    38+/*-                                                                            +                          000000    1000100

    39+ * Copyright (c) 2001-2010 Scott C. Klement                                    +                          100105    1000200

    40+ * All rights reserved.                                                        +                          000000    1000300

    41+ *                                                                             +                          000000    1000400

    42+ * Redistribution and use in source and binary forms, with or without          +                          000000    1000500

    43+ * modification, are permitted provided that the following conditions          +                          000000    1000600

    44+ * are met:                                                                    +                          000000    1000700

    45+ * 1. Redistributions of source code must retain the above copyright           +                          000000    1000800

    46+ *    notice, this list of conditions and the following disclaimer.            +                          000000    1000900

    47+ * 2. Redistributions in binary form must reproduce the above copyright        +                          000000    1001000

    48+ *    notice, this list of conditions and the following disclaimer in the      +                          000000    1001100

    49+ *    documentation and/or other materials provided with the distribution.     +                          000000    1001200

    50+ *                                                                             +                          000000    1001300

    51+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND      +                          070828    1001400

    52+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE       +                          000000    1001500

    53+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  +                          000000    1001600

    54+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE     +                          000000    1001700

    55+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  +                          000000    1001800

    56+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS     +                          000000    1001900

    57+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)       +                          000000    1002000

    58+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  +                          000000    1002100

    59+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY   +                          000000    1002200

    60+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF      +                          000000    1002300

    61+ * SUCH DAMAGE.                                                                +                          000000    1002400

    62+ *                                                                             +                          000000    1002500

    63+ */                                                                            +                          000000    1002600

    64+                                                                                                          000000    1002700

    65+ /if defined(HTTPAPI_H)                                                                                   000000    1002800

            LINES EXCLUDED: 1

    66+ /endif                                                                                                   000000    1003000

    67+                                                                                                          000000    1003100

        *--------------------------------------------------------------------------------------------*

        *                               RPG name         External name                               *

        * File name. . . . . . . . . :  MBFFLCMTDT       FILELIB/MBFFLCMTDT                          *

        * Record format(s) . . . . . :  MBRFLCMTDT       MBRFLCMTDT                                  *

        *--------------------------------------------------------------------------------------------*

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      4

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

    68+D HTTPAPI_VERSION...                                                                                      000000    1003200

    69+D                 C                   CONST('1.24beta11')                                                 100909    1003300

    70+D HTTPAPI_RELDATE...                                                                                      000000    1003400

    71+D                 C                   CONST('2010-09-09')                                                 100909    1003500

    72+                                                                                                          070628    1003600

    73+ /copy LIBHTTPB/qrpglesrc,config_h                                                                        100106    1003700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CONFIG_H                                                     *                     2

        * External name  . . . . . . :  LIBHTTPB/QRPGLESRC(CONFIG_H)                                 *                     2

        * Last change  . . . . . . . :  02/28/11  10:32:19                                           *                     2

        * Text 'description' . . . . :  HTTP-API compile-time configuration                          *                     2

        *--------------------------------------------------------------------------------------------*

    74+***  If you do not want SSL support, comment out the line below.                                          011020    2000100

    75+***   (You _must_ do this if you're running V4R4 or earlier)                                              011020    2000200

    76+                                                                                                          011020    2000300

    77+D/define HAVE_SSLAPI                                                                                      021030    2000400

    78+                                                                                                          040303    2000500

    79+***  define this if your RPG compiler supports 64-bit integers                                            040303    2000600

    80+***  (they were introduced in V4R4)                                                                       040303    2000700

    81+***                                                                                                       040303    2000800

    82+                                                                                                          040303    2000900

    83+D/define HAVE_INT64                                                                                       040303    2001000

    84+                                                                                                          040303    2001100

    85+***  define this if your RPG compiler supports                                                            040303    2001200

    86+***  options(*SRCSTMT: *NODEBUGIO: *NOSHOWCPY)                                                            040303    2001300

    87+***  (they were introduced in V4R4, but can be enabled as far                                             040303    2001400

    88+***   back as V3R2 using PTFs)                                                                            040303    2001500

    89+                                                                                                          040303    2001600

    90+D/define HAVE_SRCSTMT_NODEBUGIO                                                                           040303    2001700

    91+                                                                                                          050622    2001800

    92+***  In V4R5 it's possible to enable GSKit for SSL via                                                    050622    2001900

    93+***    PTFs. However, some functionality wasn't yet available                                             050622    2002000

    94+***    in that release. Define this if you need SSL to be limited                                         050622    2002100

    95+***    to what's available on a V4R5 system. (This is ignored                                             050622    2002200

    96+***    when SSL is disabled.)                                                                             050622    2002300

    97+                                                                                                          050622    2002400

    98+D/undefine V4R5_GSKIT                                                                                     050622    2002500

    99+                                                                                                          011020    2002600

   100+***  This is the default timeout value (in seconds) that HTTPAPI                                          011020    2002700

   101+***  uses if a timeout value isn't specified by the calling                                               011020    2002800

   102+***  program:                                                                                             011020    2002900

   103+                                                                                                          011020    2003000

   104+D HTTP_TIMEOUT    C                   CONST(60)                                                           060327    2003100

   105+                                                                                                          011020    2003200

   106+***  This is the 'User-Agent' name that is reported by this API                                           011020    2003300

   107+***  to the web servers if you don't specify it explcitly when                                            011020    2003400

   108+***  calling the routines.                                                                                011020    2003500

   109+                                                                                                          011020    2003600

   110+D HTTP_USERAGENT  C                   CONST('http-api/1.24')                                              081007    2003700

   111+                                                                                                          011020    2003800

   112+***  This is the 'Content-Type' that is reported by this API                                              011020    2003900

   113+***  to the web servers if you don't specify it explcitly when                                            011020    2004000

   114+***  calling the POST routines.   (the GET routines, by default,                                          011020    2004100

   115+***  do not specify a content-type.)                                                                      011020    2004200

   116+                                                                                                          011020    2004300

   117+D HTTP_CONTTYPE   C                   CONST('text/xml')                                                   031001    2004400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      5

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   118+                                                                                                          011020    2004500

   119+***  The original implementation of HTTPAPI used tables                                                   050623    2004600

   120+***  (*TBL objects) to translate from ASCII to EBCDIC. These can                                          050623    2004700

   121+***  be enabled/set by defining the HTTP_USE_TABLES condition,                                            050623    2004800

   122+***  and then setting the table names.  They can be overridden                                            050623    2004900

   123+***  at runtime by calling HTTP_setTables().                                                              050623    2005000

   124+***                                                                                                       050623    2005100

   125+***  In the current implementation, we prefer that you use CCSIDs                                         050623    2005200

   126+***  instead of tables. When HTTP_USE_TABLES is not defined,                                              050623    2005300

   127+***  the HTTP_EBCDIC and HTTP_ASCII constants represent the                                               050623    2005400

   128+***  default CCSIDs for ASCII<-->EBCDIC translation.  They can be                                         050623    2005500

   129+***  overridden at runtime by calling HTTP_setCCSIDs()                                                    050623    2005600

   130+***                                                                                                       050623    2005700

   131+                                                                                                          011020    2005800

   132+ /undefine HTTP_USE_TABLES                                                                                060923    2005900

   133+ /if defined(HTTP_USE_TABLES)                                                                             050623    2006000

            LINES EXCLUDED: 2

   134+ /else                                                                                                    050623    2006300

   135+D HTTP_EBCDIC     C                   CONST(0)                                                            050623    2006400

   136+D HTTP_ASCII      C                   CONST(819)                                                          060330    2006500

   137+ /endif                                                                                                   050623    2006600

   138+                                                                                                          011020    2006700

   139+***  This is the codepage or CCSID assigned to downloaded stream                                          050623    2006800

   140+***  files by default. (Note: HTTPAPI does not convert the file                                           050623    2006900

   141+***  to this CCSID, it just assigns this number to the file's                                             050623    2007000

   142+***  attributes.)                                                                                         050623    2007100

   143+***                                                                                                       050623    2007200

   144+***  Whether this is treated as a CCSID or a codepage depends on                                          050623    2007300

   145+***  the value of the HTTP USE CCSID condition, below.                                                    050623    2007400

   146+***                                                                                                       050623    2007500

   147+***  Can be overridden at runtime by calling HTTP_SetFileCCSID()                                          050623    2007600

   148+                                                                                                          011020    2007700

   149+D HTTP_CCSID      C                   CONST(819)                                                          061116    2007800

   150+                                                                                                          050623    2007900

   151+***  Starting in V5R1, a full CCSID is available in the IFS                                               050623    2008000

   152+***  instead of a codepage. When this is defined, CCSID support                                           050623    2008100

   153+***  will be used instead of codepages                                                                    050623    2008200

   154+                                                                                                          050623    2008300

   155+D/define HTTP_USE_CCSID                                                                                   050623    2008400

   156+                                                                                                          011020    2008500

   157+***  This is the file mode used when creating files in the IFS.                                           011020    2008600

   158+***  (Caution: This mode is given in DECIMAL, not octal!)                                                 011020    2008700

   159+***  Octal 666 = Decimal 438  (RW-RW-RW-)                                                                 011020    2008800

   160+***  Octal 644 = Decimal 420  (RW-R--R--)                                                                 011020    2008900

   161+***  Octal 777 = Decimal 511  (RWXRWXRWX)                                                                 011020    2009000

   162+***  Octal 755 = Decimal 493  (RWXR-XR-X)                                                                 011020    2009100

   163+                                                                                                          011020    2009200

   164+D HTTP_IFSMODE    C                   CONST(511)                                                          011020    2009300

   165+                                                                                                          030327    2009400

   166+***  HTTPAPI normally uses non-blocking sockets to ensure that                                            050630    2009500

   167+***  the session never "hangs".  However, during the connection                                           050630    2009600

   168+***  progress, this can mean that information gets lost.                                                  050630    2009700

   169+***                                                                                                       050630    2009800

   170+***  Define this to wait until after the connection is established                                        050630    2009900

   171+***  before switching the socket to non-blocking.                                                         050630    2010000

   172+D/define HTTP_BLOCK_ON_CONNECT                                                                            050630    2010100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      6

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   173+                                                                                                          060221    2010200

   174+***                                                                                                       060221    2010300

   175+*** This determines whether Cookies are turned *ON or *OFF                                                060221    2010400

   176+*** by default.                                                                                           060507    2010500

   177+***                                                                                                       060221    2010600

   178+DHTTP_COOKIE_DEFAULT...                                                                                   060221    2010700

   179+D                 C                   CONST(*ON)                                                          060507    2010800

   180+                                                                                                          050630    2010900

   181+***  This changes whether debugging is on or off by default.                                              041103    2011000

   182+***  You can override this at runtime by calling the http_debug()                                         041103    2011100

   183+***  procedure.                                                                                           041103    2011200

   184+D/undefine DEBUG                                                                                          060323    2011300

   185+DHTTP_DEBUG_FILE  s            500A   varying                                                             041103    2011400

   186+D                                     inz('/tmp/httpapi_debug.txt')                                       041103    2011500

   187+                                                                                                          070125    2011600

   188+***  This changes how memory is allocated.  If defined, HTTPAPI                                           070125    2011700

   189+***  will allocate memory in TERASPACE, thus allowing for very                                            070125    2011800

   190+***  large allocations.                                                                                   070828    2011900

   191+D/undefine USE_TS_MALLOC64                                                                                070828    2012000

   192+D/undefine USE_TS_MALLOC64                                                                                070828    2012100

   193+***  With both turned off (default) up to 16 MB per allocation.                                           070828    2012200

   194+***  WARNING: This is currently experimental!!  If you have                                               070828    2012300

   195+***           problems, make sure TERASPACE is undefined.                                                 070828    2012400

   196+D/undefine TERASPACE                                                                                      070426    2012500

   197+D/undefine USE_TS_MALLOC64                                                                                070828    2012600

   198+                                                                                                          071218    2012700

   199+***  This allows access to V5R3 (or higher) functions in the                                              071218    2012800

   200+***  SSL environment.  Only define this if HTTPAPI will be used                                           071218    2012900

   201+***  on V5R3 or later.                                                                                    071218    2013000

   202+D/define V5R3_GSKIT                                                                                       071218    2013100

   203+                                                                                                          000000    1003800

   204+ *********************************************************************                                    000000    1003900

   205+ **  procedure prototypes                                                                                 000000    1004000

   206+ *********************************************************************                                    000000    1004100

   207+                                                                                                          000000    1004200

   208+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1004300

   209+ *  http_get(): Retrieve an HTTP document                                                                 000000    1004400

   210+ *  http_url_get(): Retrieve an HTTP document                                                             000000    1004500

   211+ *                                                                                                        000000    1004600

   212+ *       peURL = url to grab  (i.e. http://www.blah.com/dir/file.txt)                                     000000    1004700

   213+ *  peFilename = filename in IFS to save response into                                                    000000    1004800

   214+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1004900

   215+ *          this many seconds.                                                                            000000    1005000

   216+ *  peModTime  = (optional) only get file if it was changed since                                         000000    1005100

   217+ *          this timestamp.                                                                               000000    1005200

   218+ *  peContentType = (optional) content type to supply (mainly                                             000000    1005300

   219+ *          useful when talking to CGI scripts.) To supply the                                            000000    1005400

   220+ *          default value for this parm, you can supply the                                               000000    1005500

   221+ *          HTTP_CONTTYPE constant.                                                                       000000    1005600

   222+ *  peUserAgent = (optional) This specifies the name & version                                            000000    1005700

   223+ *          of your HTTP client to the server.  The server uses                                           000000    1005800

   224+ *          it for statistics and sometimes to restrict pages                                             000000    1005900

   225+ *          so that they're "only for Internet Explorer."                                                 000000    1006000

   226+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1006100

   227+ *          taken by some SOAP applications.                                                              000000    1006200

   228+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1006300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      7

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   229+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1006400

   230+ *             you don't want a SoapAction header to be sent.                                             080903    1006500

   231+ *                                                                                                        000000    1006600

   232+ *  Returns  -1 = internal error (check HTTP_ERROR)                                                       000000    1006700

   233+ *            0 = timeout while receiving data or connecting                                              000000    1006800

   234+ *            1 = file retrieved successfully                                                             000000    1006900

   235+ *          > 1 = HTTP response code indicating server's error reply                                      000000    1007000

   236+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1007100

   237+D http_get        PR            10I 0 extproc('HTTP_URL_GET')                                             000000    1007200

   238+D  peURL                     32767A   varying const options(*varsize)                                     000000    1007300

   239+D  peFilename                32767A   varying const options(*varsize)                                     000000    1007400

   240+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1007500

   241+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1007600

            LINES EXCLUDED: 4

   242+ /else                                                                                                    090730    1008100

   243+D  peUserAgent               16384A   varying const                                                       091030    1008200

   244+D                                     options(*nopass:*omit)                                              091030    1008300

   245+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1008400

   246+D  peContentType             16384A   varying const                                                       091030    1008500

   247+D                                     options(*nopass:*omit)                                              091030    1008600

   248+D  peSOAPAction              16384A   varying const                                                       090730    1008700

   249+D                                     options(*nopass:*omit)                                              090730    1008800

   250+ /endif                                                                                                   090730    1008900

   251+D http_url_get    PR            10I 0                                                                     000000    1009000

   252+D  peURL                     32767A   varying const options(*varsize)                                     000000    1009100

   253+D  peFilename                32767A   varying const options(*varsize)                                     000000    1009200

   254+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1009300

   255+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1009400

            LINES EXCLUDED: 4

   256+ /else                                                                                                    090730    1009900

   257+D  peUserAgent               16384A   varying const                                                       091030    1010000

   258+D                                     options(*nopass:*omit)                                              091030    1010100

   259+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1010200

   260+D  peContentType             16384A   varying const                                                       091030    1010300

   261+D                                     options(*nopass:*omit)                                              091030    1010400

   262+D  peSOAPAction              16384A   varying const                                                       090730    1010500

   263+D                                     options(*nopass:*omit)                                              090730    1010600

   264+ /endif                                                                                                   090730    1010700

   265+                                                                                                          000000    1010800

   266+                                                                                                          000000    1010900

   267+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1011000

   268+ *  http_url_post(): Post data to CGI script and get document                                             000000    1011100

   269+ *                                                                                                        000000    1011200

   270+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1011300

   271+ *    pePostData = pointer to data to post to CGI script.                                                 000000    1011400

   272+ * pePostDataLen = length of data to post to CGI script.                                                  000000    1011500

   273+ *   peFileName  = Filename in IFS to save response into                                                  000000    1011600

   274+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1011700

   275+ *            this many seconds.                                                                          000000    1011800

   276+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1011900

   277+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1012000

   278+ *            if you want to get the default value.                                                       000000    1012100

   279+ * peContentType = (optional) content type to supply (mainly                                              000000    1012200

   280+ *            useful when talking to CGI scripts)                                                         000000    1012300

   281+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1012400

   282+ *          taken by some SOAP applications.                                                              080903    1012500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      8

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   283+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1012600

   284+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1012700

   285+ *             you don't want a SoapAction header to be sent.                                             080903    1012800

   286+ *                                                                                                        000000    1012900

   287+ *  Returns  -1 = internal error (check HTTP_ERROR)                                                       000000    1013000

   288+ *            0 = timeout while receiving data or connecting                                              000000    1013100

   289+ *            1 = file retrieved successfully                                                             000000    1013200

   290+ *          > 1 = HTTP response code indicating server's error reply                                      000000    1013300

   291+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1013400

   292+D http_post       PR            10I 0 EXTPROC('HTTP_URL_POST')                                            000000    1013500

   293+D  peURL                     32767A   varying const options(*varsize)                                     000000    1013600

   294+D  pePostData                     *   value                                                               000000    1013700

   295+D  pePostDataLen                10I 0 value                                                               000000    1013800

   296+D  peFilename                32767A   varying const options(*varsize)                                     000000    1013900

   297+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1014000

   298+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1014100

            LINES EXCLUDED: 3

   299+ /else                                                                                                    090730    1014500

   300+D  peUserAgent               16384A   varying const                                                       091030    1014600

   301+D                                     options(*nopass:*omit)                                              091030    1014700

   302+D  peContentType             16384A   varying const                                                       091030    1014800

   303+D                                     options(*nopass:*omit)                                              091030    1014900

   304+D  peSOAPAction              16384A   varying const                                                       090730    1015000

   305+D                                     options(*nopass:*omit)                                              090730    1015100

   306+ /endif                                                                                                   090730    1015200

   307+D http_url_post   PR            10I 0                                                                     000000    1015300

   308+D  peURL                     32767A   varying const options(*varsize)                                     000000    1015400

   309+D  pePostData                     *   value                                                               000000    1015500

   310+D  pePostDataLen                10I 0 value                                                               000000    1015600

   311+D  peFilename                32767A   varying const options(*varsize)                                     000000    1015700

   312+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1015800

   313+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1015900

            LINES EXCLUDED: 3

   314+ /else                                                                                                    090730    1016300

   315+D  peUserAgent               16384A   varying const                                                       091030    1016400

   316+D                                     options(*nopass:*omit)                                              091030    1016500

   317+D  peContentType             16384A   varying const                                                       091030    1016600

   318+D                                     options(*nopass:*omit)                                              091030    1016700

   319+D  peSOAPAction              16384A   varying const                                                       090730    1016800

   320+D                                     options(*nopass:*omit)                                              090730    1016900

   321+ /endif                                                                                                   090730    1017000

   322+                                                                                                          000000    1017100

   323+                                                                                                          000000    1017200

   324+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1017300

   325+ *  http_url_get_raw(): Retrieve an HTTP document (in raw mode)                                           000000    1017400

   326+ *                                                                                                        000000    1017500

   327+ *       peURL = url to grab  (i.e. http://www.blah.com/dir/file.txt)                                     000000    1017600

   328+ *       peFD  = FD to pass back to peProc                                                                000000    1017700

   329+ *     peProc  = procedure to call each time data is received.                                            000000    1017800

   330+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1017900

   331+ *          this many seconds.                                                                            000000    1018000

   332+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1018100

   333+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1018200

   334+ *            if you want to get the default value.                                                       000000    1018300

   335+ *  peModTime  = (optiona) only get file if it was changed since                                          000000    1018400

   336+ *          this timestamp.                                                                               000000    1018500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page      9

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   337+ *  peContentType = (optional) content type to supply (mainly                                             000000    1018600

   338+ *          useful when talking to CGI scripts)                                                           000000    1018700

   339+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1018800

   340+ *          taken by some SOAP applications.                                                              080903    1018900

   341+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1019000

   342+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1019100

   343+ *             you don't want a SoapAction header to be sent.                                             080903    1019200

   344+ *                                                                                                        000000    1019300

   345+ *  Returns  (same as http_url_get)                                                                       000000    1019400

   346+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1019500

   347+D http_url_get_raw...                                                                                     000000    1019600

   348+D                 PR            10I 0                                                                     000000    1019700

   349+D  peURL                     32767A   varying const options(*varsize)                                     000000    1019800

   350+D  peFD                         10I 0 value                                                               000000    1019900

   351+D  peProc                         *   value procptr                                                       000000    1020000

   352+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1020100

   353+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1020200

            LINES EXCLUDED: 4

   354+ /else                                                                                                    090730    1020700

   355+D  peUserAgent               16384A   varying const                                                       091030    1020800

   356+D                                     options(*nopass:*omit)                                              091030    1020900

   357+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1021000

   358+D  peContentType             16384A   varying const                                                       091030    1021100

   359+D                                     options(*nopass:*omit)                                              091030    1021200

   360+D  peSOAPAction              16384A   varying const                                                       090730    1021300

   361+D                                     options(*nopass:*omit)                                              090730    1021400

   362+ /endif                                                                                                   090730    1021500

   363+                                                                                                          000000    1021600

   364+                                                                                                          000000    1021700

   365+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1021800

   366+ *  http_url_post_raw(): Post data to CGI script and get document                                         000000    1021900

   367+ *                                                                                                        000000    1022000

   368+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1022100

   369+ *    pePostData = pointer to data to post to CGI script.                                                 000000    1022200

   370+ * pePostDataLen = length of data to post to CGI script.                                                  000000    1022300

   371+ *         peFD  = FD to pass back to peProc                                                              000000    1022400

   372+ *       peProc  = procedure to call each time data is received.                                          000000    1022500

   373+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1022600

   374+ *            this many seconds.                                                                          000000    1022700

   375+ *  peUserAgent  = (optional) User-Agent string passed to the                                             000000    1022800

   376+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1022900

   377+ *            if you want to get the default value.                                                       000000    1023000

   378+ * peContentType = (optional) content type to supply (mainly                                              000000    1023100

   379+ *            useful when talking to CGI scripts)                                                         000000    1023200

   380+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1023300

   381+ *          taken by some SOAP applications.                                                              080903    1023400

   382+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1023500

   383+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1023600

   384+ *             you don't want a SoapAction header to be sent.                                             080903    1023700

   385+ *                                                                                                        000000    1023800

   386+ *  Returns  (same as http_url_post)                                                                      000000    1023900

   387+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1024000

   388+D http_url_post_raw...                                                                                    000000    1024100

   389+D                 PR            10I 0                                                                     000000    1024200

   390+D  peURL                     32767A   varying const options(*varsize)                                     000000    1024300

   391+D  pePostData                     *   value                                                               000000    1024400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     10

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   392+D  pePostDataLen                10I 0 value                                                               000000    1024500

   393+D  peFD                         10I 0 value                                                               000000    1024600

   394+D  peProc                         *   value procptr                                                       000000    1024700

   395+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1024800

   396+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1024900

            LINES EXCLUDED: 3

   397+ /else                                                                                                    090730    1025300

   398+D  peUserAgent               16384A   varying const                                                       091030    1025400

   399+D                                     options(*nopass:*omit)                                              091030    1025500

   400+D  peContentType             16384A   varying const                                                       091030    1025600

   401+D                                     options(*nopass:*omit)                                              091030    1025700

   402+D  peSOAPAction              16384A   varying const                                                       090730    1025800

   403+D                                     options(*nopass:*omit)                                              090730    1025900

   404+ /endif                                                                                                   090730    1026000

   405+                                                                                                          000000    1026100

   406+                                                                                                          000000    1026200

   407+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1026300

   408+ *  http_ParseURL(): Parse URL into it's component parts                                                  000000    1026400

   409+ *                                                                                                        000000    1026500

   410+ *  Breaks a uniform resource locator (URL) into it's component                                           000000    1026600

   411+ *  pieces for use with the http: or https: protocols.  (would also                                       000000    1026700

   412+ *  work for FTP with minor tweaks)                                                                       000000    1026800

   413+ *                                                                                                        000000    1026900

   414+ *  peURL = URL that needs to be parsed.                                                                  000000    1027000

   415+ *  peService = service name from URL (i.e. http or https)                                                000000    1027100

   416+ *  peUserName = user name given, or *blanks                                                              000000    1027200

   417+ *  pePassword = password given, or *blanks                                                               000000    1027300

   418+ *  peHost = hostname given in URL. (could be domain name or IP)                                          000000    1027400

   419+ *  pePort = port number to connect to, if specified, otherwise 0.                                        000000    1027500

   420+ *  pePath = remaining path/request for server.                                                           000000    1027600

   421+ *                                                                                                        000000    1027700

   422+ *  returns -1 upon failure, or 0 upon success                                                            000000    1027800

   423+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1027900

   424+D http_ParseURL   PR            10I 0                                                                     000000    1028000

   425+D  peURL                       256A   const                                                               000000    1028100

   426+D  peService                    32A                                                                       000000    1028200

   427+D  peUserName                   32A                                                                       000000    1028300

   428+D  pePassword                   32A                                                                       000000    1028400

   429+D  peHost                      256A                                                                       000000    1028500

   430+D  pePort                       10I 0                                                                     000000    1028600

   431+D  pePath                      256A                                                                       000000    1028700

   432+                                                                                                          000000    1028800

   433+                                                                                                          000000    1028900

   434+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1029000

   435+ *  http_build_sockaddr():  Build a socket address structure for a host                                   000000    1029100

   436+ *                                                                                                        000000    1029200

   437+ *        peHost = hostname to build sockaddr_in for                                                      000000    1029300

   438+ *     peService = service name (or port) to build sockaddr_in for                                        000000    1029400

   439+ *   peForcePort = numeric port to force entry to, overrides peService                                    000000    1029500

   440+ *    peSockAddr = pointer to a location to place a sockaddr_in into.                                     000000    1029600

   441+ *             (if *NULL, memory will be allocated, otherwise it will                                     000000    1029700

   442+ *                be re-alloc'ed)                                                                         000000    1029800

   443+ *                                                                                                        000000    1029900

   444+ *   returns -1 upon failure, 0 upon success                                                              000000    1030000

   445+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1030100

   446+D http_build_sockaddr...                                                                                  000000    1030200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     11

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   447+D                 PR            10I 0                                                                     000000    1030300

   448+D   peHost                     256A   const                                                               000000    1030400

   449+D   peService                   32A   const                                                               000000    1030500

   450+D   peForcePort                 10I 0 value                                                               000000    1030600

   451+D   peSockAddr                    *                                                                       000000    1030700

   452+                                                                                                          000000    1030800

   453+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1030900

   454+ *  http_close(): close HTTP connection                                                                   000000    1031000

   455+ *                                                                                                        000000    1031100

   456+ *         peSock = socket to close                                                                       000000    1031200

   457+ *         peComm = comm driver opened with http_select_commdriver()                                      000000    1031300

   458+ *                                                                                                        000000    1031400

   459+ *  returns -1 upon failure, or 0 upon success                                                            000000    1031500

   460+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1031600

   461+D http_close      PR            10I 0                                                                     000000    1031700

   462+D  peSock                       10I 0 value                                                               000000    1031800

   463+D  peComm                         *   value                                                               000000    1031900

   464+                                                                                                          000000    1032000

   465+                                                                                                          000000    1032100

   466+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1032200

   467+ *  http_error():   Return the last error that occurred.                                                  000000    1032300

   468+ *                                                                                                        000000    1032400

   469+ *     peErrorNo = (optional) error number that occurred.                                                 000000    1032500

   470+ *                                                                                                        000000    1032600

   471+ *  Returns the human-readable error message.                                                             000000    1032700

   472+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1032800

   473+D http_error      PR            80A                                                                       000000    1032900

   474+D   peErrorNo                   10I 0 options(*nopass:*omit)                                              000000    1033000

   475+                                                                                                          000000    1033100

   476+ /if defined(HAVE_SSLAPI)                                                                                 000000    1033200

   477+                                                                                                          000000    1033300

   478+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1033400

   479+ * https_init():  Initialize https (HTTP over SSL/TLS) protocol                                           000000    1033500

   480+ *                                                                                                        000000    1033600

   481+ *     peAppID = This parameter controls how HTTPAPI associates                                           090218    1033700

   482+ *               itself with the Digital Certificate Manager.                                             090218    1033800

   483+ *               a) If you pass *BLANKS, HTTPAPI will use the                                             090218    1033900

   484+ *                   default settings for the *SYSTEM cert store                                          090218    1034000

   485+ *                   (This option most closely resembles what a                                           090218    1034100

   486+ *                    browser would do -- and is the default.)                                            090218    1034200

   487+ *               b) If you pass a string containing the / character                                       090218    1034300

   488+ *                   HTTPAPI will consider this an IFS pathname to                                        090218    1034400

   489+ *                   a keyring file. (Only use this if you know                                           090218    1034500

   490+ *                   what you're doing.)                                                                  090218    1034600

   491+ *               c) In any other case, HTTPAPI will consider it an                                        090218    1034700

   492+ *                   application ID, and will use that application                                        090218    1034800

   493+ *                   profile from the "Manage Applications" section                                       090218    1034900

   494+ *                   of the Digital Certificate Manager. (Recommended                                     090218    1035000

   495+ *                   for high-security situations.)                                                       090218    1035100

   496+ *                                                                                                        090218    1035200

   497+ *     peSSLv2 = (optional) Turn SSL version 2 *ON or *OFF                                                000000    1035300

   498+ *     peSSLv3 = (optional) Turn SSL version 3 *ON or *OFF                                                000000    1035400

   499+ *     peTLSv1 = (optional) Turn TLS version 1 *ON or *OFF                                                000000    1035500

   500+ *                                                                                                        000000    1035600

   501+ *   You must pass all of the SSL/TLS flags or none.  If you                                              000000    1035700

   502+ *   do not pass all three flags, they are ignored.                                                       000000    1035800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     12

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   503+ *                                                                                                        000000    1035900

   504+ * Returns -1 upon failure.                                                                               090218    1036000

   505+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1036100

   506+D https_init      PR            10I 0                                                                     000000    1036200

   507+D  peAppID                     100A   const                                                               000000    1036300

   508+D  peSSLv2                       1N   const options(*nopass)                                              000000    1036400

   509+D  peSSLv3                       1N   const options(*nopass)                                              000000    1036500

   510+D  peTLSv1                       1N   const options(*nopass)                                              000000    1036600

   511+                                                                                                          000000    1036700

   512+                                                                                                          000000    1036800

   513+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1036900

   514+ *  Register your application with the Digital Certificate Manager                                        000000    1037000

   515+ *                                                                                                        000000    1037100

   516+ *    peAppID = application ID.  IBM recommends that you do                                               000000    1037200

   517+ *         something like:  COMPANY_COMPONENT_NAME                                                        000000    1037300

   518+ *         (example:  QIBM_DIRSRV_REPLICATION)                                                            000000    1037400

   519+ *                                                                                                        000000    1037500

   520+ *  peLimitCA = set to *On if you want to only want to allow the                                          000000    1037600

   521+ *         certificate authorities registered in D.C.M., or set to                                        000000    1037700

   522+ *         *Off if you'll manage that yourself.                                                           000000    1037800

   523+ *                                                                                                        000000    1037900

   524+ *   returns 0 for success, or -1 upon failure                                                            000000    1038000

   525+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1038100

   526+D https_dcm_reg   PR            10I 0                                                                     000000    1038200

   527+D  peAppID                     100A   const                                                               000000    1038300

   528+D  peLimitCA                     1N   const                                                               000000    1038400

   529+                                                                                                          000000    1038500

   530+                                                                                                          000000    1038600

   531+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1038700

   532+ * https_cleanup():  Clean up & free storage used by the SSL                                              000000    1038800

   533+ *   environment.                                                                                         000000    1038900

   534+ *                                                                                                        000000    1039000

   535+ *  returns 0 if successful, -1 upon failure                                                              000000    1039100

   536+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1039200

   537+D https_cleanup   PR            10I 0                                                                     000000    1039300

   538+                                                                                                          071218    1039400

   539+                                                                                                          071218    1039500

   540+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1039600

   541+ * https_idname(): Returns a string that describes an SSL certificate                                     071218    1039700

   542+ *                  data element id (for printing/debugging)                                              071218    1039800

   543+ *                                                                                                        071218    1039900

   544+ *       peID = (input) data ID to get name of                                                            071218    1040000

   545+ *                                                                                                        071218    1040100

   546+ * Returns the human-readable name                                                                        071218    1040200

   547+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1040300

   548+D https_idname    PR            50A   varying                                                             071218    1040400

   549+D   peID                        10I 0 value                                                               071218    1040500

   550+                                                                                                          071218    1040600

   551+                                                                                                          071218    1040700

   552+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1040800

   553+ * https_strict(): Force SSL to be strictly validated                                                     071218    1040900

   554+ *                                                                                                        071218    1041000

   555+ *      peSetting = (input) *ON  = use full validation                                                    071218    1041100

   556+ *                          *OFF = use passthru validation                                                071218    1041200

   557+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1041300

   558+D https_strict    PR                                                                                      071218    1041400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     13

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   559+D   peSetting                    1n   const                                                               071218    1041500

   560+                                                                                                          000000    1041600

   561+ /endif                                                                                                   000000    1041700

   562+                                                                                                          000000    1041800

   563+                                                                                                          000000    1041900

   564+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1042000

   565+ *  http_getauth():   Get HTTP Authentication Information                                                 000000    1042100

   566+ *                                                                                                        000000    1042200

   567+ *   Call this proc after you receive a HTTP_NDAUTH error                                                 000000    1042300

   568+ *   to determine the authentication credentials that are required                                        000000    1042400

   569+ *                                                                                                        000000    1042500

   570+ *  The following parms are returned to your program:                                                     000000    1042600

   571+ *                                                                                                        000000    1042700

   572+ *     peBasic = *ON if BASIC auth is allowed                                                             000000    1042800

   573+ *    peDigest = *ON if MD5 DIGEST auth is allowed                                                        000000    1042900

   574+ *     peRealm = Auth realm.  Present this to the user to identify                                        000000    1043000

   575+ *               which password you're looking for.  For example                                          000000    1043100

   576+ *               if peRealm is "secureserver.com" you might say                                           000000    1043200

   577+ *               "enter password for secureserver.com" to user.                                           000000    1043300

   578+ *                                                                                                        000000    1043400

   579+ *   After getting the userid & password from the user (or database)                                      000000    1043500

   580+ *   you'll need to call http_setauth()                                                                   000000    1043600

   581+ *                                                                                                        000000    1043700

   582+ *  Returns -1 upon error, or 0 if successful                                                             000000    1043800

   583+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1043900

   584+D http_getauth    PR            10I 0                                                                     000000    1044000

   585+D   peBasic                      1N                                                                       000000    1044100

   586+D   peDigest                     1N                                                                       000000    1044200

   587+D   peRealm                    124A                                                                       000000    1044300

   588+                                                                                                          000000    1044400

   589+                                                                                                          000000    1044500

   590+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1044600

   591+ *  http_setauth():   Set HTTP Authentication Information                                                 000000    1044700

   592+ *                                                                                                        000000    1044800

   593+ *     peAuthType = Authentication Type (HTTP_AUTH_BASIC or                                               000000    1044900

   594+ *                     HTTP_AUTH_MD5_DIGEST)                                                              000000    1045000

   595+ *     peUsername = UserName to use                                                                       000000    1045100

   596+ *     pePasswd   = Password to use                                                                       000000    1045200

   597+ *                                                                                                        000000    1045300

   598+ *  Returns -1 upon error, or 0 if successful                                                             000000    1045400

   599+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1045500

   600+D http_setauth    PR            10I 0                                                                     000000    1045600

   601+D   peAuthType                   1A   const                                                               000000    1045700

   602+D   peUsername                  80A   const                                                               000000    1045800

   603+D   pePasswd                  1024A   const                                                               000000    1045900

   604+                                                                                                          000000    1046000

   605+                                                                                                          000000    1046100

   606+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1046200

   607+ *  http_setproxy():   Set HTTP Proxy Address                                                             000000    1046300

   608+ *                                                                                                        000000    1046400

   609+ *     peHost = Proxy host name                                                                           000000    1046500

   610+ *     psPort = Proxy port                                                                                000000    1046600

   611+ *                                                                                                        000000    1046700

   612+ *  Returns -1 upon error, or 0 if successful                                                             000000    1046800

   613+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1046900

   614+D http_setproxy   PR            10I 0                                                                     000000    1047000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     14

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   615+D   peHost                     256A   const                                                               000000    1047100

   616+D   pePort                      10I 0 const                                                               000000    1047200

   617+                                                                                                          000000    1047300

   618+                                                                                                          000000    1047400

   619+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1047500

   620+ *  http_proxy_setauth():   Set HTTP Proxy Authentication Information                                     000000    1047600

   621+ *                                                                                                        000000    1047700

   622+ *     peAuthType = Authentication Type (HTTP_AUTH_NONE or                                                000000    1047800

   623+ *                     HTTP_AUTH_BASIC)                                                                   000000    1047900

   624+ *     peUsername = UserName to use                                                                       000000    1048000

   625+ *     pePasswd   = Password to use                                                                       000000    1048100

   626+ *                                                                                                        000000    1048200

   627+ *  Returns -1 upon error, or 0 if successful                                                             000000    1048300

   628+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1048400

   629+D http_proxy_setauth...                                                                                   000000    1048500

   630+D                 PR            10I 0                                                                     000000    1048600

   631+D   peAuthType                   1A   const                                                               000000    1048700

   632+D   peUsername                  80A   const                                                               000000    1048800

   633+D   pePasswd                  1024A   const                                                               000000    1048900

   634+                                                                                                          000000    1049000

   635+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1049100

   636+ *  http_proxy_getauth():   Get HTTP Proxy Authentication Information                                     000000    1049200

   637+ *                                                                                                        000000    1049300

   638+ *   Call this proc after you receive a HTTP_PXNDAUTH error                                               000000    1049400

   639+ *   to determine the authentication credentials that are required                                        000000    1049500

   640+ *                                                                                                        000000    1049600

   641+ *  The following parms are returned to your program:                                                     000000    1049700

   642+ *                                                                                                        000000    1049800

   643+ *     peBasic = *ON if BASIC auth is allowed                                                             000000    1049900

   644+ *     peRealm = Auth realm.  Present this to the user to identify                                        000000    1050000

   645+ *               which password you're looking for.  For example                                          000000    1050100

   646+ *               if peRealm is "secureproxy.com" you might say                                            000000    1050200

   647+ *               "enter password for secureproxy.com" to user.                                            000000    1050300

   648+ *                                                                                                        000000    1050400

   649+ *   After getting the userid & password from the user (or database)                                      000000    1050500

   650+ *   you'll need to call http_proxy_setauth()                                                             000000    1050600

   651+ *                                                                                                        000000    1050700

   652+ *  Returns -1 upon error, or 0 if successful                                                             000000    1050800

   653+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1050900

   654+D http_proxy_getauth...                                                                                   000000    1051000

   655+D                 PR            10I 0                                                                     000000    1051100

   656+D   peBasic                      1N                                                                       000000    1051200

   657+D   peRealm                    124A                                                                       000000    1051300

   658+                                                                                                          000000    1051400

   659+                                                                                                          000000    1051500

   660+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1051600

   661+ *  http_xproc():  Register a procedure to be called back at                                              000000    1051700

   662+ *                 a given exit point                                                                     000000    1051800

   663+ *                                                                                                        000000    1051900

   664+ *     peExitPoint = exit point.  Should be one of the constants                                          000000    1052000

   665+ *                HTTP_POINT_XXX defined in the HTTPAPI_H member                                          000000    1052100

   666+ *          peProc = address of procedure to call for this                                                000000    1052200

   667+ *                exit point. (pass *NULL to disable this point)                                          000000    1052300

   668+ *      peUserData = Pointer to user data. This will be passed                                            000000    1052400

   669+ *                to your call-back procedure. You can set it to                                          000000    1052500

   670+ *                *NULL if you don't need/want it.                                                        000000    1052600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     15

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   671+ *                                                                                                        000000    1052700

   672+ *  Returns -1 upon error, or 0 if successful                                                             000000    1052800

   673+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1052900

   674+D http_xproc      PR            10I 0                                                                     000000    1053000

   675+D  peExitPoint                  10I 0 value                                                               000000    1053100

   676+D  peProc                         *   procptr value                                                       000000    1053200

   677+D  peUserData                     *   value options(*nopass)                                              000000    1053300

   678+                                                                                                          000000    1053400

   679+                                                                                                          000000    1053500

   680+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1053600

   681+ * http_redir_loc(): Retrieve location provided by a redirect                                             000000    1053700

   682+ *   request.                                                                                             000000    1053800

   683+ *                                                                                                        000000    1053900

   684+ *  returns redirect location, or '' if no redirect was given                                             000000    1054000

   685+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1054100

   686+D http_redir_loc  PR          1024A   varying                                                             000000    1054200

   687+                                                                                                          000000    1054300

   688+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1054400

   689+ * http_url_encoder_new():  Create a URL encoder.                                                         000000    1054500

   690+ *                                                                                                        000000    1054600

   691+ *   returns an (opaque) pointer to the new encoder                                                       000000    1054700

   692+ *           or *NULL upon error.                                                                         000000    1054800

   693+ *                                                                                                        000000    1054900

   694+ * WARNING: To free the memory used by this routine, you MUST                                             000000    1055000

   695+ *          call http_url_encoder_free() after the data is sent.                                          000000    1055100

   696+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1055200

   697+D HTTP_URL_ENCODER...                                                                                     000000    1055300

   698+D                 s               *                                                                       000000    1055400

   699+D http_url_encoder_new...                                                                                 000000    1055500

   700+D                 PR                  like(HTTP_URL_ENCODER)                                              000000    1055600

   701+ /if defined(WEBFORMS)                                                                                    070823    1055700

            LINES EXCLUDED: 3

   702+ /endif                                                                                                   070823    1056100

   703+                                                                                                          000000    1056200

   704+                                                                                                          000000    1056300

   705+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1056400

   706+ * http_url_encoder_addvar():  Add a variable to what's stored                                            000000    1056500

   707+ *          a URL encoder.                                                                                000000    1056600

   708+ *                                                                                                        000000    1056700

   709+ *    peEncoder = pointer to encoder created by the                                                       000000    1056800

   710+ *                  http_url_encoder_new() routine                                                        000000    1056900

   711+ *   peVariable = variable name to add                                                                    000000    1057000

   712+ *       peData = pointer to data to store in variable                                                    000000    1057100

   713+ *   peDataSize = size of data to store in variable                                                       000000    1057200

   714+ *                                                                                                        000000    1057300

   715+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1057400

   716+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1057500

   717+D http_url_encoder_addvar...                                                                              000000    1057600

   718+D                 PR             1N                                                                       000000    1057700

   719+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1057800

   720+D    peVariable                 50A   varying value                                                       000000    1057900

   721+D    peData                       *   value                                                               000000    1058000

   722+D    peDataSize                 10I 0 value                                                               000000    1058100

   723+ /if defined(WEBFORMS)                                                                                    070823    1058200

            LINES EXCLUDED: 6

   724+ /endif                                                                                                   070823    1058900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     16

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   725+                                                                                                          000000    1059000

   726+                                                                                                          000000    1059100

   727+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1059200

   728+ * http_url_encoder_getptr(): Get a pointer to the encoded                                                000000    1059300

   729+ *        data stored in a URL encoder                                                                    000000    1059400

   730+ *                                                                                                        000000    1059500

   731+ *     peEncoder = (input) pointer to encoder                                                             000000    1059600

   732+ *        peData = (output) pointer to encoded data                                                       000000    1059700

   733+ *        peSize = (output) size of encoded data                                                          000000    1059800

   734+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1059900

   735+D http_url_encoder_getptr...                                                                              000000    1060000

   736+D                 PR                                                                                      000000    1060100

   737+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1060200

   738+D    peData                       *                                                                       000000    1060300

   739+D    peSize                     10I 0                                                                     000000    1060400

   740+ /if defined(WEBFORMS)                                                                                    070823    1060500

            LINES EXCLUDED: 5

   741+ /endif                                                                                                   070823    1061100

   742+                                                                                                          000000    1061200

   743+                                                                                                          000000    1061300

   744+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1061400

   745+ * http_url_encoder_getstr(): Get encoded data he encoded                                                 000000    1061500

   746+ *        data stored in a URL encoder as a string                                                        000000    1061600

   747+ *                                                                                                        000000    1061700

   748+ *     peEncoder = (input) pointer to encoder                                                             000000    1061800

   749+ *                                                                                                        000000    1061900

   750+ * NOTE: This routine is much slower than http_url_encoder_getptr()                                       000000    1062000

   751+ *       and is limited to a 32k return value.  It's suitable for                                         000000    1062100

   752+ *       use with data that's added to a URL, such as when                                                000000    1062200

   753+ *       performing a GET request to a web server, but you should                                         000000    1062300

   754+ *       use http_url_encoder_getptr() for POST requests.                                                 000000    1062400

   755+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1062500

   756+D http_url_encoder_getstr...                                                                              000000    1062600

   757+D                 PR         32767A   varying                                                             000000    1062700

   758+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1062800

   759+ /if defined(WEBFORMS)                                                                                    070823    1062900

            LINES EXCLUDED: 4

   760+ /endif                                                                                                   070823    1063400

   761+                                                                                                          000000    1063500

   762+                                                                                                          000000    1063600

   763+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1063700

   764+ * http_url_encoder_free(): free resources allocated by both                                              000000    1063800

   765+ *        http_url_encoder_new() and http_url_encoder_addvar()                                            000000    1063900

   766+ *                                                                                                        000000    1064000

   767+ *     peEncoder = pointer to encoder to free                                                             000000    1064100

   768+ *                                                                                                        000000    1064200

   769+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1064300

   770+ *                                                                                                        000000    1064400

   771+ * WARNING: After calling this, do not use the encoder or                                                 000000    1064500

   772+ *          data returned by http_url_encoder_getptr() again.                                             000000    1064600

   773+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1064700

   774+D http_url_encoder_free...                                                                                000000    1064800

   775+D                 PR             1N                                                                       000000    1064900

   776+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1065000

   777+ /if defined(WEBFORMS)                                                                                    070823    1065100

            LINES EXCLUDED: 3

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     17

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   778+ /endif                                                                                                   070823    1065500

   779+                                                                                                          000000    1065600

   780+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1065700

   781+ * http_url_encoder_addvar_s():  Simplified (but limited)                                                 000000    1065800

   782+ *       interface to http_url_encoder_addvar().                                                          000000    1065900

   783+ *                                                                                                        000000    1066000

   784+ *    peEncoder = (input) HTTP_url_encoder object                                                         000000    1066100

   785+ *   peVariable = (input) variable name to set                                                            000000    1066200

   786+ *      peValue = (input) value to set variable to                                                        000000    1066300

   787+ *                                                                                                        000000    1066400

   788+ * Returns *ON if successful, *OFF otherwise                                                              000000    1066500

   789+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1066600

   790+D http_url_encoder_addvar_s...                                                                            000000    1066700

   791+D                 PR             1N                                                                       000000    1066800

   792+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1066900

   793+D    peVariable                 50A   varying value                                                       000000    1067000

   794+D    peValue                   256A   varying value                                                       000000    1067100

   795+ /if defined(WEBFORMS)                                                                                    070823    1067200

            LINES EXCLUDED: 5

   796+ /endif                                                                                                   070823    1067800

   797+                                                                                                          000000    1067900

   798+                                                                                                          000000    1068000

   799+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1068100

   800+ *  http_long_ParseURL(): Parse URL into it's component parts                                             000000    1068200

   801+ *                                                                                                        000000    1068300

   802+ *  Breaks a uniform resource locator (URL) into it's component                                           000000    1068400

   803+ *  pieces for use with the http: or https: protocols.  (would also                                       000000    1068500

   804+ *  work for FTP with minor tweaks)                                                                       000000    1068600

   805+ *                                                                                                        000000    1068700

   806+ *  peURL = URL that needs to be parsed.                                                                  000000    1068800

   807+ *  peService = service name from URL (i.e. http or https)                                                000000    1068900

   808+ *  peUserName = user name given, or *blanks                                                              000000    1069000

   809+ *  pePassword = password given, or *blanks                                                               000000    1069100

   810+ *  peHost = hostname given in URL. (could be domain name or IP)                                          000000    1069200

   811+ *  pePort = port number to connect to, if specified, otherwise 0.                                        000000    1069300

   812+ *  pePath = remaining path/request for server.                                                           000000    1069400

   813+ *                                                                                                        000000    1069500

   814+ *  returns -1 upon failure, or 0 upon success                                                            000000    1069600

   815+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1069700

   816+d http_long_ParseURL...                                                                                   000000    1069800

   817+D                 PR            10I 0                                                                     000000    1069900

   818+D  peURL                     32767A   varying const options(*varsize)                                     000000    1070000

   819+D  peService                    32A                                                                       000000    1070100

   820+D  peUserName                   32A                                                                       000000    1070200

   821+D  pePassword                   32A                                                                       000000    1070300

   822+D  peHost                      256A                                                                       000000    1070400

   823+D  pePort                       10I 0                                                                     000000    1070500

   824+D  pePath                    32767A   varying                                                             000000    1070600

   825+                                                                                                          000000    1070700

   826+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1070800

   827+ * http_select_commdriver():  Select & initialize communications                                          000000    1070900

   828+ *    driver.                                                                                             000000    1071000

   829+ *                                                                                                        000000    1071100

   830+ *      peCommType = (input) communications type (http/https)                                             000000    1071200

   831+ *                                                                                                        000000    1071300

   832+ * Returns pointer to comm driver, or *NULL upon failure                                                  000000    1071400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     18

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   833+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1071500

   834+D http_select_commdriver...                                                                               000000    1071600

   835+D                 PR              *                                                                       000000    1071700

   836+D   peCommType                  32A   const                                                               000000    1071800

   837+                                                                                                          000000    1071900

   838+                                                                                                          000000    1072000

   839+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1072100

   840+ *  http_url_post_raw2(): Post data to CGI script and get document                                        000000    1072200

   841+ *                                                                                                        000000    1072300

   842+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1072400

   843+ *      pePostFD = descriptor number to pass to pePostProc                                                000000    1072500

   844+ *    pePostProc = procedure to call to get POST data.                                                    000000    1072600

   845+ *     peDataLen = total length of data that will be sent.                                                000000    1072700

   846+ *      peSaveFD = FD to pass back to peSaveProc                                                          000000    1072800

   847+ *    peSaveProc = procedure to call each time data is received.                                          000000    1072900

   848+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1073000

   849+ *            this many seconds.                                                                          000000    1073100

   850+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1073200

   851+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1073300

   852+ *            if you want to get the default value.                                                       000000    1073400

   853+ * peContentType = (optional) content type to supply (mainly                                              000000    1073500

   854+ *            useful when talking to CGI scripts)                                                         000000    1073600

   855+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1073700

   856+ *          taken by some SOAP applications.                                                              080903    1073800

   857+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1073900

   858+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1074000

   859+ *             you don't want a SoapAction header to be sent.                                             080903    1074100

   860+ *                                                                                                        000000    1074200

   861+ *  Returns  -1 upon failure, 0 upon timeout, or an HTTP response code                                    000000    1074300

   862+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1074400

   863+D http_url_post_raw2...                                                                                   000000    1074500

   864+D                 PR            10I 0                                                                     000000    1074600

   865+D  peURL                     32767A   varying const options(*varsize)                                     000000    1074700

   866+D  pePostFD                     10I 0 value                                                               000000    1074800

   867+D  pePostProc                     *   procptr value                                                       000000    1074900

   868+D  peDataLen                    10I 0 value                                                               000000    1075000

   869+D  peSaveFD                     10I 0 value                                                               000000    1075100

   870+D  peSaveProc                     *   value procptr                                                       000000    1075200

   871+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1075300

   872+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1075400

            LINES EXCLUDED: 3

   873+ /else                                                                                                    090730    1075800

   874+D  peUserAgent               16384A   varying const                                                       091030    1075900

   875+D                                     options(*nopass:*omit)                                              091030    1076000

   876+D  peContentType             16384A   varying const                                                       091030    1076100

   877+D                                     options(*nopass:*omit)                                              091030    1076200

   878+D  peSOAPAction              16384A   varying const                                                       090730    1076300

   879+D                                     options(*nopass:*omit)                                              090730    1076400

   880+ /endif                                                                                                   090730    1076500

   881+                                                                                                          000000    1076600

   882+                                                                                                          000000    1076700

   883+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1076800

   884+ *  http_url_post_stmf(): Post data to CGI script from stream file                                        000000    1076900

   885+ *                                                                                                        000000    1077000

   886+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1077100

   887+ *    pePostFile = Filename (in IFS) of file to send to http server                                       000000    1077200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     19

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   888+ *    peRecvFile = Filename (in IFS) of stream file containing reply                                      000000    1077300

   889+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1077400

   890+ *            this many seconds.                                                                          000000    1077500

   891+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1077600

   892+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1077700

   893+ *            if you want to get the default value.                                                       000000    1077800

   894+ * peContentType = (optional) content type to supply (mainly                                              000000    1077900

   895+ *            useful when talking to CGI scripts)                                                         000000    1078000

   896+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1078100

   897+ *          taken by some SOAP applications.                                                              080903    1078200

   898+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1078300

   899+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1078400

   900+ *             you don't want a SoapAction header to be sent.                                             080903    1078500

   901+ *                                                                                                        000000    1078600

   902+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1078700

   903+ *            1 for success, or an HTTP response code                                                     000000    1078800

   904+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1078900

   905+D http_url_post_stmf...                                                                                   000000    1079000

   906+D                 PR            10I 0                                                                     000000    1079100

   907+D  peURL                     32767A   varying const options(*varsize)                                     000000    1079200

   908+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1079300

   909+D  peRecvFile                32767A   varying const options(*varsize)                                     000000    1079400

   910+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1079500

   911+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1079600

            LINES EXCLUDED: 3

   912+ /else                                                                                                    090730    1080000

   913+D  peUserAgent               16384A   varying const                                                       091030    1080100

   914+D                                     options(*nopass:*omit)                                              091030    1080200

   915+D  peContentType             16384A   varying const                                                       091030    1080300

   916+D                                     options(*nopass:*omit)                                              091030    1080400

   917+D  peSOAPAction              16384A   varying const                                                       090730    1080500

   918+D                                     options(*nopass:*omit)                                              090730    1080600

   919+ /endif                                                                                                   090730    1080700

   920+D http_post_stmf  PR            10I 0 extproc('HTTP_URL_POST_STMF')                                       000000    1080800

   921+D  peURL                     32767A   varying const options(*varsize)                                     000000    1080900

   922+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1081000

   923+D  peRecvFile                32767A   varying const options(*varsize)                                     000000    1081100

   924+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1081200

   925+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1081300

            LINES EXCLUDED: 3

   926+ /else                                                                                                    090730    1081700

   927+D  peUserAgent               16384A   varying const                                                       091030    1081800

   928+D                                     options(*nopass:*omit)                                              091030    1081900

   929+D  peContentType             16384A   varying const                                                       091030    1082000

   930+D                                     options(*nopass:*omit)                                              091030    1082100

   931+D  peSOAPAction              16384A   varying const                                                       090730    1082200

   932+D                                     options(*nopass:*omit)                                              090730    1082300

   933+ /endif                                                                                                   090730    1082400

   934+                                                                                                          000000    1082500

   935+                                                                                                          000000    1082600

   936+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1082700

   937+ * http_get_xml();                                                                                        000000    1082800

   938+ * http_url_get_xml():  Send a GET request to an HTTP server and                                          000000    1082900

   939+ *     receive/parse an XML response.                                                                     000000    1083000

   940+ *                                                                                                        000000    1083100

   941+ *       peURL = (input) URL to perform GET request to                                                    000000    1083200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     20

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   942+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1083300

   943+ *                       of each XML element received.                                                    000000    1083400

   944+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1083500

   945+ *                       of each XML element received.                                                    000000    1083600

   946+ *    peUsrDta = (input) user-defined data that will be passed to the                                     000000    1083700

   947+ *                    call-back routine                                                                   000000    1083800

   948+ *                                                                                                        000000    1083900

   949+ * (other parms are identical to those in HTTP_url_get())                                                 000000    1084000

   950+ *                                                                                                        000000    1084100

   951+ * peStartProc should point to a procedure with a procedure                                               000000    1084200

   952+ * interface that's compatable with the following:                                                        000000    1084300

   953+ *                                                                                                        000000    1084400

   954+ *  D StartProc       PR                                                                                  000000    1084500

   955+ *  D   userdata                      *   value                                                           000000    1084600

   956+ *  D   depth                       10I 0 value                                                           000000    1084700

   957+ *  D   name                      1024A   varying const                                                   000000    1084800

   958+ *  D   path                     24576A   varying const                                                   000000    1084900

   959+ *  D   attrs                         *   dim(32767)                                                      000000    1085000

   960+ *  D                                     const options(*varsize)                                         000000    1085100

   961+ *                                                                                                        000000    1085200

   962+ * peEndProc should point to a procedure with a procedure                                                 000000    1085300

   963+ * interface that's compatable with the following:                                                        000000    1085400

   964+ *                                                                                                        000000    1085500

   965+ *  D EndProc         PR                                                                                  000000    1085600

   966+ *  D   userdata                      *   value                                                           000000    1085700

   967+ *  D   depth                       10I 0 value                                                           000000    1085800

   968+ *  D   name                      1024A   varying const                                                   000000    1085900

   969+ *  D   path                     24576A   varying const                                                   000000    1086000

   970+ *  D   value                    32767A   varying const                                                   000000    1086100

   971+ *  D   attrs                         *   dim(32767)                                                      000000    1086200

   972+ *  D                                     const options(*varsize)                                         000000    1086300

   973+ *                                                                                                        000000    1086400

   974+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1086500

   975+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1086600

   976+D http_get_xml...                                                                                         000000    1086700

   977+D                 PR            10I 0 EXTPROC('HTTP_URL_GET_XML')                                         000000    1086800

   978+D  peURL                     32767A   varying const options(*varsize)                                     000000    1086900

   979+D  peStartProc                    *   value procptr                                                       000000    1087000

   980+D  peEndProc                      *   value procptr                                                       000000    1087100

   981+D  peUsrDta                       *   value                                                               000000    1087200

   982+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1087300

   983+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1087400

            LINES EXCLUDED: 4

   984+ /else                                                                                                    090730    1087900

   985+D  peUserAgent               16384A   varying const                                                       091030    1088000

   986+D                                     options(*nopass:*omit)                                              091030    1088100

   987+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1088200

   988+D  peContentType             16384A   varying const                                                       091030    1088300

   989+D                                     options(*nopass:*omit)                                              091030    1088400

   990+D  peSOAPAction              16384A   varying const                                                       090730    1088500

   991+D                                     options(*nopass:*omit)                                              090730    1088600

   992+ /endif                                                                                                   090730    1088700

   993+D http_url_get_xml...                                                                                     000000    1088800

   994+D                 PR            10I 0                                                                     000000    1088900

   995+D  peURL                     32767A   varying const options(*varsize)                                     000000    1089000

   996+D  peStartProc                    *   value procptr                                                       000000    1089100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     21

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   997+D  peEndProc                      *   value procptr                                                       000000    1089200

   998+D  peUsrDta                       *   value                                                               000000    1089300

   999+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1089400

  1000+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1089500

            LINES EXCLUDED: 4

  1001+ /else                                                                                                    090730    1090000

  1002+D  peUserAgent               16384A   varying const                                                       091030    1090100

  1003+D                                     options(*nopass:*omit)                                              091030    1090200

  1004+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1090300

  1005+D  peContentType             16384A   varying const                                                       091030    1090400

  1006+D                                     options(*nopass:*omit)                                              091030    1090500

  1007+D  peSOAPAction              16384A   varying const                                                       090730    1090600

  1008+D                                     options(*nopass:*omit)                                              090730    1090700

  1009+ /endif                                                                                                   090730    1090800

  1010+                                                                                                          000000    1090900

  1011+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1091000

  1012+ *  http_get_xmltf(): Request URL from server. Receive response                                           000000    1091100

  1013+ *        to temporary file, then parse it.                                                               000000    1091200

  1014+ *                                                                                                        000000    1091300

  1015+ *       peURL = (input) URL to perform GET request to                                                    000000    1091400

  1016+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1091500

  1017+ *                       of each XML element received.                                                    000000    1091600

  1018+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1091700

  1019+ *                       of each XML element received.                                                    000000    1091800

  1020+ *    peUsrDta = (input) user-defined data that will be passed to the                                     000000    1091900

  1021+ *                    call-back routine                                                                   000000    1092000

  1022+ *                                                                                                        000000    1092100

  1023+ * (other parms are identical to those in HTTP_url_get())                                                 000000    1092200

  1024+ *                                                                                                        000000    1092300

  1025+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1092400

  1026+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1092500

  1027+D http_get_xmltf...                                                                                       000000    1092600

  1028+D                 PR            10I 0                                                                     000000    1092700

  1029+D  peURL                     32767A   varying const options(*varsize)                                     000000    1092800

  1030+D  peStartProc                    *   value procptr                                                       000000    1092900

  1031+D  peEndProc                      *   value procptr                                                       000000    1093000

  1032+D  peUsrDta                       *   value                                                               000000    1093100

  1033+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1093200

  1034+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1093300

            LINES EXCLUDED: 4

  1035+ /else                                                                                                    090730    1093800

  1036+D  peUserAgent               16384A   varying const                                                       091030    1093900

  1037+D                                     options(*nopass:*omit)                                              091030    1094000

  1038+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1094100

  1039+D  peContentType             16384A   varying const                                                       091030    1094200

  1040+D                                     options(*nopass:*omit)                                              091030    1094300

  1041+D  peSOAPAction              16384A   varying const                                                       090730    1094400

  1042+D                                     options(*nopass:*omit)                                              090730    1094500

  1043+ /endif                                                                                                   090730    1094600

  1044+                                                                                                          000000    1094700

  1045+                                                                                                          000000    1094800

  1046+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1094900

  1047+ * http_post_xml();                                                                                       000000    1095000

  1048+ * http_url_post_xml():  Send a POST request to an HTTP server and                                        000000    1095100

  1049+ *     receive/parse an XML response.                                                                     000000    1095200

  1050+ *                                                                                                        000000    1095300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     22

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1051+ *          peURL = (input) URL to perform GET request to                                                 000000    1095400

  1052+ *     pePostData = (input) data to POST to the web server                                                000000    1095500

  1053+ *  pePostDataLen = (input) length of pePostData                                                          000000    1095600

  1054+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1095700

  1055+ *                       of each XML element received.                                                    000000    1095800

  1056+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1095900

  1057+ *                       of each XML element received.                                                    000000    1096000

  1058+ *       peUsrDta = (input) user-defined data that will be passed                                         000000    1096100

  1059+ *                          to the call-back routine                                                      000000    1096200

  1060+ *                                                                                                        000000    1096300

  1061+ * (other parms are identical to those in HTTP_url_post())                                                000000    1096400

  1062+ *                                                                                                        000000    1096500

  1063+ * peStartProc should point to a procedure with a procedure                                               000000    1096600

  1064+ * interface that's compatable with the following:                                                        000000    1096700

  1065+ *                                                                                                        000000    1096800

  1066+ *  D StartProc       PR                                                                                  000000    1096900

  1067+ *  D   userdata                      *   value                                                           000000    1097000

  1068+ *  D   depth                       10I 0 value                                                           000000    1097100

  1069+ *  D   name                      1024A   varying const                                                   000000    1097200

  1070+ *  D   path                     24576A   varying const                                                   000000    1097300

  1071+ *  D   attrs                         *   dim(32767)                                                      000000    1097400

  1072+ *  D                                     const options(*varsize)                                         000000    1097500

  1073+ *                                                                                                        000000    1097600

  1074+ * peEndProc should point to a procedure with a procedure                                                 000000    1097700

  1075+ * interface that's compatable with the following:                                                        000000    1097800

  1076+ *                                                                                                        000000    1097900

  1077+ *  D EndProc         PR                                                                                  000000    1098000

  1078+ *  D   userdata                      *   value                                                           000000    1098100

  1079+ *  D   depth                       10I 0 value                                                           000000    1098200

  1080+ *  D   name                      1024A   varying const                                                   000000    1098300

  1081+ *  D   path                     24576A   varying const                                                   000000    1098400

  1082+ *  D   value                    32767A   varying const                                                   000000    1098500

  1083+ *  D   attrs                         *   dim(32767)                                                      000000    1098600

  1084+ *  D                                     const options(*varsize)                                         000000    1098700

  1085+ *                                                                                                        000000    1098800

  1086+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1098900

  1087+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1099000

  1088+D http_post_xml...                                                                                        000000    1099100

  1089+D                 PR            10I 0 EXTPROC('HTTP_URL_POST_XML')                                        000000    1099200

  1090+D  peURL                     32767A   varying const options(*varsize)                               1     070724    1099300

  1091+D  pePostData                     *   value                                                         2     070724    1099400

  1092+D  pePostDataLen                10I 0 value                                                         3     070724    1099500

  1093+D  peStartProc                    *   value procptr                                                 4     070724    1099600

  1094+D  peEndProc                      *   value procptr                                                 5     070724    1099700

  1095+D  peUsrDta                       *   value                                                         6     070724    1099800

  1096+D  peTimeout                    10I 0 value options(*nopass)                                        7     070724    1099900

  1097+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1100000

            LINES EXCLUDED: 3

  1098+ /else                                                                                                    090730    1100400

  1099+D  peUserAgent               16384A   varying const                                                 8     091030    1100500

  1100+D                                     options(*nopass:*omit)                                              091030    1100600

  1101+D  peContentType             16384A   varying const                                                 9     091030    1100700

  1102+D                                     options(*nopass:*omit)                                              091030    1100800

  1103+D  peSOAPAction              16384A   varying const                                                       090730    1100900

  1104+D                                     options(*nopass:*omit)                                              090730    1101000

  1105+ /endif                                                                                                   090730    1101100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     23

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1106+D http_url_post_xml...                                                                                    000000    1101200

  1107+D                 PR            10I 0                                                                     000000    1101300

  1108+D  peURL                     32767A   varying const options(*varsize)                                     000000    1101400

  1109+D  pePostData                     *   value                                                               000000    1101500

  1110+D  pePostDataLen                10I 0 value                                                               000000    1101600

  1111+D  peStartProc                    *   value procptr                                                       000000    1101700

  1112+D  peEndProc                      *   value procptr                                                       000000    1101800

  1113+D  peUsrDta                       *   value                                                               000000    1101900

  1114+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1102000

  1115+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1102100

            LINES EXCLUDED: 3

  1116+ /else                                                                                                    090730    1102500

  1117+D  peUserAgent               16384A   varying const                                                       091030    1102600

  1118+D                                     options(*nopass:*omit)                                              091030    1102700

  1119+D  peContentType             16384A   varying const                                                       091030    1102800

  1120+D                                     options(*nopass:*omit)                                              091030    1102900

  1121+D  peSOAPAction              16384A   varying const                                                       090730    1103000

  1122+D                                     options(*nopass:*omit)                                              090730    1103100

  1123+ /endif                                                                                                   090730    1103200

  1124+                                                                                                          000000    1103300

  1125+                                                                                                          000000    1103400

  1126+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1103500

  1127+ *  http_post_xmltf(): Post data from memory. Receive                                                     000000    1103600

  1128+ *        response to temporary file, then parse it.                                                      000000    1103700

  1129+ *                                                                                                        000000    1103800

  1130+ *          peURL = (input) URL to perform GET request to                                                 000000    1103900

  1131+ *     pePostData = (input) data to POST to the web server                                                000000    1104000

  1132+ *  pePostDataLen = (input) length of pePostData                                                          000000    1104100

  1133+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1104200

  1134+ *                       of each XML element received.                                                    000000    1104300

  1135+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1104400

  1136+ *                       of each XML element received.                                                    000000    1104500

  1137+ *       peUsrDta = (input) user-defined data that will be passed                                         000000    1104600

  1138+ *                          to the call-back routine                                                      000000    1104700

  1139+ *                                                                                                        000000    1104800

  1140+ * (other parms are identical to those in HTTP_url_post())                                                000000    1104900

  1141+ *                                                                                                        000000    1105000

  1142+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1105100

  1143+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1105200

  1144+D http_post_xmltf...                                                                                      000000    1105300

  1145+D                 PR            10I 0                                                                     000000    1105400

  1146+D  peURL                     32767A   varying const options(*varsize)                                     000000    1105500

  1147+D  pePostData                     *   value                                                               000000    1105600

  1148+D  pePostDataLen                10I 0 value                                                               000000    1105700

  1149+D  peStartProc                    *   value procptr                                                       000000    1105800

  1150+D  peEndProc                      *   value procptr                                                       000000    1105900

  1151+D  peUsrDta                       *   value                                                               000000    1106000

  1152+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1106100

  1153+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1106200

            LINES EXCLUDED: 3

  1154+ /else                                                                                                    090730    1106600

  1155+D  peUserAgent               16384A   varying const                                                       091030    1106700

  1156+D                                     options(*nopass:*omit)                                              091030    1106800

  1157+D  peContentType             16384A   varying const                                                       091030    1106900

  1158+D                                     options(*nopass:*omit)                                              091030    1107000

  1159+D  peSOAPAction              16384A   varying const                                                       090730    1107100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     24

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1160+D                                     options(*nopass:*omit)                                              090730    1107200

  1161+ /endif                                                                                                   090730    1107300

  1162+                                                                                                          000000    1107400

  1163+                                                                                                          000000    1107500

  1164+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1107600

  1165+ *  http_post_stmf_xml();                                                                                 000000    1107700

  1166+ *  http_url_post_stmf_xml(): Post data to CGI script from stream file                                    000000    1107800

  1167+ *        and receive/parse an XML response                                                               000000    1107900

  1168+ *                                                                                                        000000    1108000

  1169+ *       peURL = (input) URL to post to                                                                   000000    1108100

  1170+ *  pePostFile = (input) File of stream file (in IFS) to post                                             000000    1108200

  1171+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1108300

  1172+ *                       of each XML element received.                                                    000000    1108400

  1173+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1108500

  1174+ *                       of each XML element received.                                                    000000    1108600

  1175+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1108700

  1176+ *                          to the call-back routine                                                      000000    1108800

  1177+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1108900

  1178+ *                       this many seconds.                                                               000000    1109000

  1179+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1109100

  1180+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1109200

  1181+ *            if you want to get the default value.                                                       000000    1109300

  1182+ * peContentType = (optional) content type to supply (mainly                                              000000    1109400

  1183+ *                       useful when talking to CGI scripts)                                              000000    1109500

  1184+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1109600

  1185+ *          taken by some SOAP applications.                                                              080903    1109700

  1186+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1109800

  1187+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1109900

  1188+ *             you don't want a SoapAction header to be sent.                                             080903    1110000

  1189+ *                                                                                                        000000    1110100

  1190+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1110200

  1191+ *            1 for success, or an HTTP response code                                                     000000    1110300

  1192+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1110400

  1193+D http_post_stmf_xml...                                                                                   000000    1110500

  1194+D                 PR            10I 0 extproc('HTTP_URL_POST_STMF_XML')                                   000000    1110600

  1195+D  peURL                     32767A   varying const options(*varsize)                                     000000    1110700

  1196+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1110800

  1197+D  peStartProc                    *   value procptr                                                       000000    1110900

  1198+D  peEndProc                      *   value procptr                                                       000000    1111000

  1199+D  peUsrDta                       *   value                                                               000000    1111100

  1200+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1111200

  1201+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1111300

            LINES EXCLUDED: 3

  1202+ /else                                                                                                    090730    1111700

  1203+D  peUserAgent               16384A   varying const                                                       091030    1111800

  1204+D                                     options(*nopass:*omit)                                              091030    1111900

  1205+D  peContentType             16384A   varying const                                                       091030    1112000

  1206+D                                     options(*nopass:*omit)                                              091030    1112100

  1207+D  peSOAPAction              16384A   varying const                                                       090730    1112200

  1208+D                                     options(*nopass:*omit)                                              090730    1112300

  1209+ /endif                                                                                                   090730    1112400

  1210+D http_url_post_stmf_xml...                                                                               000000    1112500

  1211+D                 PR            10I 0                                                                     000000    1112600

  1212+D  peURL                     32767A   varying const options(*varsize)                                     000000    1112700

  1213+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1112800

  1214+D  peStartProc                    *   value procptr                                                       000000    1112900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     25

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1215+D  peEndProc                      *   value procptr                                                       000000    1113000

  1216+D  peUsrDta                       *   value                                                               000000    1113100

  1217+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1113200

  1218+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1113300

            LINES EXCLUDED: 3

  1219+ /else                                                                                                    090730    1113700

  1220+D  peUserAgent               16384A   varying const                                                       091030    1113800

  1221+D                                     options(*nopass:*omit)                                              091030    1113900

  1222+D  peContentType             16384A   varying const                                                       091030    1114000

  1223+D                                     options(*nopass:*omit)                                              091030    1114100

  1224+D  peSOAPAction              16384A   varying const                                                       090730    1114200

  1225+D                                     options(*nopass:*omit)                                              090730    1114300

  1226+ /endif                                                                                                   090730    1114400

  1227+                                                                                                          000000    1114500

  1228+                                                                                                          000000    1114600

  1229+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1114700

  1230+ *  http_post_stmf_xmltf(): Post data from stream file.  Receive                                          000000    1114800

  1231+ *        response to temporary file, then parse it.                                                      000000    1114900

  1232+ *                                                                                                        000000    1115000

  1233+ *       peURL = (input) URL to post to                                                                   000000    1115100

  1234+ *  pePostFile = (input) File of stream file (in IFS) to post                                             000000    1115200

  1235+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1115300

  1236+ *                       of each XML element received.                                                    000000    1115400

  1237+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1115500

  1238+ *                       of each XML element received.                                                    000000    1115600

  1239+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1115700

  1240+ *                          to the call-back routine                                                      000000    1115800

  1241+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1115900

  1242+ *                       this many seconds.                                                               000000    1116000

  1243+ * peContentType = (optional) content type to supply (mainly                                              000000    1116100

  1244+ *                       useful when talking to CGI scripts)                                              000000    1116200

  1245+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1116300

  1246+ *          taken by some SOAP applications.                                                              080903    1116400

  1247+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1116500

  1248+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1116600

  1249+ *             you don't want a SoapAction header to be sent.                                             080903    1116700

  1250+ *                                                                                                        000000    1116800

  1251+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1116900

  1252+ *            1 for success, or an HTTP response code                                                     000000    1117000

  1253+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1117100

  1254+D http_post_stmf_xmltf...                                                                                 000000    1117200

  1255+D                 PR            10I 0                                                                     000000    1117300

  1256+D  peURL                     32767A   varying const options(*varsize)                                     000000    1117400

  1257+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1117500

  1258+D  peStartProc                    *   value procptr                                                       000000    1117600

  1259+D  peEndProc                      *   value procptr                                                       000000    1117700

  1260+D  peUsrDta                       *   value                                                               000000    1117800

  1261+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1117900

  1262+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1118000

            LINES EXCLUDED: 3

  1263+ /else                                                                                                    090730    1118400

  1264+D  peUserAgent               16384A   varying const                                                       091030    1118500

  1265+D                                     options(*nopass:*omit)                                              091030    1118600

  1266+D  peContentType             16384A   varying const                                                       091030    1118700

  1267+D                                     options(*nopass:*omit)                                              091030    1118800

  1268+D  peSOAPAction              16384A   varying const                                                       090730    1118900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     26

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1269+D                                     options(*nopass:*omit)                                              090730    1119000

  1270+ /endif                                                                                                   090730    1119100

  1271+                                                                                                          000000    1119200

  1272+                                                                                                          000000    1119300

  1273+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1119400

  1274+ *  http_persist_open(): Open a persistent HTTP session                                                   000000    1119500

  1275+ *                                                                                                        000000    1119600

  1276+ *       peURL = url to connect to                                                                        000000    1119700

  1277+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1119800

  1278+ *          this many seconds.                                                                            000000    1119900

  1279+ *                                                                                                        000000    1120000

  1280+ *  Returns *NULL upon failure, or                                                                        000000    1120100

  1281+ *          pointer to HTTP communication session                                                         000000    1120200

  1282+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1120300

  1283+D http_persist_open...                                                                                    000000    1120400

  1284+D                 PR              *                                                                       000000    1120500

  1285+D  peURL                     32767A   varying const options(*varsize)                                     000000    1120600

  1286+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1120700

  1287+                                                                                                          000000    1120800

  1288+                                                                                                          000000    1120900

  1289+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1121000

  1290+ *  http_persist_get(): Get a file using a persistent HTTP session                                        000000    1121100

  1291+ *                                                                                                        000000    1121200

  1292+ *         peComm = (input) pointer to persistent HTTP comm session                                       000000    1121300

  1293+ *          peURL = (input) URL to get from persistent HTTP                                               000000    1121400

  1294+ *           peFD = (input) FD to pass back to peProc                                                     000000    1121500

  1295+ *         peProc = (input) procedure to call each time data is                                           000000    1121600

  1296+ *                          received.                                                                     000000    1121700

  1297+ *      peTimeout = (input/optional) time-out when no data is received                                    000000    1121800

  1298+ *                          for this many seconds.                                                        000000    1121900

  1299+ *    peUserAgent = (optional) User-Agent string passed to the                                            000000    1122000

  1300+ *                          server.  Pass the named constant called                                       000000    1122100

  1301+ *                          HTTP_USERAGENT if you want to get the                                         000000    1122200

  1302+ *                          default value.                                                                000000    1122300

  1303+ *      peModTime = (input/optional) only get file if it was changed                                      000000    1122400

  1304+ *                          since this timestamp.                                                         000000    1122500

  1305+ *  peContentType = (input/optional) content type to supply (mainly                                       000000    1122600

  1306+ *                          useful when talking to CGI scripts)                                           000000    1122700

  1307+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1122800

  1308+ *                          taken by some SOAP applications.                                              080903    1122900

  1309+ *                - pass *blanks to send an empty SoapAction.                                             080903    1123000

  1310+ *                - pass *omit (or don't pass the parm at all) if                                         080903    1123100

  1311+ *                    you don't want a SoapAction header to be sent.                                      080903    1123200

  1312+ *                                                                                                        000000    1123300

  1313+ *  Returns  1 if successful,                                                                             000000    1123400

  1314+ *           0 if timed out                                                                               000000    1123500

  1315+ *          -1 if an internal error occurs                                                                000000    1123600

  1316+ *          or an HTTP response code if an error comes from the server                                    000000    1123700

  1317+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1123800

  1318+D http_persist_get...                                                                                     000000    1123900

  1319+D                 PR            10I 0                                                                     000000    1124000

  1320+D  peComm                         *   value                                                               000000    1124100

  1321+D  peURL                     32767A   varying const options(*varsize)                                     000000    1124200

  1322+D  peFD                         10I 0 value                                                               000000    1124300

  1323+D  peProc                         *   value procptr                                                       000000    1124400

  1324+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1124500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     27

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1325+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1124600

            LINES EXCLUDED: 4

  1326+ /else                                                                                                    090730    1125100

  1327+D  peUserAgent               16384A   varying const                                                       091030    1125200

  1328+D                                     options(*nopass:*omit)                                              091030    1125300

  1329+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1125400

  1330+D  peContentType             16384A   varying const                                                       091030    1125500

  1331+D                                     options(*nopass:*omit)                                              091030    1125600

  1332+D  peSOAPAction              16384A   varying const                                                       090730    1125700

  1333+D                                     options(*nopass:*omit)                                              090730    1125800

  1334+ /endif                                                                                                   090730    1125900

  1335+                                                                                                          000000    1126000

  1336+                                                                                                          000000    1126100

  1337+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1126200

  1338+ *  http_persist_post(): Post data to CGI script and get document                                         000000    1126300

  1339+ *                       using a persistent connection                                                    000000    1126400

  1340+ *                                                                                                        000000    1126500

  1341+ *         peComm = (input) pointer to persistent HTTP comm session                                       000000    1126600

  1342+ *          peURL = (input) URL to post to with persistent HTTP                                           000000    1126700

  1343+ * --------                                                                                               000000    1126800

  1344+ *       pePostFD = (input) Opaque integer to pass to pePostProc                                          000000    1126900

  1345+ *     pePostProc = (input) Pointer to call-back procedure for                                            000000    1127000

  1346+ *                          posting data to server.  If you pass                                          000000    1127100

  1347+ *                          *NULL for this, you should use pePostData                                     000000    1127200

  1348+ *                          instead.                                                                      000000    1127300

  1349+ * -- or --                                                                                               000000    1127400

  1350+ *     pePostData = (input) Pointer to data to post.  If you pass                                         000000    1127500

  1351+ *                          *NULL for this, you should use pePostProc                                     000000    1127600

  1352+ *                          instead.                                                                      000000    1127700

  1353+ * --------                                                                                               000000    1127800

  1354+ *  pePostDataLen = (input) Total length, in bytes, of post data.                                         000000    1127900

  1355+ *       peSaveFD = (input) Opaque integer passed to peSaveProc                                           000000    1128000

  1356+ *     peSaveProc = (input) Pointer to call-back procedure that is                                        000000    1128100

  1357+ *                          called when data is received from HTTP                                        000000    1128200

  1358+ *                          server.                                                                       000000    1128300

  1359+ *      peTimeout = (input/optional) time-out when no data is received                                    000000    1128400

  1360+ *                          for this many seconds.                                                        000000    1128500

  1361+ *    peUserAgent = (optional) User-Agent string passed to the                                            000000    1128600

  1362+ *                          server.  Pass the named constant called                                       000000    1128700

  1363+ *                          HTTP_USERAGENT if you want to get the                                         000000    1128800

  1364+ *                          default value.                                                                000000    1128900

  1365+ *  peContentType = (input/optional) content type to supply (mainly                                       000000    1129000

  1366+ *                          useful when talking to CGI scripts)                                           000000    1129100

  1367+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1129200

  1368+ *                          taken by some SOAP applications.                                              080903    1129300

  1369+ *                - pass *blanks to send an empty SoapAction.                                             080903    1129400

  1370+ *                - pass *omit (or don't pass the parm at all) if                                         080903    1129500

  1371+ *                    you don't want a SoapAction header to be sent.                                      080903    1129600

  1372+ *                                                                                                        000000    1129700

  1373+ *  Returns  1 if successful,                                                                             000000    1129800

  1374+ *           0 if timed out                                                                               000000    1129900

  1375+ *          -1 if an internal error occurs                                                                000000    1130000

  1376+ *          or an HTTP response code if an error comes from the server                                    000000    1130100

  1377+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1130200

  1378+D http_persist_post...                                                                                    000000    1130300

  1379+D                 PR            10I 0                                                                     000000    1130400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     28

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1380+D  peComm                         *   value                                                               000000    1130500

  1381+D  peURL                     32767A   varying const options(*varsize)                                     000000    1130600

  1382+D  pePostFD                     10I 0 value                                                               000000    1130700

  1383+D  pePostProc                     *   value procptr                                                       000000    1130800

  1384+D  pePostData                     *   value                                                               000000    1130900

  1385+D  pePostDataLen                10I 0 value                                                               000000    1131000

  1386+D  peSaveFD                     10I 0 value                                                               000000    1131100

  1387+D  peSaveProc                     *   value procptr                                                       000000    1131200

  1388+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1131300

  1389+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1131400

            LINES EXCLUDED: 3

  1390+ /else                                                                                                    090730    1131800

  1391+D  peUserAgent               16384A   varying const                                                       091030    1131900

  1392+D                                     options(*nopass:*omit)                                              091030    1132000

  1393+D  peContentType             16384A   varying const                                                       091030    1132100

  1394+D                                     options(*nopass:*omit)                                              091030    1132200

  1395+D  peSOAPAction              16384A   varying const                                                       090730    1132300

  1396+D                                     options(*nopass:*omit)                                              090730    1132400

  1397+ /endif                                                                                                   090730    1132500

  1398+                                                                                                          000000    1132600

  1399+                                                                                                          000000    1132700

  1400+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1132800

  1401+ *  http_persist_close(): End a persistent HTTP session                                                   000000    1132900

  1402+ *                                                                                                        000000    1133000

  1403+ *     peComm = (input) pointer to persistent HTTP comm session                                           000000    1133100

  1404+ *                                                                                                        000000    1133200

  1405+ *  returns 0 if successful, -1 otherwise                                                                 000000    1133300

  1406+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1133400

  1407+D http_persist_close...                                                                                   000000    1133500

  1408+D                 PR            10I 0                                                                     000000    1133600

  1409+D  peComm                         *   value                                                               000000    1133700

  1410+                                                                                                          000000    1133800

  1411+                                                                                                          000000    1133900

  1412+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1134000

  1413+ * http_mfd_encoder_open(): Create a multipart/form-data encoder                                          000000    1134100

  1414+ *                                                                                                        000000    1134200

  1415+ * A multipart/form-data encoder will encode the variables                                                000000    1134300

  1416+ * and or stream files that you pass to it and store the results                                          000000    1134400

  1417+ * in a stream file.  You can later POST those results with the                                           000000    1134500

  1418+ * http_url_post_stmf() API.                                                                              000000    1134600

  1419+ *                                                                                                        000000    1134700

  1420+ *   peStmFile = (input) pathname to stream file to store                                                 000000    1134800

  1421+ *               encoded results.                                                                         000000    1134900

  1422+ *                                                                                                        000000    1135000

  1423+ *   returns an (opaque) pointer to the new encoder                                                       000000    1135100

  1424+ *           or *NULL upon error.                                                                         000000    1135200

  1425+ *                                                                                                        000000    1135300

  1426+ * WARNING: To free the memory used by this routine and close                                             000000    1135400

  1427+ *          the stream file, you MUST call http_mfd_encoder_close()                                       000000    1135500

  1428+ *          after the data is sent.                                                                       000000    1135600

  1429+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1135700

  1430+D http_mfd_encoder_open...                                                                                000000    1135800

  1431+D                 PR              *                                                                       000000    1135900

  1432+D  peStmFile                      *   value options(*string)                                              100106    1136000

  1433+D  peContType                   64A                                                                       000000    1136100

  1434+                                                                                                          000000    1136200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     29

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1435+                                                                                                          000000    1136300

  1436+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1136400

  1437+ * http_mfd_encoder_addvar():  Add a variable to what's stored                                            000000    1136500

  1438+ *          a multipart/form-data encoder.                                                                000000    1136600

  1439+ *                                                                                                        000000    1136700

  1440+ *    peEncoder = pointer to encoder created by the                                                       000000    1136800

  1441+ *                  http_mfd_encoder_open() routine                                                       000000    1136900

  1442+ *   peVariable = variable name to add                                                                    000000    1137000

  1443+ *       peData = pointer to data to store in variable                                                    000000    1137100

  1444+ *   peDataSize = size of data to store in variable                                                       000000    1137200

  1445+ *                                                                                                        000000    1137300

  1446+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1137400

  1447+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1137500

  1448+D http_mfd_encoder_addvar...                                                                              000000    1137600

  1449+D                 PR             1N                                                                       000000    1137700

  1450+D    peEncoder                    *   value                                                               000000    1137800

  1451+D    peVariable                 50A   varying value                                                       000000    1137900

  1452+D    peData                       *   value                                                               000000    1138000

  1453+D    peDataSize                 10I 0 value                                                               000000    1138100

  1454+                                                                                                          000000    1138200

  1455+                                                                                                          000000    1138300

  1456+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1138400

  1457+ * http_mfd_encoder_addvar_s():  Simplified (but limited)                                                 000000    1138500

  1458+ *       interface to http_mfd_encoder_addvar().                                                          000000    1138600

  1459+ *                                                                                                        000000    1138700

  1460+ *    peEncoder = (input) HTTP_mfd_encoder object                                                         000000    1138800

  1461+ *   peVariable = (input) variable name to set                                                            000000    1138900

  1462+ *      peValue = (input) value to set variable to                                                        000000    1139000

  1463+ *                                                                                                        000000    1139100

  1464+ * Returns *ON if successful, *OFF otherwise                                                              000000    1139200

  1465+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1139300

  1466+D http_mfd_encoder_addvar_s...                                                                            000000    1139400

  1467+D                 PR             1N                                                                       000000    1139500

  1468+D    peEncoder                    *   value                                                               000000    1139600

  1469+D    peVariable                 50A   varying value                                                       000000    1139700

  1470+D    peValue                   256A   varying value                                                       000000    1139800

  1471+                                                                                                          000000    1139900

  1472+                                                                                                          000000    1140000

  1473+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1140100

  1474+ * http_mfd_encoder_addstmf(): Add a stream file to what's stored                                         000000    1140200

  1475+ *       in a multipart/form-data encoder.                                                                000000    1140300

  1476+ *                                                                                                        000000    1140400

  1477+ *    peEncoder = pointer to encoder created by the                                                       000000    1140500

  1478+ *                  http_mfd_encoder_open() routine                                                       000000    1140600

  1479+ *   peVariable = variable name to add                                                                    000000    1140700

  1480+ *   pePathName = Path name of stream file to add                                                         000000    1140800

  1481+ *   peContType = Content-type of stream file to add                                                      000000    1140900

  1482+ *                                                                                                        000000    1141000

  1483+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1141100

  1484+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1141200

  1485+D http_mfd_encoder_addstmf...                                                                             000000    1141300

  1486+D                 PR             1N                                                                       000000    1141400

  1487+D    peEncoder                    *   value                                                               000000    1141500

  1488+D    peVariable                 50A   varying value                                                       000000    1141600

  1489+D    pePathName                   *   value options(*string)                                              100106    1141700

  1490+D    peContType                 64A   varying const                                                       000000    1141800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     30

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1491+                                                                                                          000000    1141900

  1492+                                                                                                          000000    1142000

  1493+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1142100

  1494+ * http_mfd_encoder_close():  close an open multipart/form-data                                           000000    1142200

  1495+ *                            encoder.                                                                    000000    1142300

  1496+ *                                                                                                        000000    1142400

  1497+ *     peEncoder = (input) encoder to close                                                               000000    1142500

  1498+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1142600

  1499+D http_mfd_encoder_close...                                                                               000000    1142700

  1500+D                 PR                                                                                      000000    1142800

  1501+D  peEncoder                      *   value                                                               000000    1142900

  1502+                                                                                                          000000    1143000

  1503+                                                                                                          000000    1143100

  1504+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1143200

  1505+ * http_debug():  Turn debugging info *ON or *OFF                                                         000000    1143300

  1506+ *                                                                                                        000000    1143400

  1507+ *      peStatus = (input) status (either *ON or *OFF)                                                    000000    1143500

  1508+ *                                                                                                        000000    1143600

  1509+ *    peFilename = (input/optional) filename that debug info will be                                      000000    1143700

  1510+ *                    written to.  If not defined, the value from                                         000000    1143800

  1511+ *                    CONFIG_H is used.                                                                   000000    1143900

  1512+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1144000

  1513+D http_debug      PR                                                                                      000000    1144100

  1514+D   peStatus                     1N   const                                                               000000    1144200

  1515+D   peFilename                 500A   varying const options(*nopass)                                      000000    1144300

  1516+                                                                                                          000000    1144400

  1517+                                                                                                          000000    1144500

  1518+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1144600

  1519+ * HTTP_SetCCSIDs():  Set the CCSIDs used for ASCII/EBCDIC                                                000000    1144700

  1520+ *                    translation                                                                         000000    1144800

  1521+ *                                                                                                        000000    1144900

  1522+ *     pePostRem = (input) Remote CCSID of POST data                                                      000000    1145000

  1523+ *     pePostLoc = (input) Local CCSID of POST data                                                       000000    1145100

  1524+ *     peProtRem = (input) Remote CCSID of Protocol data                                                  000000    1145200

  1525+ *     peProtLoc = (input) Local CCSID of Protocol data                                                   000000    1145300

  1526+ *                                                                                                        000000    1145400

  1527+ * Returns 0 if successful, -1 otherwise                                                                  000000    1145500

  1528+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1145600

  1529+D HTTP_SetCCSIDs  PR            10I 0                                                                     000000    1145700

  1530+D   pePostRem                   10I 0 value                                                               000000    1145800

  1531+D   pePostLoc                   10I 0 value                                                               000000    1145900

  1532+D   peProtRem                   10I 0 value options(*nopass)                                              000000    1146000

  1533+D   peProtLoc                   10I 0 value options(*nopass)                                              000000    1146100

  1534+                                                                                                          000000    1146200

  1535+                                                                                                          000000    1146300

  1536+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1146400

  1537+ * HTTP_SetTables():  Set the translation tables used for                                                 000000    1146500

  1538+ *                    ASCII/EBCDIC translation                                                            000000    1146600

  1539+ *                                                                                                        000000    1146700

  1540+ *     peASCII  = (input) Table for converting to ASCII                                                   000000    1146800

  1541+ *     peEBCDIC = (input) Table for converting to EBCDIC                                                  000000    1146900

  1542+ *                                                                                                        000000    1147000

  1543+ * Returns 0 if successful, -1 otherwise                                                                  000000    1147100

  1544+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1147200

  1545+D HTTP_SetTables  PR            10I 0                                                                     000000    1147300

  1546+D   peASCII                     10A   const                                                               000000    1147400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     31

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1547+D   peEBCDIC                    10A   const                                                               000000    1147500

  1548+                                                                                                          000000    1147600

  1549+                                                                                                          000000    1147700

  1550+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1147800

  1551+ * HTTP_SetFileCCSID(): Set the CCSID that downloaded stream                                              000000    1147900

  1552+ *                      files get tagged with                                                             000000    1148000

  1553+ *                                                                                                        000000    1148100

  1554+ *     peCCSID  = (input) New CCSID to assign                                                             000000    1148200

  1555+ *                                                                                                        000000    1148300

  1556+ * NOTE: HTTPAPI does not do *any* translation of downloaded                                              000000    1148400

  1557+ *       data. It only sets this number as part of the file's                                             000000    1148500

  1558+ *       attributes.  You can change it with the CHGATR CL                                                000000    1148600

  1559+ *       command.                                                                                         000000    1148700

  1560+ *                                                                                                        000000    1148800

  1561+ * NOTE: The IFS did not support CCSIDs in V4R5 and earlier.                                              000000    1148900

  1562+ *       On those releases, this API will be used to set the                                              000000    1149000

  1563+ *       codepage rather than the CCSID.                                                                  000000    1149100

  1564+ *                                                                                                        000000    1149200

  1565+ * Returns 0 if successful, -1 otherwise                                                                  000000    1149300

  1566+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1149400

  1567+D HTTP_SetfileCCSID...                                                                                    000000    1149500

  1568+D                 PR                                                                                      000000    1149600

  1569+D   peCCSID                     10I 0 value                                                               000000    1149700

  1570+                                                                                                          000000    1149800

  1571+                                                                                                          000000    1149900

  1572+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1150000

  1573+ * HTTP_xlate():  Translate data from ASCII <--> EBCDIC                                                   000000    1150100

  1574+ *                                                                                                        000000    1150200

  1575+ *       peSize = (input) Size of data to translate                                                       000000    1150300

  1576+ *       peData = (input) Data                                                                            000000    1150400

  1577+ *  peDirection = (input) can be set to the TO_ASCII or                                                   000000    1150500

  1578+ *                         TO_EBCDIC constant.                                                            000000    1150600

  1579+ *                                                                                                        000000    1150700

  1580+ * Returns 0 if successful, -1 upon failure                                                               000000    1150800

  1581+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1150900

  1582+D HTTP_xlate      PR            10I 0                                                                     000000    1151000

  1583+D   peSize                      10I 0 value                                                               000000    1151100

  1584+D   peData                   32766A   options(*varsize)                                                   000000    1151200

  1585+D   peDirection                  1A   const                                                               000000    1151300

  1586+                                                                                                          000000    1151400

  1587+                                                                                                          000000    1151500

  1588+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1151600

  1589+ * HTTP_xlatep(): Translate data from ASCII <--> EBCDIC                                                   000000    1151700

  1590+ *                (using a pointer instead of a variable)                                                 000000    1151800

  1591+ *                                                                                                        000000    1151900

  1592+ *       peSize = (input) Size of data to translate                                                       000000    1152000

  1593+ *       peData = (input) Data                                                                            000000    1152100

  1594+ *  peDirection = (input) can be set to the TO_ASCII or                                                   000000    1152200

  1595+ *                         TO_EBCDIC constant.                                                            000000    1152300

  1596+ *                                                                                                        000000    1152400

  1597+ * Returns 0 if successful, -1 upon failure                                                               000000    1152500

  1598+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1152600

  1599+D HTTP_xlatep     PR            10I 0                                                                     000000    1152700

  1600+D   peSize                      10I 0 value                                                               000000    1152800

  1601+D   peData                        *   value                                                               000000    1152900

  1602+D   peDirection                  1A   const                                                               000000    1153000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     32

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1603+                                                                                                          000000    1153100

  1604+                                                                                                          000000    1153200

  1605+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1153300

  1606+ * HTTP_xlatedyn: Translate data from ASCII <--> EBCDIC                                                   000000    1153400

  1607+ *                using a dynamically sized output buffer                                                 000000    1153500

  1608+ *                                                                                                        000000    1153600

  1609+ *      peSize = (input) size of data to translate                                                        000000    1153700

  1610+ *      peData = (input) pointer to data to translate                                                     000000    1153800

  1611+ * peDirection = (input) TO_ASCII or TO_EBCDIC                                                            000000    1153900

  1612+ *    peOutput = (output) address of newly allocated memory                                               000000    1154000

  1613+ *                                                                                                        000000    1154100

  1614+ * returns the length of the translated data or -1 upon failure                                           000000    1154200

  1615+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1154300

  1616+D HTTP_xlatedyn   PR            10I 0                                                                     000000    1154400

  1617+D   peSize                      10I 0 value                                                               000000    1154500

  1618+D   peData                        *   value                                                               000000    1154600

  1619+D   peDirection                  1A   const                                                               000000    1154700

  1620+D   peOutput                      *                                                                       000000    1154800

  1621+                                                                                                          000000    1154900

  1622+                                                                                                          000000    1155000

  1623+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1155100

  1624+ * http_set_100_timeout(): Set value for 100-continue timeouts.                                           000000    1155200

  1625+ *                                                                                                        000000    1155300

  1626+ * HTTP's POST/PUT operations have a feature to let you detect                                            090630    1155400

  1627+ * where your request URI is valid prior to uploading a document                                          090630    1155500

  1628+ * body (such as POST data or a file upload).                                                             090630    1155600

  1629+ *                                                                                                        090630    1155700

  1630+ * HTTPAPI can send "Expect: 100-continue" and the server should                                          090630    1155800

  1631+ * reply with status 100 to indicate that the upload should proceed                                       090630    1155900

  1632+ * or else provide an error message if the upload should not proceed.                                     090630    1156000

  1633+ *                                                                                                        090630    1156100

  1634+ * Despite being a part of the HTTP/1.1 protocol standard, many                                           090630    1156200

  1635+ * servers do not implement this properly.                                                                090630    1156300

  1636+ *                                                                                                        090630    1156400

  1637+ * Therefore:                                                                                             090630    1156500

  1638+ *    a) You may set the timeout to 0. HTTPAPI will not attempt                                           090630    1156600

  1639+ *         to use the 100-continue feature.                                                               090630    1156700

  1640+ *    b) You may set the timeout to a low value, so that HTTPAPI                                          090630    1156800

  1641+ *         will use the feature if possible, but will time                                                090630    1156900

  1642+ *         quickly if the feature isn't implemented                                                       090630    1157000

  1643+ *    c) You may set the timeout to a higher value if you want                                            090630    1157100

  1644+ *         to ensure that HTTPAPI always waits for it before                                              090630    1157200

  1645+ *         sending an upload.                                                                             090630    1157300

  1646+ *                                                                                                        090630    1157400

  1647+ * The timeout value is expressed in seconds, and may range                                               090630    1157500

  1648+ * from 0.001 (1 millisecond) to 9999999.999 (approx 116 days)                                            090630    1157600

  1649+ * or 0 = don't wait at all.                                                                              090630    1157700

  1650+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1157800

  1651+D http_set_100_timeout...                                                                                 000000    1157900

  1652+D                 PR                                                                                      000000    1158000

  1653+D   peTimeout                   10P 3 value                                                               000000    1158100

  1654+                                                                                                          000000    1158200

  1655+                                                                                                          000000    1158300

  1656+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1158400

  1657+ * HTTP_xml_SetCCSIDs():  Set the CCSIDs used for ASCII/EBCDIC                                            000000    1158500

  1658+ *                    translation for XML documents                                                       000000    1158600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     33

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1659+ *                                                                                                        000000    1158700

  1660+ *     peRemote = (input) remote CCSID                                                                    000000    1158800

  1661+ *     peLocal  = (input) local CCSID (can be 0 if you want                                               000000    1158900

  1662+ *                 to use the CCSID of the current job)                                                   000000    1159000

  1663+ *                                                                                                        000000    1159100

  1664+ * Returns 0 if successful, -1 otherwise                                                                  000000    1159200

  1665+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1159300

  1666+D HTTP_xml_SetCCSIDs...                                                                                   000000    1159400

  1667+D                 PR            10I 0                                                                     000000    1159500

  1668+D   peRemote                    10I 0 value                                                               000000    1159600

  1669+D   peLocal                     10I 0 value                                                               000000    1159700

  1670+                                                                                                          000000    1159800

  1671+                                                                                                          000000    1159900

  1672+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1160000

  1673+ *  http_parse_xml_stmf(): Parse XML data directly from a stream file                                     000000    1160100

  1674+ *                         (instead of downloading it from a server)                                      000000    1160200

  1675+ *                                                                                                        000000    1160300

  1676+ *      peFile = (input) Stream file (in IFS) to read data from                                           000000    1160400

  1677+ *     peCCSID = (input) CCSID of stream file,                                                            000000    1160500

  1678+ *                    or HTTP_XML_CALC to attempt to calculate it                                         000000    1160600

  1679+ *                       from the XML encoding                                                            000000    1160700

  1680+ *                    or HTTP_STMF_CALC to use the stream file's                                          000000    1160800

  1681+ *                       CCSID attribute.                                                                 000000    1160900

  1682+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1161000

  1683+ *                       of each XML element received.                                                    000000    1161100

  1684+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1161200

  1685+ *                       of each XML element received.                                                    000000    1161300

  1686+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1161400

  1687+ *                          to the call-back routine                                                      000000    1161500

  1688+ *                                                                                                        000000    1161600

  1689+ *  Returns  -1 upon failure, 0 if successful                                                             000000    1161700

  1690+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1161800

  1691+D http_parse_xml_stmf...                                                                                  000000    1161900

  1692+D                 PR            10I 0                                                                     000000    1162000

  1693+D  peFile                    32767A   varying const options(*varsize)                                     000000    1162100

  1694+D  peCCSID                      10I 0 value                                                               000000    1162200

  1695+D  peStartProc                    *   value procptr                                                       000000    1162300

  1696+D  peEndProc                      *   value procptr                                                       000000    1162400

  1697+D  peUsrDta                       *   value                                                               000000    1162500

  1698+                                                                                                          000000    1162600

  1699+D HTTP_XML_CALC   C                   -1                                                                  000000    1162700

  1700+D HTTP_STMF_CALC  C                   -2                                                                  000000    1162800

  1701+                                                                                                          000000    1162900

  1702+                                                                                                          000000    1163000

  1703+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1163100

  1704+ * http_header():  retrieve the value of an HTTP header                                                   000000    1163200

  1705+ *                                                                                                        000000    1163300

  1706+ *      name = (input) name of header to look for                                                         000000    1163400

  1707+ *       pos = (input/optional) position of header if there's                                             000000    1163500

  1708+ *                 more than one with the same name                                                       000000    1163600

  1709+ *                                                                                                        000000    1163700

  1710+ * returns the value of the HTTP header, or '' if not found                                               000000    1163800

  1711+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1163900

  1712+D http_header     PR         32500A   varying                                                             000000    1164000

  1713+D   name                       256A   varying const                                                       000000    1164100

  1714+D   pos                         10I 0 value options(*nopass)                                              000000    1164200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     34

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1715+                                                                                                          000000    1164300

  1716+                                                                                                          000000    1164400

  1717+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1164500

  1718+ * http_use_cookies(): Turns on/off HTTPAPI's cookie parsing and                                          000000    1164600

  1719+ *                     caching routines.                                                                  000000    1164700

  1720+ *                                                                                                        000000    1164800

  1721+ *    peSetting = (input) *ON = HTTPAPI will read and send cookies                                        000000    1164900

  1722+ *                       *OFF = HTTPAPI will ignore cookies                                               000000    1165000

  1723+ *                              (has no affect on cookies supplied                                        000000    1165100

  1724+ *                               via an exit procedure)                                                   000000    1165200

  1725+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1165300

  1726+D http_use_cookies...                                                                                     000000    1165400

  1727+D                 PR                                                                                      000000    1165500

  1728+D   peSetting                    1N   const                                                               000000    1165600

  1729+                                                                                                          000000    1165700

  1730+                                                                                                          000000    1165800

  1731+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1165900

  1732+ * http_cookie_file():  Set the name of the file that HTTPAPI                                             000000    1166000

  1733+ *          will use to store cookies.                                                                    000000    1166100

  1734+ *                                                                                                        000000    1166200

  1735+ *    peFilename = (input) Filename (IFS path) to store cookie                                            000000    1166300

  1736+ *                  data into.                                                                            000000    1166400

  1737+ *     peSession = (input) include session cookies (temp cookies)                                         081014    1166500

  1738+ *                  in cookie file?  Default = *OFF                                                       081014    1166600

  1739+ *                                                                                                        000000    1166700

  1740+ *  If the filename is set to '', or if you do not call this API,                                         000000    1166800

  1741+ *  cookies will only be saved until the activation group is                                              000000    1166900

  1742+ *  reclaimed.                                                                                            000000    1167000

  1743+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1167100

  1744+D http_cookie_file...                                                                                     000000    1167200

  1745+D                 PR                                                                                      000000    1167300

  1746+D   peFilename                 256A   varying const                                                       000000    1167400

  1747+D   peSession                    1n   const options(*nopass:*omit)                                        081014    1167500

  1748+                                                                                                          000000    1167600

  1749+                                                                                                          000000    1167700

  1750+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1167800

  1751+ * http_comp(): Send a completion message                                                                 080707    1167900

  1752+ *                                                                                                        000000    1168000

  1753+ *      peMessage = message to send.                                                                      000000    1168100

  1754+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1168200

  1755+D http_comp       PR                                                                                      000000    1168300

  1756+D   peMessage                  256A   const                                                               000000    1168400

  1757+                                                                                                          000000    1168500

  1758+                                                                                                          000000    1168600

  1759+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1168700

  1760+ * http_diag(): Send a diagnostic message                                                                 000000    1168800

  1761+ *                                                                                                        000000    1168900

  1762+ *      peMessage = message to send.                                                                      000000    1169000

  1763+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1169100

  1764+D http_diag       PR                                                                                      000000    1169200

  1765+D   peMessage                  256A   const                                                               000000    1169300

  1766+                                                                                                          000000    1169400

  1767+                                                                                                          000000    1169500

  1768+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1169600

  1769+ * http_crash(): Send back an *ESCAPE message containing last                                             000000    1169700

  1770+ *               error found in HTTPAPI.                                                                  000000    1169800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     35

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1771+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1169900

  1772+D http_crash      PR                                                                                      000000    1170000

  1773+                                                                                                          000000    1170100

  1774+                                                                                                          000000    1170200

  1775+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1170300

  1776+ * http_tempfile():  Generate a unique temporary IFS file name                                            000000    1170400

  1777+ *                                                                                                        000000    1170500

  1778+ * returns the file name                                                                                  000000    1170600

  1779+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1170700

  1780+D http_tempfile   PR            40A   varying                                                             000000    1170800

  1781+                                                                                                          070329    1170900

  1782+                                                                                                          070329    1171000

  1783+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329    1171100

  1784+ * http_xmlns():  Enable XML Namespace processing                                                         070329    1171200

  1785+ *                                                                                                        070329    1171300

  1786+ *     peEnable = (input) *ON to enable parsing, *OFF to disable.                                         070329    1171400

  1787+ *                        (it is disabled by default)                                                     070329    1171500

  1788+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329    1171600

  1789+D http_xmlns      PR                                                                                      070329    1171700

  1790+D   peEnable                     1N   const                                                               070329    1171800

  1791+                                                                                                          070816    1171900

  1792+                                                                                                          070816    1172000

  1793+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816    1172100

  1794+ * http_XmlReturnPtr(): XML End Element Handler should return a                                           070816    1172200

  1795+ *                      pointer to the full element value instead of                                      070816    1172300

  1796+ *                      returning a VARYING character string.                                             070816    1172400

  1797+ *                      (VARYING is limited to 64k)                                                       070816    1172500

  1798+ *                                                                                                        070816    1172600

  1799+ *     peEnable = (input) *ON to return a pointer, *OFF to return                                         070816    1172700

  1800+ *                        a VARYING string (*OFF = default)                                               070816    1172800

  1801+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816    1172900

  1802+D http_XmlReturnPtr...                                                                                    070816    1173000

  1803+D                 PR                                                                                      070816    1173100

  1804+D   peEnable                     1N   const                                                               070816    1173200

  1805+                                                                                                          070912    1173300

  1806+                                                                                                          070912    1173400

  1807+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070912    1173500

  1808+ * http_XmlStripCRLF(): Enable stripping of CRLF characters                                               070912    1173600

  1809+ *                                                                                                        070912    1173700

  1810+ *     peEnable = (input) *ON to strip, *OFF to leave them in.                                            070912    1173800

  1811+ *                        (they are stripped by default)                                                  070912    1173900

  1812+ *                                                                                                        070912    1174000

  1813+ * Note: To simplify your XML string manipulations, HTTPAPI                                               070912    1174100

  1814+ *       strips CRLF characters from the response.  If you would                                          070912    1174200

  1815+ *       prefer that they are left in the response, call this                                             070912    1174300

  1816+ *       routine with a parameter of *OFF.                                                                070912    1174400

  1817+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070912    1174500

  1818+D http_XmlStripCRLF...                                                                                    070912    1174600

  1819+D                 PR                                                                                      070912    1174700

  1820+D   peEnable                     1N   const                                                               070912    1174800

  1821+                                                                                                          071119    1174900

  1822+                                                                                                          071119    1175000

  1823+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       071119    1175100

  1824+ * http_parser_switch_cb(): delegates element processing to another                                       071119    1175200

  1825+ *     set of start and end element callback procedures for the                                           071119    1175300

  1826+ *     current element and its children.                                                                  071119    1175400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     36

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1827+ *                                                                                                        071119    1175500

  1828+ *    peUsrDta = (input) user-defined data that will be passed to                                         071119    1175600

  1829+ *                       the call-back routine. usuallay only that                                        071119    1175700

  1830+ *                       portion of the curent user data is forwarded                                     071119    1175800

  1831+ *                       to the new callback procedures that they are                                     071119    1175900

  1832+ *                       responsible for.                                                                 071119    1176000

  1833+ * peStartProc = (input) call-back procedure to call at the start                                         071119    1176100

  1834+ *                       of each XML element received.                                                    071119    1176200

  1835+ *   peEndProc = (input) call-back procedure to call at the end                                           071119    1176300

  1836+ *                       of each XML element received.                                                    071119    1176400

  1837+ *                                                                                                        071119    1176500

  1838+ *  Returns  -1 upon failure, 0 upon success                                                              071119    1176600

  1839+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       071119    1176700

  1840+D http_parser_switch_cb...                                                                                071119    1176800

  1841+D                 PR            10I 0                                                                     071119    1176900

  1842+D  peUsrDta                       *   value                                                               071119    1177000

  1843+D  peStartProc                    *   value procptr                                                       071119    1177100

  1844+D  peEndProc                      *   value procptr options(*nopass)                                      071119    1177200

  1845+                                                                                                          080205    1177300

  1846+                                                                                                          080205    1177400

  1847+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1177500

  1848+ * http_parser_get_start_cb(): returns the procedure pointer of                                           080205    1177600

  1849+ *     the currently active start callback procedure.                                                     080205    1177700

  1850+ *                                                                                                        080205    1177800

  1851+ *  Returns procedure pointer of start callback procedure.                                                080205    1177900

  1852+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1178000

  1853+D http_parser_get_start_cb...                                                                             080205    1178100

  1854+D                 PR              *   procptr                                                             080205    1178200

  1855+                                                                                                          080205    1178300

  1856+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1178400

  1857+ * http_parser_get_end_cb(): returns the procedure pointer of                                             080205    1178500

  1858+ *     the currently active end callback procedure.                                                       080205    1178600

  1859+ *                                                                                                        080205    1178700

  1860+ *  Returns procedure pointer of end callback procedure.                                                  080205    1178800

  1861+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1178900

  1862+D http_parser_get_end_cb...                                                                               080205    1179000

  1863+D                 PR              *   procptr                                                             080205    1179100

  1864+                                                                                                          080205    1179200

  1865+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1179300

  1866+ * http_parser_get_userdata(): returns the procedure pointer of                                           080205    1179400

  1867+ *     the currently active user data.                                                                    080205    1179500

  1868+ *                                                                                                        080205    1179600

  1869+ *  Returns procedure pointer of user data.                                                               080205    1179700

  1870+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1179800

  1871+D http_parser_get_userdata...                                                                             080205    1179900

  1872+D                 PR              *                                                                       080205    1180000

  1873+                                                                                                          080331    1180100

  1874+                                                                                                          080331    1180200

  1875+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  080331    1180300

  1876+ * http_parse_xml_string():  Parse XML from an input string.                                              080331    1180400

  1877+ *                         (instead of downloading it from a server)                                      080331    1180500

  1878+ *                                                                                                        080331    1180600

  1879+ *    peString = (input) Pointer to string                                                                080331    1180700

  1880+ *       peLen = (input) Length of string to parse                                                        080331    1180800

  1881+ *     peCCSID = (input) CCSID of string to be parsed                                                     080331    1180900

  1882+ * peStartProc = (input) call-back procedure to call at the start                                         080331    1181000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     37

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1883+ *                       of each XML element received.                                                    080331    1181100

  1884+ *   peEndProc = (input) call-back procedure to call at the end                                           080331    1181200

  1885+ *                       of each XML element received.                                                    080331    1181300

  1886+ *    peUsrDta = (input) user-defined data that will be passed                                            080331    1181400

  1887+ *                          to the call-back routine                                                      080331    1181500

  1888+ *                                                                                                        080331    1181600

  1889+ *  Returns  -1 upon failure, 0 upon success                                                              080331    1181700

  1890+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   080331    1181800

  1891+D http_parse_xml_string...                                                                                080331    1181900

  1892+D                 PR            10i 0                                                                     080331    1182000

  1893+D  peString                       *   value                                                               080331    1182100

  1894+D  peLen                        10I 0 value                                                               080331    1182200

  1895+D  peCCSID                      10I 0 value                                                               080331    1182300

  1896+D  peStartProc                    *   value procptr                                                       080331    1182400

  1897+D  peEndProc                      *   value procptr                                                       080331    1182500

  1898+D  peUsrDta                       *   value                                                               080331    1182600

  1899+                                                                                                          081125    1182700

  1900+                                                                                                          081125    1182800

  1901+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   081125    1182900

  1902+ * HTTP_nextXmlAttr():  Retrieve next XML attribute from attrs list                                       081125    1183000

  1903+ *                                                                                                        081125    1183100

  1904+ *      attrs = (input) attribute list to extract from                                                    081125    1183200

  1905+ *        num = (i/o)   position in attribute list.  On first                                             081125    1183300

  1906+ *                      call, set this to 1.  HTTPAPI will                                                081125    1183400

  1907+ *                      increment this as it moves through the list                                       081125    1183500

  1908+ *       name = (output) XML attribute name (from list)                                                   081125    1183600

  1909+ *        val = (output) XML attribute value (from list)                                                  081125    1183700

  1910+ *                                                                                                        081125    1183800

  1911+ * Returns *ON normally, *OFF if there's no more attributes to read                                       081125    1183900

  1912+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   081125    1184000

  1913+D HTTP_nextXmlAttr...                                                                                     081125    1184100

  1914+D                 PR             1N                                                                       081125    1184200

  1915+D   attrs                         *   dim(32767)                                                          081125    1184300

  1916+D                                     const options(*varsize)                                             081125    1184400

  1917+D   num                         10i 0                                                                     081125    1184500

  1918+D   name                      1024a   varying                                                             081125    1184600

  1919+D   val                      65535a   varying                                                             081125    1184700

  1920+                                                                                                          090528    1184800

  1921+                                                                                                          090528    1184900

  1922+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         090528    1185000

  1923+ * http_EscapeXml(): Escape any special characters used by XML                                            090528    1185100

  1924+ *                                                                                                        090528    1185200

  1925+ *     peString = (input) string to escape                                                                090528    1185300

  1926+ *                                                                                                        090528    1185400

  1927+ * Returns escaped string.                                                                                090528    1185500

  1928+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         090528    1185600

  1929+D http_EscapeXml  PR          4096a   varying                                                             090528    1185700

  1930+D  peString                   4096a   varying const                                                       090528    1185800

  1931+                                                                                                          090624    1185900

  1932+                                                                                                          090624    1186000

  1933+ /if defined(HTTP_WSDL2RPG_STUFF)                                                                         091007    1186100

            LINES EXCLUDED: 32

  1934+ /endif                                                                                                   091007    1189400

  1935+                                                                                                          100528    1189500

  1936+                                                                                                          100528    1189600

  1937+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1189700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     38

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1938+ * http_dwrite(): Write raw (binary) data to the HTTPAPI debug                                            100528    1189800

  1939+ *                log.                                                                                    100528    1189900

  1940+ *                                                                                                        100528    1190000

  1941+ *    peData = pointer to raw data to write                                                               100528    1190100

  1942+ *    peLen  = length of the data to write                                                                100528    1190200

  1943+ *                                                                                                        100528    1190300

  1944+ * NOTE: The debug log is opened the first time http_dwrite()                                             100528    1190400

  1945+ *       or http_dmsg() is called, and closed at the end of a                                             100528    1190500

  1946+ *       an HTTP transaction (such as GET or POST) If you attempt                                         100528    1190600

  1947+ *       to write after a transaction, the file will be re-opened                                         100528    1190700

  1948+ *       and not closed until the next transaction, or until                                              100528    1190800

  1949+ *       http_dclose() is called.                                                                         100528    1190900

  1950+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1191000

  1951+D http_dwrite     PR                                                                                      100528    1191100

  1952+D   peData                        *   value                                                               100528    1191200

  1953+D   peLen                       10I 0 value                                                               100528    1191300

  1954+                                                                                                          100528    1191400

  1955+                                                                                                          100528    1191500

  1956+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1191600

  1957+ * http_dmsg(): Write one line of text to the HTTPAPI debug log                                           100528    1191700

  1958+ *                                                                                                        100528    1191800

  1959+ *    peMsgTxt = one message (one line of text) to write to                                               100528    1191900

  1960+ *                the debug log.  CRLF will be added for you                                              100528    1192000

  1961+ *                and the data will be undergo EBCDIC->ASCII                                              100528    1192100

  1962+ *                translation as it's written.                                                            100528    1192200

  1963+ *                                                                                                        100528    1192300

  1964+ * NOTE: The debug log is opened the first time http_dwrite()                                             100528    1192400

  1965+ *       or http_dmsg() is called, and closed at the end of a                                             100528    1192500

  1966+ *       an HTTP transaction (such as GET or POST) If you attempt                                         100528    1192600

  1967+ *       to write after a transaction, the file will be re-opened                                         100528    1192700

  1968+ *       and not closed until the next transaction, or until                                              100528    1192800

  1969+ *       http_dclose() is called.                                                                         100528    1192900

  1970+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1193000

  1971+D http_dmsg       PR                                                                                      100528    1193100

  1972+D   peMsgTxt                   256A   const                                                               100528    1193200

  1973+                                                                                                          080205    1193300

  1974+                                                                                                          100528    1193400

  1975+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1193500

  1976+ * http_dclose():  Close the HTTPAPI debug log.                                                           100528    1193600

  1977+ *                                                                                                        100528    1193700

  1978+ * NOTE: Calling http_dmsg or http_dwrite will automatically                                              100528    1193800

  1979+ *       reopen the log. The log is automatically closed at                                               100528    1193900

  1980+ *       the end of an HTTP transaction (such as GET or POST)                                             100528    1194000

  1981+ *       If you want to close it at another time, call this                                               100528    1194100

  1982+ *       routine.                                                                                         100528    1194200

  1983+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1194300

  1984+D http_dclose     PR                                                                                      100528    1194400

  1985+                                                                                                          071119    1194500

  1986+                                                                                                          100528    1194600

  1987+ *********************************************************************                                    000000    1194700

  1988+ **  Error codes that HTTP API can return                                                                 000000    1194800

  1989+ *********************************************************************                                    000000    1194900

  1990+ ** Invalid URL format                                                                                    000000    1195000

  1991+D HTTP_BADURL     C                   CONST(1)                                                            000000    1195100

  1992+ ** Host not found (not a valid IP address, or DNS lookup failed)                                         000000    1195200

  1993+D HTTP_HOSTNF     C                   CONST(2)                                                            000000    1195300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     39

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1994+ ** Unable to create a new socket                                                                         000000    1195400

  1995+D HTTP_SOCERR     C                   CONST(4)                                                            000000    1195500

  1996+ ** Error when connecting to server                                                                       000000    1195600

  1997+D HTTP_BADCNN     C                   CONST(6)                                                            000000    1195700

  1998+ ** Timeout when connecting to server                                                                     000000    1195800

  1999+D HTTP_CNNTIMO    C                   CONST(7)                                                            000000    1195900

  2000+ ** HTTP response code logged (not an error, per se)                                                      000000    1196000

  2001+D HTTP_RESP       C                   CONST(13)                                                           000000    1196100

  2002+ ** Error calling user-specified procedure in the                                                         000000    1196200

  2003+ **   recvdoc() procedure.  (user proc must return full count)                                            000000    1196300

  2004+D HTTP_RDWERR     C                   CONST(16)                                                           000000    1196400

  2005+ ** Unsupported transfer-encoding value                                                                   000000    1196500

  2006+D HTTP_XFRENC     C                   CONST(20)                                                           000000    1196600

  2007+ ** Error opening file to save data into.                                                                 000000    1196700

  2008+D HTTP_FDOPEN     C                   CONST(22)                                                           000000    1196800

  2009+ ** Problem with the Application ID for the DCM                                                           000000    1196900

  2010+D HTTP_GSKAPPID   C                   CONST(23)                                                           000000    1197000

  2011+ ** Error setting auth type                                                                               000000    1197100

  2012+D HTTP_GSKATYP    C                   CONST(24)                                                           000000    1197200

  2013+ ** Error initializing GSKit environment                                                                  000000    1197300

  2014+D HTTP_GSKENVI    C                   CONST(25)                                                           000000    1197400

  2015+ ** Error opening GSKit environment                                                                       000000    1197500

  2016+D HTTP_GSKENVO    C                   CONST(26)                                                           000000    1197600

  2017+ ** Error setting session type (client | server | server_auth)                                            000000    1197700

  2018+D HTTP_GSKSTYP    C                   CONST(27)                                                           000000    1197800

  2019+ ** Error registering application w/DCM                                                                   000000    1197900

  2020+D HTTP_REGERR     C                   CONST(28)                                                           000000    1198000

  2021+ ** Error open secure socket                                                                              000000    1198100

  2022+D HTTP_SSOPEN     C                   CONST(29)                                                           000000    1198200

  2023+ ** Error setting SSL numeric file descriptor                                                             000000    1198300

  2024+D HTTP_SSSNFD     C                   CONST(30)                                                           000000    1198400

  2025+ ** Error setting SSL numeric timeout value                                                               000000    1198500

  2026+D HTTP_SSSNTO     C                   CONST(31)                                                           000000    1198600

  2027+ ** SSL handshake timed out                                                                               000000    1198700

  2028+D HTTP_SSTIMO     C                   CONST(32)                                                           000000    1198800

  2029+ ** This app is not registered with digital cert mgr                                                      000000    1198900

  2030+D HTTP_NOTREG     C                   CONST(35)                                                           000000    1199000

  2031+ ** This URI needs authorization (user/pass)                                                              000000    1199100

  2032+D HTTP_NDAUTH     C                   CONST(36)                                                           000000    1199200

  2033+ ** Invalid HTTP authentication type                                                                      000000    1199300

  2034+D HTTP_ATHTYP     C                   CONST(37)                                                           000000    1199400

  2035+ ** Error in value of an HTTP authentication string                                                       000000    1199500

  2036+D HTTP_ATHVAL     C                   CONST(38)                                                           000000    1199600

  2037+ ** Server didn't ask for authorizatin                                                                    000000    1199700

  2038+D HTTP_NOAUTH     C                   CONST(39)                                                           000000    1199800

  2039+ ** blockread() timed out waiting for more data                                                           000000    1199900

  2040+D HTTP_BRTIME     C                   CONST(43)                                                           000000    1200000

  2041+ ** blockread() error during recv() call                                                                  000000    1200100

  2042+D HTTP_BRRECV     C                   CONST(44)                                                           000000    1200200

  2043+ ** blockread() error during select() call                                                                000000    1200300

  2044+D HTTP_BRSELE     C                   CONST(45)                                                           000000    1200400

  2045+ ** recvchunk() did not get the trailing CRLF chars                                                       000000    1200500

  2046+D HTTP_RDCRLF     C                   CONST(46)                                                           000000    1200600

  2047+ ** Invalid exit point registered with HTTP_Xproc()                                                       000000    1200700

  2048+D HTTP_BADPNT     C                   CONST(47)                                                           000000    1200800

  2049+ ** Error retrieving SSL protocol                                                                         000000    1200900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     40

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2050+D HTTP_SSPROT     C                   CONST(48)                                                           000000    1201000

  2051+ ** Unknown SSL protocol                                                                                  000000    1201100

  2052+D HTTP_SSPUNK     C                   CONST(49)                                                           000000    1201200

  2053+ ** Error setting SSL protocol                                                                            000000    1201300

  2054+D HTTP_SSPSET     C                   CONST(50)                                                           000000    1201400

  2055+ ** Out of memory                                                                                         000000    1201500

  2056+D HTTP_NOMEM      C                   CONST(51)                                                           000000    1201600

  2057+ ** Must give data in order to encode it                                                                  000000    1201700

  2058+D HTTP_NODATA     C                   CONST(52)                                                           000000    1201800

  2059+ ** Pointer is invalid or already freed                                                                   000000    1201900

  2060+D HTTP_INVPTR     C                   CONST(53)                                                           000000    1202000

  2061+ ** Not enough space to add encoded variable                                                              000000    1202100

  2062+D HTTP_NOSPAC     C                   CONST(54)                                                           000000    1202200

  2063+ ** Error calling send() API in BlockWrite()                                                              000000    1202300

  2064+D HTTP_BWSEND     C                   CONST(55)                                                           000000    1202400

  2065+ ** Error calling select() API in BlockWrite()                                                            000000    1202500

  2066+D HTTP_BWSELE     C                   CONST(56)                                                           000000    1202600

  2067+ ** Timeout waiting to send in BlockWrite()                                                               000000    1202700

  2068+D HTTP_BWTIME     C                   CONST(57)                                                           000000    1202800

  2069+ ** Lineread() had problem with recv() API                                                                000000    1202900

  2070+D HTTP_LRRECV     C                   CONST(58)                                                           000000    1203000

  2071+ ** Lineread() had problem with select() API                                                              000000    1203100

  2072+D HTTP_LRSELE     C                   CONST(59)                                                           000000    1203200

  2073+ ** Lineread() had timeout                                                                                000000    1203300

  2074+D HTTP_LRTIME     C                   CONST(60)                                                           000000    1203400

  2075+ ** Procedure is no longer supported                                                                      000000    1203500

  2076+D HTTP_NOTSUPP    C                   CONST(61)                                                           000000    1203600

  2077+ ** No communication driver defined                                                                       000000    1203700

  2078+D HTTP_NOCDRIV    C                   CONST(62)                                                           000000    1203800

  2079+ ** Timeout sending data in blockwrite                                                                    000000    1203900

  2080+D HTTP_BWTIMO     C                   CONST(63)                                                           000000    1204000

  2081+ ** Timeout sending data in blockwrite                                                                    000000    1204100

  2082+D HTTP_SWCERR     C                   CONST(64)                                                           000000    1204200

  2083+ ** Timeout sending data in blockwrite                                                                    000000    1204300

  2084+D HTTP_FDSTAT     C                   CONST(65)                                                           000000    1204400

  2085+ ** Error parsing XML data                                                                                000000    1204500

  2086+D HTTP_XMLERR     C                   CONST(66)                                                           000000    1204600

  2087+ ** Error opening IFS file                                                                                000000    1204700

  2088+D HTTP_IFOPEN     C                   CONST(67)                                                           000000    1204800

  2089+ ** Error with SSL keyring                                                                                000000    1204900

  2090+D HTTP_GSKKEYF    C                   CONST(68)                                                           000000    1205000

  2091+ ** Must Use Table / Must not Use Table                                                                   000000    1205100

  2092+D HTTP_MUTABLE    C                   CONST(69)                                                           000000    1205200

  2093+ ** Cookie file cant be written                                                                           000000    1205300

  2094+D HTTP_CKDUMP     C                   CONST(70)                                                           000000    1205400

  2095+ ** Cookie file cant be read                                                                              000000    1205500

  2096+D HTTP_CKOPEN     C                   CONST(71)                                                           000000    1205600

  2097+ ** Can't get stats on cookie file                                                                        000000    1205700

  2098+D HTTP_CKSTAT     C                   CONST(72)                                                           000000    1205800

  2099+ ** Error converting CCSIDs                                                                               000000    1205900

  2100+D HTTP_CONVERR    C                   CONST(73)                                                           000000    1206000

  2101+ ** Error setting stream file CCSID                                                                       000000    1206100

  2102+D HTTP_SETATTR    C                   CONST(74)                                                           000000    1206200

  2103+ ** This Proxy server needs authorization (user/pass)                                                     000000    1206300

  2104+D HTTP_PXNDAUTH   C                   CONST(75)                                                           000000    1206400

  2105+ ** XML callback switched illegally                                                                       071119    1206500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     41

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2106+D HTTP_ILLSWC     C                   CONST(76)                                                           071119    1206600

  2107+ ** Error getting certificate info                                                                        071218    1206700

  2108+D HTTP_SSLGCI     C                   CONST(77)                                                           071218    1206800

  2109+ ** Error from certificate validation callback                                                            071218    1206900

  2110+D HTTP_SSLVAL     C                   CONST(78)                                                           071218    1207000

  2111+                                                                                                          000000    1207100

  2112+                                                                                                          000000    1207200

  2113+ *********************************************************************                                    000000    1207300

  2114+ *  HTTP WWW-Authentication types                                                                         000000    1207400

  2115+ *********************************************************************                                    000000    1207500

  2116+D HTTP_AUTH_NONE...                                                                                       000000    1207600

  2117+D                 C                   '0'                                                                 000000    1207700

  2118+D HTTP_AUTH_BASIC...                                                                                      000000    1207800

  2119+D                 C                   '1'                                                                 000000    1207900

  2120+D HTTP_AUTH_MD5_DIGEST...                                                                                 000000    1208000

  2121+D                 C                   '2'                                                                 000000    1208100

  2122+                                                                                                          000000    1208200

  2123+                                                                                                          000000    1208300

  2124+ *********************************************************************                                    000000    1208400

  2125+ *  HTTPAPI Exit points                                                                                   000000    1208500

  2126+ *********************************************************************                                    000000    1208600

  2127+ ** Debug exit point:  This is called when ASCII stream data is to be                                     000000    1208700

  2128+ **                    to a log file.   Here's the prototype for a                                        000000    1208800

  2129+ **                    debug exit procedure:                                                              000000    1208900

  2130+ **                                                                                                       000000    1209000

  2131+ **  D debug_proto     PR                                                                                 000000    1209100

  2132+ **  D   DataToLog                     *   value                                                          000000    1209200

  2133+ **  D   Length                      10I 0 value                                                          000000    1209300

  2134+ **                                                                                                       000000    1209400

  2135+D HTTP_POINT_DEBUG...                                                                                     000000    1209500

  2136+D                 C                   1                                                                   000000    1209600

  2137+                                                                                                          000000    1209700

  2138+ ** Upload status exit point:  This is called periodically during an                                      000000    1209800

  2139+ **                            upload (POST) to an HTTP(S) server.                                        000000    1209900

  2140+ **                            Allows you to display progress to the                                      000000    1210000

  2141+ **                            user.                                                                      000000    1210100

  2142+ **                                                                                                       000000    1210200

  2143+ **  D upload_proto    PR                                                                                 000000    1210300

  2144+ **  D   BytesSent                   10U 0 value                                                          000000    1210400

  2145+ **  D   BytesTotal                  10U 0 value                                                          000000    1210500

  2146+ **                                                                                                       000000    1210600

  2147+D HTTP_POINT_UPLOAD_STATUS...                                                                             000000    1210700

  2148+D                 C                   2                                                                   000000    1210800

  2149+                                                                                                          000000    1210900

  2150+ ** Download status exit point:  This is called periodically during a                                     000000    1211000

  2151+ **                              download (POST or GET) from an HTTP(S)                                   000000    1211100

  2152+ **                              server.  Allows you to display the                                       000000    1211200

  2153+ **                              progress to the user.                                                    000000    1211300

  2154+ **                                                                                                       000000    1211400

  2155+ **  D download_proto  PR                                                                                 000000    1211500

  2156+ **  D   BytesRecv                   10U 0 value                                                          000000    1211600

  2157+ **  D   BytesTotal                  10U 0 value                                                          000000    1211700

  2158+ **                                                                                                       000000    1211800

  2159+D HTTP_POINT_DOWNLOAD_STATUS...                                                                           000000    1211900

  2160+D                 C                   3                                                                   000000    1212000

  2161+                                                                                                          000000    1212100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     42

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2162+ ** Additional Header fields exit point:                                                                  000000    1212200

  2163+ **    Allows you to supply additional header data to be added                                            000000    1212300

  2164+ **    to the HTTP request chain.  Data should be in EBCDIC with                                          000000    1212400

  2165+ **    x'0d25' after each header record.                                                                  000000    1212500

  2166+ **                                                                                                       000000    1212600

  2167+ **  D addl_hdrs_prot  PR                                                                                 000000    1212700

  2168+ **  D   HeaderData                1024A   varying                                                        000000    1212800

  2169+ **                                                                                                       000000    1212900

  2170+D HTTP_POINT_ADDL_HEADER...                                                                               081014    1213000

  2171+D                 C                   4                                                                   081014    1213100

  2172+                                                                                                          081014    1213200

  2173+ ** Header parse exit point:                                                                              000000    1213300

  2174+ **    Allows you to examine the HTTP response chain received                                             000000    1213400

  2175+ **    from the HTTP server.                                                                              000000    1213500

  2176+ **                                                                                                       000000    1213600

  2177+ **  D parse_hdr_prot  PR                                                                                 000000    1213700

  2178+ **  D   HeaderData                2048A   const                                                          000000    1213800

  2179+ **                                                                                                       000000    1213900

  2180+D HTTP_POINT_PARSE_HEADER...                                                                              000000    1214000

  2181+D                 C                   5                                                                   000000    1214100

  2182+                                                                                                          000000    1214200

  2183+ ** Header parse exit point:                                                                              000000    1214300

  2184+ **    Allows you to examine the HTTP response chain received                                             000000    1214400

  2185+ **    from the HTTP server. (allows longer headers)                                                      000000    1214500

  2186+ **                                                                                                       000000    1214600

  2187+ **  D parse_hdr_long  PR                                                                                 000000    1214700

  2188+ **  D   HeaderData               32767A   const varying                                                  000000    1214800

  2189+ **                                                                                                       000000    1214900

  2190+D HTTP_POINT_PARSE_HDR_LONG...                                                                            000000    1215000

  2191+D                 C                   6                                                                   000000    1215100

  2192+                                                                                                          071218    1215200

  2193+ ** SSL Certificate validation:                                                                           071218    1215300

  2194+ **    This will be called repeatedly for each field in each                                              071218    1215400

  2195+ **    certificate when parsed by HTTPAPI.                                                                071218    1215500

  2196+ **                                                                                                       071218    1215600

  2197+ **  D cert_valid      PR            10i 0                                                                071218    1215700

  2198+ **  D   usrdta                        *   value                                                          071218    1215800

  2199+ **  D   id                                like(CERT_DATA_ID) value                                       071218    1215900

  2200+ **  D   data                     32767a   varying const                                                  071218    1216000

  2201+ **  D   errmsg                      80a                                                                  071218    1216100

  2202+ **                                                                                                       071218    1216200

  2203+ **     id = certificate data id (see CERT_DATA_ID_T in GSKSSL_H)                                         071218    1216300

  2204+ **   data = certificate element data.  (For binary elements, this                                        071221    1216400

  2205+ **          is binary data. For others, it'll be EBCDIC data.)                                           071218    1216500

  2206+ ** errmsg = the callback can use this to return a reason why a                                           071218    1216600

  2207+ **          certificate wasn't valid.  (retrievable w/HTTP_error)                                        071218    1216700

  2208+ **                                                                                                       071218    1216800

  2209+ **  Return 0 if okay, -1 if you want to reject it.                                                       071218    1216900

  2210+ **                                                                                                       071218    1217000

  2211+D HTTP_POINT_CERT_VAL...                                                                                  071218    1217100

  2212+D                 C                   7                                                                   071218    1217200

  2213+                                                                                                          071218    1217300

  2214+ ** SSL Certificate validation (GSkit)                                                                    071221    1217400

  2215+ **    This sets the GSK_CERT_VALIDATION_CALLBACK callback proc                                           071218    1217500

  2216+ **    within GSKit.  The GSKit (not HTTPAPI) will call back                                              071218    1217600

  2217+ **    your procedure to validate a certificate.                                                          071218    1217700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     43

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2218+ **                                                                                                       071218    1217800

  2219+ **    See the gsk_attribute_set_callback() API documentation                                             071218    1217900

  2220+ **    in the IBM Information Center for details.                                                         071218    1218000

  2221+ **                                                                                                       071218    1218100

  2222+ **    Note: The UserData parameter to http_xproc() will be                                               071218    1218200

  2223+ **          passed as the 3rd parameter to the                                                           071218    1218300

  2224+ **          gsk_attribute_set_callback() API -- the peProc                                               071218    1218400

  2225+ **          parameter to http_xproc() is ignored for this                                                071218    1218500

  2226+ **          exit point.                                                                                  071218    1218600

  2227+ **                                                                                                       071218    1218700

  2228+D HTTP_POINT_GSKIT_CERT_VAL...                                                                            071218    1218800

  2229+D                 C                   8                                                                   071218    1218900

  2230+                                                                                                          000000    1219000

  2231+                                                                                                          000000    1219100

  2232+ *********************************************************************                                    000000    1219200

  2233+ * Directions for HTTP_xlate() and HTTP_xlatep()                                                          000000    1219300

  2234+ *********************************************************************                                    000000    1219400

  2235+D TO_ASCII        C                   '1'                                                                 000000    1219500

  2236+D TO_EBCDIC       C                   '2'                                                                 000000    1219600

  2237                                                                                                           091207     003600

  2238  /Define cpyGetEmailByMem_PR                                                                              091209     003700

  2239  /Copy Qrpglesrc,CB.EMAIL                                                                                 091207     003800

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.EMAIL                                                     *                     3

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.EMAIL)                                    *                     3

        * Last change  . . . . . . . :  04/07/10  11:49:52                                           *                     3

        * Text 'description' . . . . :  Email Web Service - Copy Book                                *                     3

        *--------------------------------------------------------------------------------------------*

  2240+ *-----------------------------------------------------------------------------*                          091203    3000100

  2241+ *-                                                                            *                          091203    3000200

  2242+ *- Copy Book   :  CB.EMAIL Copy Book for WS.EMAIL                             *                          091208    3000300

  2243+ *-                                                                            *                          091203    3000400

  2244+ *- Description :  Membership Re-Architecture EMAIL Service Copy Book          *                          091208    3000500

  2245+ *-                                                                            *                          091203    3000600

  2246+ *-----------------------------------------------------------------------------*                          091203    3000700

  2247+ *-                                                                            *                          091203    3000800

  2248+ *-                  M O D I F I C A T I O N S                                 *                          091203    3000900

  2249+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    3001000

  2250+ *- Date       User ID    Task #     Description                               *                          091203    3001100

  2251+ *- ----       -------    --------   -----------                               *                          091203    3001200

  2252+ *- 2009-12-07 VGato      RA010004   Copy Book Written                         *                          091208    3001300

  2253+ *                                                                             *                          091203    3001400

  2254+ *-----------------------------------------------------------------------------*                          091203    3001500

  2255+ /If Defined (cpyGetEmailByMem_PR)                                                                        091209    3001600

  2256+D getEmailByMem   PR                  LikeDs(ContactEmailDs)                                              100127    3001700

  2257+D   pMemb#                       7S 0 Const                                                               100127    3001800

  2258+ /EndIf                                                                                                   000912    3001900

  2259+                                                                                                          000912    3002000

  2260+ /If Defined (cpyGetEmailByMem_DS)                                                                        091209    3002100

            LINES EXCLUDED: 11

  2261+ /EndIf                                                                                                   091207    3003300

  2262  /Undefine cpyGetEmailByMem_PR                                                                            091209     003900

  2263                                                                                                           100212     004000

  2264 D SndRcvErr       pr             1a                                                                 RA01  100213     004100

  2265 D  MsgID                         7a   Const                                                         RA01  100213     004200

  2266 D  PgmMsgQ                      10a   Const                                                         RA01  100213     004300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     44

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2267 D  MsgDta                       20a   Const Options(*Varsize : *Nopass)                             RA01  100213     004400

  2268 D  MsgDtaLen                     9b 0 Const Options(*Nopass)                                        RA01  100213     004500

  2269                                                                                                     RA01  100213     004600

  2270 D getActiveFlg    pr             1a                                                                 RA01  100213     004700

  2271 D   pService                    15a   Const                                                         RA01  100213     004800

  2272                                                                                                     RA01  100213     004900

  2273 D wrtWSLogs       pr                                                                                RA01  100213     005000

  2274 D   pService                    15a   Const                                                         RA01  100213     005100

  2275 D   pJobN                       10a   Const                                                         RA01  100213     005200

  2276 D   pUser                       10a   Const                                                         RA01  100213     005300

  2277 D   pJob#                        6s 0 Const                                                         RA01  100213     005400

  2278 D   pCpgm                       10a   Const                                                         RA01  100213     005500

  2279 D   pMember                      7s 0 Const                                                         RA01  100213     005600

  2280 D   pContact                    10s 0 Const                                                               100217     005700

  2281 D   pErrorId                     7a   Const                                                         RA01  100213     005800

  2282 D   pErrMsg                    132a   Const                                                         RA01  100213     005900

  2283 D   pSOAP                    32767a   varying                                                       RA01  100213     006000

  2284 D   pSOAP2                   32767a   varying                                                       RA01  100213     006100

  2285                                                                                                           100127     006200

  2286 d MapXmlData      PR                                                                                      091204     006300

  2287 d   xml_data                    52A   varying                                                             091204     006400

  2288 d   depth                       10I 0 value                                                               091204     006500

  2289 d   name                      1024A   varying const                                                       091204     006600

  2290 d   path                     24576A   varying const                                                       091204     006700

  2291 d   value                    65535A   varying const                                                       091204     006800

  2292 d   attrs                         *   dim(32767)                                                          091204     006900

  2293 d                                     const options(*varsize)                                             091204     007000

  2294                                                                                                           091204     007100

  2295 D Add_SOAPACTION  PR                                                                                      091204     007200

  2296 D   Header                    1024A   varying                                                             091204     007300

  2297 D   UserData                      *   value                                                               091204     007400

  2298                                                                                                           091204     007500

  2299 d GetValue        PR          1950                                                                        091204     007600

  2300 d  CodeType                           like(fn_codetp) const                                               091204     007700

  2301 d  Code                               like(fn_code) const                                                 091204     007800

  2302                                                                                                           091207     007900

  2303 d SetSOAP         PR                                                                                      091204     008000

  2304 d pMemb#                         7S 0 Const                                                               100217     008100

  2305                                                                                                           091207     008200

  2306  /Define cpyGetEmailByMem_DS                                                                              091209     008300

  2307  /Copy Qrpglesrc,CB.Email                                                                                 091207     008400

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.EMAIL                                                     *                     4

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.EMAIL)                                    *                     4

        * Last change  . . . . . . . :  04/07/10  11:49:52                                           *                     4

        * Text 'description' . . . . :  Email Web Service - Copy Book                                *                     4

        *--------------------------------------------------------------------------------------------*

  2308+ *-----------------------------------------------------------------------------*                          091203    4000100

  2309+ *-                                                                            *                          091203    4000200

  2310+ *- Copy Book   :  CB.EMAIL Copy Book for WS.EMAIL                             *                          091208    4000300

  2311+ *-                                                                            *                          091203    4000400

  2312+ *- Description :  Membership Re-Architecture EMAIL Service Copy Book          *                          091208    4000500

  2313+ *-                                                                            *                          091203    4000600

  2314+ *-----------------------------------------------------------------------------*                          091203    4000700

  2315+ *-                                                                            *                          091203    4000800

  2316+ *-                  M O D I F I C A T I O N S                                 *                          091203    4000900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     45

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2317+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    4001000

  2318+ *- Date       User ID    Task #     Description                               *                          091203    4001100

  2319+ *- ----       -------    --------   -----------                               *                          091203    4001200

  2320+ *- 2009-12-07 VGato      RA010004   Copy Book Written                         *                          091208    4001300

  2321+ *                                                                             *                          091203    4001400

  2322+ *-----------------------------------------------------------------------------*                          091203    4001500

  2323+ /If Defined (cpyGetEmailByMem_PR)                                                                        091209    4001600

            LINES EXCLUDED: 2

  2324+ /EndIf                                                                                                   000912    4001900

  2325+                                                                                                          000912    4002000

  2326+ /If Defined (cpyGetEmailByMem_DS)                                                                        091209    4002100

  2327+dContactEmailDS   DS                  Qualified                                                           091209    4002200

  2328+d EmailDs                             LikeDs(DsEmail)                                                     091209    4002300

  2329+d Contact                       10S 0                                                                     100217    4002400

  2330+d ErrorId                        7a                                                                       091207    4002500

  2331+d ErrorMsg                     100a                                                                       091207    4002600

  2332+ *-                                                                                                       100127    4002700

  2333+d DsEmail       e DS                  Extname(DS@email)                                                   100407    4002800

  2334+ *-                                                                                                       100127    4002900

        *--------------------------------------------------------------------------------------------*                     5

        * Data structure . . . . . . :  DSEMAIL                                                      *                     5

        * External format  . . . . . :  MBREMAIL : FILELIB/DS@EMAIL                                  *                     5

        * Format text  . . . . . . . :  MEMBER EMAIL INFORMATION                                     *                     5

        *--------------------------------------------------------------------------------------------*                     5

  2335=D EMMEMB#                        7S 0                                      MEMBER NUMBER                            5000001

  2336=D EMEMAIL                      100A                                        E-MAIL ADDRESS                           5000002

  2337=D EMUSER                        10A                                        USER NAME                                5000003

  2338=D EMLSUDATE                     26Z                                        DATE LAST UPDATE                         5000004

  2339=D EMTYPE                         4A                                        EMAIL TYPE                               5000005

  2340=D EMSYNC                         1A                                        SYNCHONIZE FLAG                          5000006

  2341=D EMSTATUS                       1A                                        EMAIL STATUS                             5000007

  2342=D EMREGMAIL                     10A                                        DONOT EMAIL LTR FLGS                     5000008

  2343=D EMWEBVERDT                    10D   DATFMT (*ISO-)                       WEB VERIFIED DATE                        5000009

  2344=D EMWEBVERTM                     8T   TIMFMT (*ISO.)                       WEB VERIFIED TIME                        5000010

  2345+d pMemb#          S              7S 0                                                                     100217    4003000

  2346+d ErrorId         s              7a   Inz                                                                 100127    4003100

  2347+d ErrorMsg        s             80a   Inz                                                                 100127    4003200

  2348+ /EndIf                                                                                                   091207    4003300

  2349  /Undefine cpyGetEmailByMem_DS                                                                            091209     008500

  2350                                                                                                           100127     008600

  2351 d VARYINGDATAOFFSET...                                                                                    091204     008700

  2352 d                 c                   const(2)                                                            091204     008800

  2353 d SOAP            s          32767a   varying                                                             091204     008900

  2354 d SOAP2           s          32767a   varying                                                       RA01  100215     009000

  2355 d xml_value       s             50a   varying                                                             091204     009100

  2356 d wait            s              1a                                                                       091204     009200

  2357 d valid           s              1a                                                                       091204     009300

  2358 d error           s              1n                                                                       091204     009400

  2359 d rc              s             10i 0                                                                     091204     009500

  2360 d svdepth         s             10I 0                                                               040E_ 101027     009501

  2361 d s               s              5s 0                                                                     091204     009600

  2362 d e               s              5s 0                                                                     091204     009700

  2363 d var_pos         s              5s 0                                                                     091204     009800

  2364 d var_name        s             50a                                                                       091204     009900

  2365 d path_pos        s              5s 0                                                                     091204     010000

  2366 d path_name       s             50a                                                                       091204     010100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     46

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2367 d Ep              s             80a                                                                       091204     010200

  2368 d XMLMemSumDir    s             80a                                                                       091204     010300

  2369 D #c              S              5S 0 inz(0)                                                              091207     010400

  2370 D #e              S              5S 0 inz(0)                                                              091207     010500

  2371 D #o              S              5S 0 inz(0)                                                              091207     010600

  2372 D wrkocc          S              5S 0 inz(0)                                                              091204     010700

  2373 D indate          S             35a   inz                                                                 091204     010800

  2374 d SoapBy          s             17a   inz                                                                 091204     010900

  2375 d SoapReq         s             10a   inz                                                                 091214     011000

  2376 d wMember         s              7s 0 inz                                                                 091207     011100

  2377 d ptr             s               *                                                                       091207     011200

  2378 d Quote           c                   x'7D'                                                               091204     011300

  2379                                                                                                           091204     011400

  2380 d o               S              5s 0 Inz                                                                 091207     011500

  2381 d i               S              5s 0 Inz                                                                 091207     011600

  2382 d j               S              5s 0 Inz                                                                 091207     011700

  2383 d wkExt#          S              5    Inz                                                                 091207     011800

  2384 d wkDate          S               z                                                                       091207     011900

  2385 d phoneCount      S              5s 0                                                                     091207     012000

  2386 d true            S              1a   Inz('1')                                                            091207     012100

  2387 d false           S              1a   Inz('0')                                                            091207     012200

  2388                                                                                                           100212     012300

  2389 d att1            s            256a                                                                 RA01  100213     012400

  2390 d att2            s            256a                                                                 RA01  100213     012500

  2391 d att3            s            256a                                                                 RA01  100213     012600

  2392 d att4            s            256a                                                                 RA01  100213     012700

  2393 d procedure       S             15a   inz('               ')                                        RA01  100213     012800

  2394 d active          s              1    inz                                                           RA01  100213     012900

  2395 d retcod          s              1    inz                                                           RA01  100213     013000

  2396 d request         S             50A   Inz(*Blanks)                                                        100215     013100

  2397 d soapaction      S            200A   Inz(*Blanks)                                                        100217     013200

  2398 d timestamp       S             19A                                        2010-02-15T13:03:00      RA01  100215     013300

  2399 d datefld         S               D                                        2010-02-15               RA01  100215     013400

  2400 d timefld         S               T                                        13:03:00                 RA01  100215     013500

  2401 d len             s              5S 0 Inz                                  field length             RA01  100722     013600

  2402                                                                                                           100212     013700

  2403 d P@ds          Esds                  extname(IIPGDS)                                               RA01  100213     013800

        *--------------------------------------------------------------------------------------------*                     6

        * Data structure . . . . . . :  P@DS                                                         *                     6

        * External format  . . . . . :  IIPGDSR : FILELIB/IIPGDS                                     *                     6

        * Format text  . . . . . . . :  Program Stat. Rec                                            *                     6

        *--------------------------------------------------------------------------------------------*                     6

  2404=D P@PROG                        10A                                        Procedure Name *PROC                     6000001

  2405=D P@STAT                         5S 0                                      Status Code *STATUS                      6000002

  2406=D P@PSTT                         5S 0                                      Previous Status Code                     6000003

  2407=D P@RPGS                         8A                                        RPG Source Statement                     6000004

  2408=D P@RPGR                         8A                                        RPG Routine *ROUTINE                     6000005

  2409=D P@PARM                         3S 0                                      Number of Parms Passed                   6000006

  2410=D P@EXPT                         3A                                        Exception type CPF/MCH                   6000007

  2411=D P@EXPN                         4A                                        Exception number Id                      6000008

  2412=D P@MIOD                         8B 0                                      MI/ODT                                   6000009

  2413=D P@WRKM                        30A                                        Work Area for Messages                   6000010

  2414=D P@LIB                         10A                                        Name of Library                          6000011

  2415=D P@CPF                         80A                                        CPF Messages                             6000012

  2416=D P@RSV                         30A                                        Reserved                                 6000013

  2417=D P@LSTF                         8A                                        Last File Used                           6000014

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     47

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2418=D P@STLF                        35A                                        Status info on the Last File             6000015

  2419=D P@JOBN                        10A                                        Job Name                                 6000016

  2420=D P@JOBU                        10A                                        Job User Name                            6000017

  2421=D P@JOB#                         6S 0                                      Job Number                               6000018

  2422=D P@JDTE                         6S 0                                      Job Date in UDATE format                 6000019

  2423=D P@PDTE                         6S 0                                      Date Pgm Exc in UDATE format             6000020

  2424=D P@PTIM                         6S 0                                      Time Pgm Exc in HMS format               6000021

  2425=D P@CDTE                         6A                                        Date Pgm was compiled                    6000022

  2426=D P@CTIM                         6A                                        Time Pgm was compiled                    6000023

  2427=D P@CLVL                         4A                                        Level of compiler                        6000024

  2428=D P@CSRC                        10A                                        Source File name                         6000025

  2429=D P@CSLB                        10A                                        Source Library name                      6000026

  2430=D P@CSMB                        10A                                        Source File Member name                  6000027

  2431=D P@CPGM                        10A                                        Program name                             6000028

  2432=D P@CMOD                        10A                                        Module name                              6000029

  2433=D P@NUS1                         4A                                        Not used                                 6000030

  2434=D P@USER                        10A                                        Current User Profile                     6000031

  2435=D P@NUS2                        62A                                        Not used                                 6000032

  2436 d Contact         S             10S 0 Inz(*Zeros)                                                   RA01  100217     013900

  2437                                                                                                           091204     014000

  2438 D RtvMsgD         pr           132a                                                                 RA01  100301     014100

  2439 D   pMsgId                       7a   Const                                                         RA01  100301     014200

  2440 D   pMsgDta                     15a   Const                                                         RA01  100301     014300

  2441                                                                                                           100301     014400

  2442  *------------------------------------------                                                              091207     014500

  2443=IMBRFLCMTDT                                                                                                         7000001

        *--------------------------------------------------------------------------------------------*                     7

        * RPG record format  . . . . :  MBRFLCMTDT                                                   *                     7

        * External format  . . . . . :  MBRFLCMTDT : FILELIB/MBFFLCMTDT                              *                     7

        *--------------------------------------------------------------------------------------------*                     7

  2444=I                             A    1   10  FN_CODETP                       Code Type                                7000002

  2445=I                             A   11   20  FN_CODE                         Comment Code                             7000003

  2446=I                             P   21   26 2FN_SEQ                          Sequence Nbr                             7000004

  2447=I                             A   27   91  FN_CMNT                         Comments                                 7000005

  2448=I                             A   92  101  FN_WHOCHG                       Who Changed                              7000006

  2449=I                             Z  102  127  FN_STAMP                        Time Changed                             7000007

  2450 P getEmailByMem   B                   Export                                                              091209     014600

  2451  *------------------------------------------                                                              091207     014700

  2452 D getEmailByMem   PI                  LikeDs(ContactEmailDs)                                              091209     014800

  2453 D   pMemb#                       7S 0 Const                                                               100217     014900

  2454                                                                                                           091202     015000

  2455  /free                                                                                                    091202     015100

  2456   clear ContactEmailDs;                                                                                   100217     015200

  2457   request = 'getEmailByMem';                                                                              100215     015300

  2458   setSOAP(pMemb#);                                                                                        100217     015400

  2459   SOAP2=*Blanks;                                                                                          100302     015500

  2460   procedure='GetEmailByMem';                                                                        RA01  100301     015600

  2461   dou retcod='C' or retcod='c';                                                                 B01 RA01  100213     015700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     48

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2462       active=getActiveFlg(procedure);                                                            01 RA01  100213     015800

  2463       if active='N';                                                                            B02 RA01  100213     015900

  2464          retcod=sndrcverr('SRV0004':procedure);                                                  02 RA01  100213     016000

  2465          ErrorId='SRV0004';                                                                      02 RA01  100301     016100

  2466          ErrorMsg=rtvmsgD('SRV0004':procedure);                                                  02 RA01  100301     016200

  2467          ContactEmailDs.ErrorId = ErrorId;                                                       02 RA01  100301     016300

  2468          ContactEmailDs.ErrorMsg = ErrorMsg;                                                     02 RA01  100301     016400

  2469          wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                        02 RA01  100301     016500

  2470               pMemb#:Contact:ErrorId:ErrorMsg:SOAP:SOAP2);                                       02 RA01  100301     016600

  2471          return ContactEmailDs;                                                                  02 RA01  100301     016700

  2472       else;                                                                                     X02 RA01  100213     016800

  2473          leave;                                                                                  02 RA01  100213     016900

  2474            endif;                                                                               E02 RA01  100213     017000

  2475   enddo;                                                                                        E01 RA01  100213     017100

  2476                                                                                                           100212     017200

  2477   http_setCCSIDs(1208: 0);                                                                                100217     017300

  2478   http_debug(*ON);                                                                                        100217     017400

  2479                                                                                                           100217     017500

  2480   open(e) mbfflcmtdt;                                                                                     100217     017600

  2481   Ep = 'http://' + %trim(GetValue('WEBSERVICE':'ENDPOINTA4')) + Quote;                                    100217     017700

  2482   soapaction = %trim(GetValue('WEBSERVICE':'SOAPACTA4'));                                                 100217     017800

  2483   close(e) mbfflcmtdt;                                                                                    100217     017900

  2484                                                                                                           100217     018000

  2485   http_xproc( HTTP_POINT_ADDL_HEADER : %paddr(Add_SOAPACTION) );                                          091204     018100

  2486                                                                                                           091202     018200

  2487   dou retcod='C' or retcod='c';                                                                 B01 RA01  100213     018300

  2488   error=*off;                                                                                    01       100212     018400

  2489   ErrorId=*Blanks;                                                                               01       100212     018500

  2490   ErrorMsg=*Blanks;                                                                              01       091214     018600

  2491   rc = http_post_xml( Ep: %addr(SOAP) + VARYINGDATAOFFSET: %len(SOAP):                           01       100215     018700

  2492        *NULL: %paddr(MapXmlData): %addr(xml_value): HTTP_TIMEOUT:                                01       100215     018800

  2493        HTTP_USERAGENT: 'text/xml; charset=UTF-8');                                               01       100215     018900

  2494                                                                                                           100209     019000

  2495   ErrorId = ContactEmailDs.ErrorId;                                                              01 RA01  100215     019100

  2496   ErrorMsg = ContactEmailDs.ErrorMsg;                                                            01 RA01  100215     019200

  2497                                                                                                           100209     019300

  2498   select;                                                                                       B02 RA01  100223     019400

  2499   when rc=1;                                                                                    X02 RA01  100223     019500

  2500     if error=*on and ErrorId='ERR0476';                                                         B03 RA01  100223     019600

  2501        //retcod=sndrcverr('ERR0476':procedure);                                                     RA01  100824     019700

  2502        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          03 RA01  100223     019800

  2503                  pMemb#:Contact:ErrorId:ErrorMsg:SOAP:SOAP2);                                    03 RA01  100223     019900

  2504        leave;                                                                                    03 RA01  100825     020000

  2505     else;                                                                                       X03 RA01  100223     020100

  2506        leave;                                                                                    03 RA01  100223     020200

  2507     endif;                                                                                      E03 RA01  100223     020300

  2508   when rc=0;                                                                                    X02 RA01  100213     020400

  2509        retcod=sndrcverr('SRV0001':procedure);                                                    02 RA01  100213     020500

  2510        SOAP2=*blanks;                                                                            02 RA01  100213     020600

  2511        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          02 RA01  100216     020700

  2512                  pMemb#:Contact:'SRV0001':'   ':SOAP:SOAP2);                                     02 RA01  100216     020800

  2513        ErrorId='SRV0001';                                                                        02 RA01  100301     020900

  2514        ErrorMsg=rtvmsgD('SRV0001':'  ');                                                         02 RA01  100301     021000

  2515   when rc=-1;                                                                                   X02 RA01  100213     021100

  2516        retcod=sndrcverr('SRV0003':procedure);                                                    02 RA01  100213     021200

  2517   //SOAP2=*Blanks; <- commented out - was causing WS.ERRORS not to write the O rec->WSFLOGS         040E_ 101027     021301

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     49

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2518        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          02 RA01  100216     021400

  2519                  pMemb#:Contact:'SRV0003':'   ':SOAP:SOAP2);                                     02 RA01  100216     021500

  2520        ErrorId='SRV0003';                                                                        02 RA01  100301     021600

  2521        ErrorMsg=rtvmsgD('SRV0003':'  ');                                                         02 RA01  100301     021700

  2522   when rc>1;                                                                                    X02 RA01  100213     021800

  2523        retcod=sndrcverr('SRV0002':procedure);                                                    02 RA01  100213     021900

  2524        SOAP2=*blanks;                                                                            02 RA01  100213     022000

  2525        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          02 RA01  100216     022100

  2526                  pMemb#:Contact:'SRV0002':'   ':SOAP:SOAP2);                                     02 RA01  100216     022200

  2527        ErrorId='SRV0002';                                                                        02 RA01  100301     022300

  2528        ErrorMsg=rtvmsgD('SRV0002':'  ');                                                         02 RA01  100301     022400

  2529   endsl;                                                                                        E02 RA01  100223     022500

  2530   enddo;                                                                                        E01 RA01  100213     022600

  2531                                                                                                           100212     022700

  2532   wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                                  RA01  100216     022800

  2533             pMemb#:Contact:ErrorId:ErrorMsg:SOAP:SOAP2);                                            RA01  100216     022900

  2534                                                                                                           100301     023000

  2535   ContactEmailDs.ErrorId = ErrorId;                                                                 RA01  100301     023100

  2536   ContactEmailDs.ErrorMsg = ErrorMsg;                                                               RA01  100301     023200

  2537                                                                                                           100212     023300

  2538   return  ContactEmailDs;                                                                                 091209     023400

  2539   *inlr = *on;                                                                                            091204     023500

  2540                                                                                                           091204     023600

  2541  /end-free                                                                                                091202     023700

  2542  *-----------------                                                                                       091204     023800

  2543 P                 e                                                                                       091202     023900

  2544                                                                                                           091204     024000

  2545  *-----------------                                                                                       100127     024100

  2546  *-----------------                                                                                       100127     024200

  2547  *-----------------                                                                                       100127     024300

  2548                                                                                                           100127     024400

  2549  *-----------------                                                                                       091207     024500

  2550  *-----------------                                                                                       091207     024600

  2551  *-----------------                                                                                       091207     024700

  2552 P MapXmlData      B                                                                                       091202     024800

  2553 D MapXmlData      PI                                                                                      091202     024900

  2554 D   xml_data                    52a   varying                                                             091202     025000

  2555 D   depth                       10I 0 value                                                               091202     025100

  2556 D   name                      1024A   varying const                                                       091202     025200

  2557 D   path                     24576A   varying const                                                       091202     025300

  2558 D   value                    65535A   varying const                                                       091202     025400

  2559 D   attrs                         *   dim(32767)                                                          091202     025500

  2560 D                                     const options(*varsize)                                             091202     025600

  2561                                                                                                           091202     025700

  2562  /free                                                                                                    091202     025800

  2563                                                                                                           091202     025900

  2564       // Find variable...                                                                                 091204     026000

  2565       var_name = name;                                                                                    091204     026100

  2566       var_pos  = %scan(':':var_name);                                                                     091204     026200

  2567       var_name = %subst(var_name:var_pos + 1);                                                            091204     026300

  2568                                                                                                           091202     026400

  2569       // Find path...                                                                                     091204     026500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     50

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2570       if path>*blanks;                                                                          B01       091204     026600

  2571          s=0;                                                                                    01       091204     026700

  2572          e = %checkR(' ':path);                                                                  01       091204     026800

  2573          dou s >= e;                                                                            B02       091204     026900

  2574              path_pos = %scan(':':path:s+1);                                                     02       091204     027000

  2575              if path_pos > 0;                                                                   B03       091204     027100

  2576                 path_name = %subst(path:s+1:path_pos-(s+1));                                     03       091204     027200

  2577                 s = path_pos;                                                                    03       091204     027300

  2578              else;                                                                              X03       091204     027400

  2579                 path_name = %subst(path:s+1:e-s);                                                03       091204     027500

  2580                 leave;                                                                           03       091204     027600

  2581              endif;                                                                             E03       091204     027700

  2582          enddo;                                                                                 E02       091204     027800

  2583       endif;                                                                                    E01       091204     027900

  2584                                                                                                           091202     028000

  2585       // <Header>                                                                                         091204     028100

  2586       if (var_name = 'Header');                                                                 B01       100208     028200

  2587          clear SOAP2;              // 040E_                                                      01       101027     028201

  2588          ContactEmailDs.Contact = *Zeros;                                                        01       100217     028300

  2589          ContactEmailDs.EmailDs = *Blanks;                                                       01       091209     028400

  2590          svdepth=999;              // 040E_                                                      01       101027     028401

  2591       endif;                                                                                    E01       091204     028500

  2592                                                                                                           091204     028600

  2593       if path_name='Contact';                                                                   B01       100208     028700

  2594          if (var_name = 'ContactId');                                                           B02       100208     028800

  2595             xml_data = value;                                                                    02       100208     028900

  2596             len = %checkr(' ':value);                                                            02       100722     029000

  2597             if len > 0 and len <= 10;                                                           B03       100722     029100

  2598                ContactEmailDs.Contact =                                                          03       100722     029200

  2599                       %dec(%trim(value):10:0);                                                   03       100722     029300

  2600             endif;                                                                              E03       100722     029400

  2601          endif;                                                                                 E02       100208     029500

  2602       endif;                                                                                    E01       100208     029600

  2603                                                                                                           100208     029700

  2604       if path_name='EmailList';                                                                 B01       100208     029800

  2605          if (var_name = 'EmailAddress');                                                        B02       100208     029900

  2606             xml_data = value;                                                                    02       091202     030000

  2607             ContactEmailDs.EmailDs.ememail = xml_data;                                           02       100208     030100

  2608          endif;                                                                                 E02       091202     030200

  2609       endif;                                                                                    E01       091202     030300

  2610                                                                                                           091202     030400

  2611       // <Errors>                                                                                         091204     030500

  2612       if path_name='Errors';                                                                    B01       091204     030600

  2613          if (var_name = 'Error');                                                               B02       100208     030700

  2614             xml_data = value;                                                                    02       091204     030800

  2615             error=*on;                                                                           02       091204     030900

  2616             ContactEmailDs.ErrorId  = %str(attrs(2));                                            02 RA01  100215     031000

  2617             ContactEmailDs.ErrorMsg = %str(attrs(4));                                            02 RA01  100215     031100

  2618             att1 = %str(attrs(1));                                                               02 RA01  100215     031200

  2619             att2 = %str(attrs(2));                                                               02 RA01  100215     031300

  2620             att3 = %str(attrs(3));                                                               02 RA01  100215     031400

  2621             att4 = %str(attrs(4));                                                               02 RA01  100215     031500

  2622          endif;                                                                                 E02       091204     031600

  2623       endif;                                                                                    E01       091204     031700

  2624                                                                                                           100212     031800

  2625       if depth<3;                                                                               B01 RA01  100215     031900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     51

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2626          if path>*blanks;                                                                       B02 RA01  100215     032000

  2627             SOAP2 = SOAP2 + '<' + %trim(path);                                                   02 RA01  100215     032100

  2628          endif;                                                                                 E02 RA01  100215     032200

  2629       else;                                                                                     X01 RA01  100215     032300

  2630             SOAP2 = SOAP2 + '<' + %trim(path_name);                                              01 RA01  100215     032400

  2631       endif;                                                                                    E01 RA01  100215     032500

  2632       if att1>*blanks;                                                                          B01 RA01  100215     032600

  2633             SOAP2 = SOAP2 + ' ' + %trim(att1) + ' ' + %trim(att2)                                01 RA01  100215     032700

  2634                       + ' ' + %trim(att3) + ' ' + %trim(att4);                                   01 RA01  100215     032800

  2635             att1 = *blanks;                                                                      01 RA01  100215     032900

  2636             att2 = *blanks;                                                                      01 RA01  100215     033000

  2637             att3 = *blanks;                                                                      01 RA01  100215     033100

  2638             att4 = *blanks;                                                                      01 RA01  100215     033200

  2639       endif;                                                                                    E01 RA01  100215     033300

  2640       if value > *blanks;                                                                       B01 RA01  100215     033400

  2641             SOAP2 = SOAP2 + ' <' + %trim(name) + '> '                                            01 RA01  100215     033500

  2642                      + %trim(value) + ' ';                                                       01 RA01  100215     033600

  2643             xml_data=*blanks;                                                                    01 RA01  100215     033700

  2644             var_name=*blanks;                                                                    01 RA01  100215     033800

  2645       endif;                                                                                    E01 RA01  100215     033900

  2646       if depth<svdepth;                                                                         B01 040E_ 101027     033901

  2647          SOAP2 = SOAP2 + '>';                                                                    01 040E_ 101027     033902

  2648          svdepth=depth;                                                                          01 040E_ 101027     033903

  2649       endif;                                                                                    E01 040E_ 101027     033904

  2650                                                                                                           091202     034000

  2651  /end-free                                                                                                091202     034100

  2652  *-----------------                                                                                       091204     034200

  2653 P                 E                                                                                       091202     034300

  2654                                                                                                           091204     034400

  2655  *------------------------------------------------------------                                            091204     034500

  2656  *- HTTPAPI will call this (because we set it with http_xproc)                                            091204     034600

  2657  *- just before sending the HTTP headers to the remote server.                                            091204     034700

  2658  *- This procedure lets us add any header we like to the                                                  091204     034800

  2659  *- HTTP request.                                                                                         091204     034900

  2660  *-                                                                                                       091204     035000

  2661  *- I'll use it to supply the SoapAction: header                                                          091204     035100

  2662  *- This way, I can supply a SOAPAction that's up to                                                      091204     035200

  2663  *- 1024 characters long.                                                                                 091204     035300

  2664  *-                                                                                                       091204     035400

  2665  *- NOTE: Make sure you leave off the SOAPAction header on the                                            091204     035500

  2666  *-       HTTP_url_post_xml, above, otherwise you'll send two                                             091204     035600

  2667  *-       of them!                                                                                        091204     035700

  2668  *-                                                                                                       091204     035800

  2669  *------------------------------------------------------------                                            091204     035900

  2670 P Add_SOAPACTION  B                                                                                       091202     036000

  2671 D Add_SOAPACTION  PI                                                                                      091202     036100

  2672 D   Header                    1024A   varying                                                             091202     036200

  2673 D   UserData                      *   value                                                               091202     036300

  2674  /free                                                                                                    091202     036400

  2675                                                                                                           100215     036500

  2676     select;                                                                                     B01       100215     036600

  2677     when request = 'getEmailByMem';                  // getEmailByMem                           X01       100215     036700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     52

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2678     Header = 'SOAPAction: http://' + %trim(soapaction)                                           01       100217     036800

  2679               + 'GetEmailByMemberNumberRequest'                                                  01       100217     036900

  2680               + Quote + x'0d25';                                                                 01       100217     037000

  2681     endsl;                                                                                      E01       100217     037100

  2682                                                                                                           100215     037200

  2683  /end-free                                                                                                091202     037300

  2684  *-----------------                                                                                       091204     037400

  2685 P                 E                                                                                       091202     037500

  2686                                                                                                           091202     037600

  2687  *-----------------                                                                                       091204     037700

  2688 p SetSOAP         B                                                                                       091202     037800

  2689  *-----------------                                                                                       091204     037900

  2690 d SetSOAP         PI                                                                                      091202     038000

  2691 d pMemb#                         7S 0 Const                                                               100217     038100

  2692                                                                                                           091202     038200

  2693  /free                                                                                                    091202     038300

  2694                                                                                                           091202     038400

  2695    datefld = %date();                                                                                     100215     038500

  2696    timefld = %time();                                                                                     100215     038600

  2697    timestamp = %char(datefld) + 'T'                                                                       100215     038700

  2698              + %xlate('.':':':%char(timefld));                                                            100215     038800

  2699                                                                                                           100215     038900

  2700    select;                                                                                      B01       100217     039000

  2701    when request = 'getEmailByMem';                                                              X01       100217     039100

  2702                                                                                                           100217     039200

  2703    SOAP = '<soapenv:Envelope xmlns:soapenv='                                                     01       100217     039300

  2704    +'"http://schemas.xmlsoap.org/soap/envelope/" '                                               01       100206     039400

  2705    +'xmlns:as4="http://services.intervalintl.com'                                                01       100206     039500

  2706    +'/schema/as400dataservice/as400DataMessages" '                                               01       100217     039600

  2707    +'xmlns:head="http://services.intervalintl.com/'                                              01       100206     039700

  2708    +'schema/common/headerrq"> '                                                                  01       100206     039800

  2709    +'<soapenv:Header/> '                                                                         01       100206     039900

  2710      +'<soapenv:Body> '                                                                          01       100206     040000

  2711        +'<as4:GetEmailByMemberNumberRequest> '                                                   01       100206     040100

  2712          +'<head:header CountryCd="?" LanguageCd="?" TerminalId="?" '                            01       100206     040200

  2713              +'TransactionChannel="?" EchoToken="?" '                                            01       100217     040300

  2714              +'TimeStamp="' + timestamp + '" ' + 'Target="Production" '                          01       100217     040400

  2715              +'Version="0.1" RetransmissionIndicator="1" '                                       01       100217     040500

  2716              +'MaxResponses="1111" MoreDataEchoToken="?" SessionId="?" '                         01       100217     040600

  2717              +'InteractionType="?" InteractionUser="?"> '                                        01       100217     040700

  2718              +'<head:Requestor Id="?" IdContext="?" Password="?"/> '                             01       100217     040800

  2719          +'</head:header> '                                                                      01       100217     040900

  2720          +'<as4:MemberNumber>'                                                                   01       100217     041000

  2721          +%trim(%editc(pMemb#:'Z'))                                                              01       100217     041100

  2722          +'</as4:MemberNumber> '                                                                 01       100217     041200

  2723          +'<as4:PrimaryContactOnlyInd>true</as4:PrimaryContactOnlyInd> '                         01       100208     041300

  2724        +'</as4:GetEmailByMemberNumberRequest> '                                                  01       100217     041400

  2725      +'</soapenv:Body> '                                                                         01       100206     041500

  2726    +'</soapenv:Envelope>';                                                                       01       100206     041600

  2727                                                                                                           100217     041700

  2728    endsl;                                                                                       E01       100217     041800

  2729                                                                                                           100206     041900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     53

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2730  /end-free                                                                                                091202     042000

  2731  *-----------------                                                                                       091204     042100

  2732 P                 e                                                                                       091202     042200

  2733                                                                                                           091204     042300

  2734  *------------------------------                                                                          091204     042400

  2735  *- Get values from comment file                                                                          091204     042500

  2736  *------------------------------                                                                          091204     042600

  2737  *-----------------                                                                                       091204     042700

  2738 p GetValue        b                                                                                       091204     042800

  2739  *-----------------                                                                                       091204     042900

  2740                                                                                                           091204     043000

  2741 d GetValue        pi          1950                                                                        091204     043100

  2742 d  CodeType                           like(fn_codetp) const                                               091204     043200

  2743 d  Code                               like(fn_code) const                                                 091204     043300

  2744                                                                                                           091204     043400

  2745 d Value           s           1950                                                                        091204     043500

  2746 d Counter         s              3s 0                                                                     091204     043600

  2747                                                                                                           091204     043700

  2748  /Free                                                                                                    091204     043800

  2749    Value = *blanks;                                                                                       091204     043900

  2750    Counter = *zeros;                                                                                      091204     044000

  2751    Setll (CodeType:Code) mbfflcmtdt;                                                                      091204     044100

  2752    Reade (CodeType:Code) mbfflcmtdt;                                                                      091204     044200

  2753                                                                                                           091204     044300

  2754    Dow not %eof(mbfflcmtdt) and Counter < %len(Value) / 65;                                     B01       091204     044400

  2755      Counter += 1;                                                                               01       091204     044500

  2756      Value = %trim(Value) + %trim(fn_cmnt);                                                      01       091204     044600

  2757      Reade (CodeType:Code) mbfflcmtdt;                                                           01       091204     044700

  2758    Enddo;                                                                                       E01       091204     044800

  2759                                                                                                           091204     044900

  2760    Return Value;                                                                                          091204     045000

  2761  /End-Free                                                                                                091204     045100

  2762  *-----------------                                                                                       091204     045200

  2763 p GetValue        e                                                                                       091204     045300

       * * * * *   E N D   O F   S O U R C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     54

          A d d i t i o n a l   D i a g n o s t i c   M e s s a g e s

 Msg id  Sv Number Seq     Message text

*RNF7066 00     35 003300  Record-Format MBRFLCMTDT not used for input or output.

*RNF5409 00   2477 017300  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF5409 00   2485 018100  The prototyped call returns a value which is lost when

                           CALLP is used.

 * * * * *   E N D   O F   A D D I T I O N A L   D I A G N O S T I C   M E S S A G E S   * * * * *

                            / C o p y   M e m b e r s

Line   Src  RPG name   <-------- External name -------> CCSID  <- Last change ->

Number Id              Library    File       Member            Date     Time

    37    1 HTTPAPI_H  LIBHTTPB   QRPGLESRC  HTTPAPI_H     37  02/28/11 10:32:19

    73    2 CONFIG_H   LIBHTTPB   QRPGLESRC  CONFIG_H      37  02/28/11 10:32:19

  2239    3 CB.EMAIL   IILIB      QRPGLESRC  CB.EMAIL      37  04/07/10 11:49:52

  2307    4 CB.EMAIL   IILIB      QRPGLESRC  CB.EMAIL      37  04/07/10 11:49:52

         * * * * *   E N D   O F   / C O P Y   M E M B E R S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     55

                    K e y   F i e l d   I n f o r m a t i o n

         File           Internal    External

           Record       field name  field name  Attributes

      1  MBFFLCMTDT

           MBRFLCMTDT

                        FN_CODETP               CHAR       10

                        FN_CODE                 CHAR       10

                        FN_SEQ                  PACK     11,2 SIGNED

 * * * * *   E N D   O F   K E Y   F I E L D   I N F O R M A T I O N   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     56

                          C r o s s   R e f e r e n c e

      File and Record References:

         File              Device             References (D=Defined)

           Record

         MBFFLCMTDT        DISK                   35D   2480    2483    2751

                                                2752    2754    2757

           MBRFLCMTDT                             35D   2443

      Global Field References:

         Field             Attributes         References (D=Defined M=Modified)

         *INLR             N(1)                 2539M

*RNF7031 #C                S(5,0)               2369D

*RNF7031 #E                S(5,0)               2370D

*RNF7031 #O                S(5,0)               2371D

         ACTIVE            A(1)                 2394D   2462M   2463

         ADD_SOAPACTION    PROTOTYPE            2295D   2485    2670    2671

         ATT1              A(256)               2389D   2618M   2632    2633

                                                2635M

         ATT2              A(256)               2390D   2619M   2633    2636M

         ATT3              A(256)               2391D   2620M   2634    2637M

         ATT4              A(256)               2392D   2621M   2634    2638M

         CONTACT           S(10,0)              2436D   2470    2503    2512

                                                2519    2526    2533

         CONTACTEMAILDS    DS(294)              2256    2327D   2452    2456

                                                2467M   2468M   2471    2495

                                                2496    2535M   2536M   2538

                                                2588M   2589M   2598M   2607M

                                                2616M   2617M

           CONTACT         S(10,0)              2329D   2588    2598

           EMAILDS         DS(177)              2328D   2589    2607

             EMEMAIL       A(100)               2607

           ERRORID         A(7)                 2330D   2467    2495    2535

                                                2616

           ERRORMSG        A(100)               2331D   2468    2496    2536

                                                2617

         DATEFLD           D(10*ISO-)           2399D   2695M   2697

*RNF7031 DSEMAIL           DS(177)              2328    2333D

         E                 S(5,0)               2362D   2572M   2573    2579

*RNF7031 EMEMAIL           A(100)               2336D

*RNF7031 EMLSUDATE         Z(26)                2338D

*RNF7031 EMMEMB#           S(7,0)               2335D

*RNF7031 EMREGMAIL         A(10)                2342D

*RNF7031 EMSTATUS          A(1)                 2341D

*RNF7031 EMSYNC            A(1)                 2340D

*RNF7031 EMTYPE            A(4)                 2339D

*RNF7031 EMUSER            A(10)                2337D

*RNF7031 EMWEBVERDT        D(10*ISO-)           2343D

*RNF7031 EMWEBVERTM        T(8*ISO.)            2344D

         EP                A(80)                2367D   2481M   2491

         ERROR             N(1)                 2358D   2488M   2500    2615M

         ERRORID           A(7)                 2346D   2465M   2467    2470

                                                2489M   2495M   2500    2503

                                                2513M   2520M   2527M   2533

                                                2535

         ERRORMSG          A(80)                2347D   2466M   2468    2470

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     57

                                                2490M   2496M   2503    2514M

                                                2521M   2528M   2533    2536

*RNF7031 FALSE             A(1)                 2387D

         FN_CMNT           A(65)                2447D   2756

*RNF7031 FN_CODE           A(10)                2301    2445D   2743

*RNF7031 FN_CODETP         A(10)                2300    2444D   2742

*RNF7031 FN_SEQ            P(11,2)              2446D

*RNF7031 FN_STAMP          Z(26)                2449D

*RNF7031 FN_WHOCHG         A(10)                2448D

         GETACTIVEFLG      A(1)                 2270D   2462

                           PROTOTYPE

         GETEMAILBYMEM     DS(294)              2256D   2450    2452

                           PROTOTYPE

         GETVALUE          A(1950)              2299D   2481    2482    2738

                           PROTOTYPE            2741    2763

         HTTP_ASCII        CONST                 136D

         HTTP_ATHTYP       CONST                2034D

         HTTP_ATHVAL       CONST                2036D

         HTTP_AUTH_BASIC   CONST                2119D

         HTTP_AUTH_MD5_DIGEST...

                           CONST                2121D

         HTTP_AUTH_NONE    CONST                2117D

         HTTP_BADCNN       CONST                1997D

         HTTP_BADPNT       CONST                2048D

         HTTP_BADURL       CONST                1991D

         HTTP_BRRECV       CONST                2042D

         HTTP_BRSELE       CONST                2044D

         HTTP_BRTIME       CONST                2040D

*RNF7031 HTTP_BUILD_SOCKADDR...

                           I(10,0)               447D

                           PROTOTYPE

         HTTP_BWSELE       CONST                2066D

         HTTP_BWSEND       CONST                2064D

         HTTP_BWTIME       CONST                2068D

         HTTP_BWTIMO       CONST                2080D

         HTTP_CCSID        CONST                 149D

         HTTP_CKDUMP       CONST                2094D

         HTTP_CKOPEN       CONST                2096D

         HTTP_CKSTAT       CONST                2098D

*RNF7031 HTTP_CLOSE        I(10,0)               461D

                           PROTOTYPE

         HTTP_CNNTIMO      CONST                1999D

*RNF7031 HTTP_COMP         PROTOTYPE            1755D

         HTTP_CONTTYPE     CONST                 117D

         HTTP_CONVERR      CONST                2100D

         HTTP_COOKIE_DEFAULT...

                           CONST                 179D

*RNF7031 HTTP_COOKIE_FILE  PROTOTYPE            1745D

*RNF7031 HTTP_CRASH        PROTOTYPE            1772D

*RNF7031 HTTP_DCLOSE       PROTOTYPE            1984D

         HTTP_DEBUG        PROTOTYPE            1513D   2478M

*RNF7031 HTTP_DEBUG_FILE   A(500)                185D

                           VARYING

*RNF7031 HTTP_DIAG         PROTOTYPE            1764D

*RNF7031 HTTP_DMSG         PROTOTYPE            1971D

*RNF7031 HTTP_DWRITE       PROTOTYPE            1951D

         HTTP_EBCDIC       CONST                 135D

*RNF7031 HTTP_ERROR        A(80)                 473D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     58

                           PROTOTYPE

*RNF7031 HTTP_ESCAPEXML    A(4096)              1929D

                           VARYING

                           PROTOTYPE

         HTTP_FDOPEN       CONST                2008D

         HTTP_FDSTAT       CONST                2084D

*RNF7031 HTTP_GET          I(10,0)               237D

                           PROTOTYPE

*RNF7031 HTTP_GET_XML      I(10,0)               977D

                           PROTOTYPE

*RNF7031 HTTP_GET_XMLTF    I(10,0)              1028D

                           PROTOTYPE

*RNF7031 HTTP_GETAUTH      I(10,0)               584D

                           PROTOTYPE

         HTTP_GSKAPPID     CONST                2010D

         HTTP_GSKATYP      CONST                2012D

         HTTP_GSKENVI      CONST                2014D

         HTTP_GSKENVO      CONST                2016D

         HTTP_GSKKEYF      CONST                2090D

         HTTP_GSKSTYP      CONST                2018D

*RNF7031 HTTP_HEADER       A(32500)             1712D

                           VARYING

                           PROTOTYPE

         HTTP_HOSTNF       CONST                1993D

         HTTP_IFOPEN       CONST                2088D

         HTTP_IFSMODE      CONST                 164D

         HTTP_ILLSWC       CONST                2106D

         HTTP_INVPTR       CONST                2060D

*RNF7031 HTTP_LONG_PARSEURL...

                           I(10,0)               817D

                           PROTOTYPE

         HTTP_LRRECV       CONST                2070D

         HTTP_LRSELE       CONST                2072D

         HTTP_LRTIME       CONST                2074D

*RNF7031 HTTP_MFD_ENCODER_ADDSTMF...

                           N(1)                 1486D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_ADDVAR...

                           N(1)                 1449D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_ADDVAR_S...

                           N(1)                 1467D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_CLOSE...

                           PROTOTYPE            1500D

*RNF7031 HTTP_MFD_ENCODER_OPEN...

                           *(16)                1431D

                           PROTOTYPE

         HTTP_MUTABLE      CONST                2092D

         HTTP_NDAUTH       CONST                2032D

*RNF7031 HTTP_NEXTXMLATTR  N(1)                 1914D

                           PROTOTYPE

         HTTP_NOAUTH       CONST                2038D

         HTTP_NOCDRIV      CONST                2078D

         HTTP_NODATA       CONST                2058D

         HTTP_NOMEM        CONST                2056D

         HTTP_NOSPAC       CONST                2062D

         HTTP_NOTREG       CONST                2030D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     59

         HTTP_NOTSUPP      CONST                2076D

*RNF7031 HTTP_PARSE_XML_STMF...

                           I(10,0)              1692D

                           PROTOTYPE

*RNF7031 HTTP_PARSE_XML_STRING...

                           I(10,0)              1892D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_GET_END_CB...

                           *(16) PROCPTR        1863D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_GET_START_CB...

                           *(16) PROCPTR        1854D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_GET_USERDATA...

                           *(16)                1872D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_SWITCH_CB...

                           I(10,0)              1841D

                           PROTOTYPE

*RNF7031 HTTP_PARSEURL     I(10,0)               424D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_CLOSE...

                           I(10,0)              1408D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_GET  I(10,0)              1319D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_OPEN *(16)                1284D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_POST I(10,0)              1379D

                           PROTOTYPE

         HTTP_POINT_ADDL_HEADER...

                           CONST                2171D   2485

         HTTP_POINT_CERT_VAL...

                           CONST                2212D

         HTTP_POINT_DEBUG  CONST                2136D

         HTTP_POINT_DOWNLOAD_STATUS...

                           CONST                2160D

         HTTP_POINT_GSKIT_CERT_VAL...

                           CONST                2229D

         HTTP_POINT_PARSE_HDR_LONG...

                           CONST                2191D

         HTTP_POINT_PARSE_HEADER...

                           CONST                2181D

         HTTP_POINT_UPLOAD_STATUS...

                           CONST                2148D

*RNF7031 HTTP_POST         I(10,0)               292D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF    I(10,0)               920D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF_XML...

                           I(10,0)              1194D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF_XMLTF...

                           I(10,0)              1255D

                           PROTOTYPE

         HTTP_POST_XML     I(10,0)              1089D   2491

                           PROTOTYPE

*RNF7031 HTTP_POST_XMLTF   I(10,0)              1145D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     60

                           PROTOTYPE

*RNF7031 HTTP_PROXY_GETAUTH...

                           I(10,0)               655D

                           PROTOTYPE

*RNF7031 HTTP_PROXY_SETAUTH...

                           I(10,0)               630D

                           PROTOTYPE

         HTTP_PXNDAUTH     CONST                2104D

         HTTP_RDCRLF       CONST                2046D

         HTTP_RDWERR       CONST                2004D

*RNF7031 HTTP_REDIR_LOC    A(1024)               686D

                           VARYING

                           PROTOTYPE

         HTTP_REGERR       CONST                2020D

         HTTP_RESP         CONST                2001D

*RNF7031 HTTP_SELECT_COMMDRIVER...

                           *(16)                 835D

                           PROTOTYPE

*RNF7031 HTTP_SET_100_TIMEOUT...

                           PROTOTYPE            1652D

         HTTP_SETATTR      CONST                2102D

*RNF7031 HTTP_SETAUTH      I(10,0)               600D

                           PROTOTYPE

         HTTP_SETCCSIDS    I(10,0)              1529D   2477M

                           PROTOTYPE

*RNF7031 HTTP_SETFILECCSID PROTOTYPE            1568D

*RNF7031 HTTP_SETPROXY     I(10,0)               614D

                           PROTOTYPE

*RNF7031 HTTP_SETTABLES    I(10,0)              1545D

                           PROTOTYPE

         HTTP_SOCERR       CONST                1995D

         HTTP_SSLGCI       CONST                2108D

         HTTP_SSLVAL       CONST                2110D

         HTTP_SSOPEN       CONST                2022D

         HTTP_SSPROT       CONST                2050D

         HTTP_SSPSET       CONST                2054D

         HTTP_SSPUNK       CONST                2052D

         HTTP_SSSNFD       CONST                2024D

         HTTP_SSSNTO       CONST                2026D

         HTTP_SSTIMO       CONST                2028D

         HTTP_STMF_CALC    CONST                1700D

         HTTP_SWCERR       CONST                2082D

*RNF7031 HTTP_TEMPFILE     A(40)                1780D

                           VARYING

                           PROTOTYPE

         HTTP_TIMEOUT      CONST                 104D   2492

*RNF7031 HTTP_URL_ENCODER  *(16)                 698D    700     719     737

                                                 758     776     792

*RNF7031 HTTP_URL_ENCODER_ADDVAR...

                           N(1)                  718D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_ADDVAR_S...

                           N(1)                  791D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_FREE...

                           N(1)                  775D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_GETPTR...

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     61

                           PROTOTYPE             736D

*RNF7031 HTTP_URL_ENCODER_GETSTR...

                           A(32767)              757D

                           VARYING

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_NEW...

                           *(16)                 700D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET      I(10,0)               251D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET_RAW  I(10,0)               348D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET_XML  I(10,0)               994D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST     I(10,0)               307D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_RAW I(10,0)               389D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_RAW2...

                           I(10,0)               864D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_STMF...

                           I(10,0)               906D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_STMF_XML...

                           I(10,0)              1211D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_XML I(10,0)              1107D

                           PROTOTYPE

*RNF7031 HTTP_USE_COOKIES  PROTOTYPE            1727D

         HTTP_USERAGENT    CONST                 110D   2493

         HTTP_XFRENC       CONST                2006D

*RNF7031 HTTP_XLATE        I(10,0)              1582D

                           PROTOTYPE

*RNF7031 HTTP_XLATEDYN     I(10,0)              1616D

                           PROTOTYPE

*RNF7031 HTTP_XLATEP       I(10,0)              1599D

                           PROTOTYPE

         HTTP_XML_CALC     CONST                1699D

*RNF7031 HTTP_XML_SETCCSIDS...

                           I(10,0)              1667D

                           PROTOTYPE

         HTTP_XMLERR       CONST                2086D

*RNF7031 HTTP_XMLNS        PROTOTYPE            1789D

*RNF7031 HTTP_XMLRETURNPTR PROTOTYPE            1803D

*RNF7031 HTTP_XMLSTRIPCRLF PROTOTYPE            1819D

         HTTP_XPROC        I(10,0)               674D   2485M

                           PROTOTYPE

         HTTPAPI_RELDATE   CONST                  71D

         HTTPAPI_VERSION   CONST                  69D

*RNF7031 HTTPS_CLEANUP     I(10,0)               537D

                           PROTOTYPE

*RNF7031 HTTPS_DCM_REG     I(10,0)               526D

                           PROTOTYPE

*RNF7031 HTTPS_IDNAME      A(50)                 548D

                           VARYING

                           PROTOTYPE

*RNF7031 HTTPS_INIT        I(10,0)               506D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     62

                           PROTOTYPE

*RNF7031 HTTPS_STRICT      PROTOTYPE             558D

*RNF7031 I                 S(5,0)               2381D

*RNF7031 INDATE            A(35)                2373D

*RNF7031 J                 S(5,0)               2382D

         LEN               S(5,0)               2401D   2596M   2597    2597

         MAPXMLDATA        PROTOTYPE            2286D   2492    2552    2553

*RNF7031 O                 S(5,0)               2380D

*RNF7031 P@CDTE            A(6)                 2425D

*RNF7031 P@CLVL            A(4)                 2427D

*RNF7031 P@CMOD            A(10)                2432D

*RNF7031 P@CPF             A(80)                2415D

*RNF7031 P@CPGM            A(10)                2431D

*RNF7031 P@CSLB            A(10)                2429D

*RNF7031 P@CSMB            A(10)                2430D

*RNF7031 P@CSRC            A(10)                2428D

*RNF7031 P@CTIM            A(6)                 2426D

*RNF7031 P@DS              DS(429)              2403D

*RNF7031 P@EXPN            A(4)                 2411D

*RNF7031 P@EXPT            A(3)                 2410D

*RNF7031 P@JDTE            S(6,0)               2422D

         P@JOB#            S(6,0)               2421D   2469    2502    2511

                                                2518    2525    2532

         P@JOBN            A(10)                2419D   2469    2502    2511

                                                2518    2525    2532

*RNF7031 P@JOBU            A(10)                2420D

*RNF7031 P@LIB             A(10)                2414D

*RNF7031 P@LSTF            A(8)                 2417D

*RNF7031 P@MIOD            B(8,0)               2412D

*RNF7031 P@NUS1            A(4)                 2433D

*RNF7031 P@NUS2            A(62)                2435D

*RNF7031 P@PARM            S(3,0)               2409D

*RNF7031 P@PDTE            S(6,0)               2423D

         P@PROG            A(10)                2404D   2469    2502    2511

                                                2518    2525    2532

*RNF7031 P@PSTT            S(5,0)               2406D

*RNF7031 P@PTIM            S(6,0)               2424D

*RNF7031 P@RPGR            A(8)                 2408D

*RNF7031 P@RPGS            A(8)                 2407D

*RNF7031 P@RSV             A(30)                2416D

*RNF7031 P@STAT            S(5,0)               2405D

*RNF7031 P@STLF            A(35)                2418D

         P@USER            A(10)                2434D   2469    2502    2511

                                                2518    2525    2532

*RNF7031 P@WRKM            A(30)                2413D

         PATH_NAME         A(50)                2366D   2576M   2579M   2593

                                                2604    2612    2630

         PATH_POS          S(5,0)               2365D   2574M   2575    2576

                                                2577

*RNF7031 PHONECOUNT        S(5,0)               2385D

*RNF7031 PMEMB#            S(7,0)               2345D

         PROCEDURE         A(15)                2393D   2460M   2462    2464

                                                2466    2469    2502    2509

                                                2511    2516    2518    2523

                                                2525    2532

*RNF7031 PTR               *(16)                2377D

         QUOTE             CONST                2378D   2481    2680

         RC                I(10,0)              2359D   2491M   2499    2508

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     63

                                                2515    2522

         REQUEST           A(50)                2396D   2457M   2677    2701

         RETCOD            A(1)                 2395D   2461    2461    2464M

                                                2487    2487    2509M   2516M

                                                2523M

         RTVMSGD           A(132)               2438D   2466    2514    2521

                           PROTOTYPE            2528

         S                 S(5,0)               2361D   2571M   2573    2574

                                                2576    2576    2577M   2579

                                                2579

         SETSOAP           PROTOTYPE            2303D   2458M   2688    2690

         SNDRCVERR         A(1)                 2264D   2464    2509    2516

                           PROTOTYPE            2523

         SOAP              A(32767)             2353D   2470    2491    2491

                           VARYING              2503    2512    2519    2526

                                                2533    2703M

         SOAPACTION        A(200)               2397D   2482M   2678

*RNF7031 SOAPBY            A(17)                2374D

*RNF7031 SOAPREQ           A(10)                2375D

         SOAP2             A(32767)             2354D   2459M   2470    2503

                           VARYING              2510M   2512    2519    2524M

                                                2526    2533    2587    2627M

                                                2627    2630M   2630    2633M

                                                2633    2641M   2641    2647M

                                                2647

         SVDEPTH           I(10,0)              2360D   2590M   2646    2648M

         TIMEFLD           T(8*ISO.)            2400D   2696M   2698

         TIMESTAMP         A(19)                2398D   2697M   2714

         TO_ASCII          CONST                2235D

         TO_EBCDIC         CONST                2236D

*RNF7031 TRUE              A(1)                 2386D

*RNF7031 VALID             A(1)                 2357D

         VAR_NAME          A(50)                2364D   2565M   2566    2567M

                                                2567    2586    2594    2605

                                                2613    2644M

         VAR_POS           S(5,0)               2363D   2566M   2567

         VARYINGDATAOFFSET CONST                2352D   2491

*RNF7031 WAIT              A(1)                 2356D

*RNF7031 WKDATE            Z(26)                2384D

*RNF7031 WKEXT#            A(5)                 2383D

*RNF7031 WMEMBER           S(7,0)               2376D

*RNF7031 WRKOCC            S(5,0)               2372D

         WRTWSLOGS         PROTOTYPE            2273D   2469M   2502M   2511M

                                                2518M   2525M   2532M

         XML_VALUE         A(50)                2355D   2492

                           VARYING

*RNF7031 XMLMEMSUMDIR      A(80)                2368D

      Field References for subprocedure GETEMAILBYMEM

         Field             Attributes         References (D=Defined M=Modified)

         PMEMB#            S(7,0)               2453D   2458    2470    2503

                           BASED(_QRNL_PST+)    2512    2519    2526    2533

      Field References for subprocedure MAPXMLDATA

         Field             Attributes         References (D=Defined M=Modified)

         XML_DATA          A(52)                2554D   2595M   2606M   2607

                           BASED(_QRNL_PST+)    2614M   2643M

                           VARYING

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     64

         DEPTH             I(10,0)              2555D   2625    2646    2648

         NAME              A(1024)              2556D   2565    2641

                           BASED(_QRNL_PST+)

                           VARYING

         PATH              A(24576)             2557D   2570    2572    2574

                           BASED(_QRNL_PST+)    2576    2579    2626    2627

                           VARYING

         VALUE             A(65535)             2558D   2595    2596    2599

                           BASED(_QRNL_PST+)    2606    2614    2640    2642

                           VARYING

         ATTRS(32767)      *(16)                2559D   2616    2617    2618

                           BASED(_QRNL_PST+)    2619    2620    2621

         _QRNL_PSTR_XML_DATA...

      Field References for subprocedure ADD_SOAPACTION

         Field             Attributes         References (D=Defined M=Modified)

         HEADER            A(1024)              2672D   2678M

                           BASED(_QRNL_PST+)

                           VARYING

*RNF7031 USERDATA          *(16)                2673D

      Field References for subprocedure SETSOAP

         Field             Attributes         References (D=Defined M=Modified)

         PMEMB#            S(7,0)               2691D   2721

                           BASED(_QRNL_PST+)

      Field References for subprocedure GETVALUE

         Field             Attributes         References (D=Defined M=Modified)

         CODETYPE          A(10)                2742D   2751    2752    2757

                           BASED(_QRNL_PST+)

         CODE              A(10)                2743D   2751    2752    2757

                           BASED(_QRNL_PST+)

         VALUE             A(1950)              2745D   2749M   2754    2756M

                                                2756    2760

         COUNTER           S(3,0)               2746D   2750M   2754    2755M

         _QRNL_PSTR_CODETYPE...

      Indicator References:

         Indicator                            References (D=Defined M=Modified)

         LR                                     2539M

       * * * * *   E N D   O F   C R O S S   R E F E R E N C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     65

                      E x t e r n a l   R e f e r e n c e s

      Statically bound procedures:

         Procedure                            References

         RTVMSGD                                2438    2466    2514    2521

                                                2528

         HTTP_COMP                              1755

         HTTP_DIAG                              1764

         HTTP_DMSG                              1971

         SNDRCVERR                              2264    2464    2509    2516

                                                2523

         WRTWSLOGS                              2273    2470    2503    2512

                                                2519    2526    2533

         HTTP_CLOSE                              461

         HTTP_ERROR                              473

         HTTPS_INIT                              506

         HTTP_XPROC                              674    2485

         HTTP_DEBUG                             1513    2478

         HTTP_XLATE                             1582

         HTTP_CRASH                             1772

         HTTP_XMLNS                             1789

         HTTP_XLATEP                            1599

         HTTP_HEADER                            1712

         HTTP_DWRITE                            1951

         HTTP_DCLOSE                            1984

         HTTP_URL_GET                            237     251

         HTTPS_IDNAME                            548

         HTTPS_STRICT                            558

         HTTP_GETAUTH                            584

         HTTP_SETAUTH                            600

         GETACTIVEFLG                           2270    2462

         HTTP_URL_POST                           292     307

         HTTP_PARSEURL                           424

         HTTPS_DCM_REG                           526

         HTTPS_CLEANUP                           537

         HTTP_SETPROXY                           614

         HTTP_XLATEDYN                          1616

         HTTP_TEMPFILE                          1780

         HTTP_REDIR_LOC                          686

         HTTP_GET_XMLTF                         1028

         HTTP_SETCCSIDS                         1529    2477

         HTTP_SETTABLES                         1545

         HTTP_ESCAPEXML                         1929

         HTTP_POST_XMLTF                        1145

         HTTP_URL_GET_RAW                        348

         HTTP_URL_GET_XML                        977     994

         HTTP_PERSIST_GET                       1319

         HTTP_USE_COOKIES                       1727

         HTTP_COOKIE_FILE                       1745

         HTTP_NEXTXMLATTR                       1914

         HTTP_URL_POST_RAW                       389

         HTTP_URL_POST_XML                      1089    1107    2493

         HTTP_PERSIST_OPEN                      1284

         HTTP_PERSIST_POST                      1379

         HTTP_SETFILECCSID                      1568

         HTTP_XMLRETURNPTR                      1803

         HTTP_XMLSTRIPCRLF                      1819

         HTTP_PROXY_SETAUTH                      630

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     66

         HTTP_PROXY_GETAUTH                      655

         HTTP_LONG_PARSEURL                      817

         HTTP_URL_POST_RAW2                      864

         HTTP_URL_POST_STMF                      906     920

         HTTP_PERSIST_CLOSE                     1408

         HTTP_XML_SETCCSIDS                     1667

         HTTP_BUILD_SOCKADDR                     447

         HTTP_PARSE_XML_STMF                    1692

         HTTP_URL_ENCODER_NEW                    700

         HTTP_POST_STMF_XMLTF                   1255

         HTTP_SET_100_TIMEOUT                   1652

         HTTP_URL_ENCODER_FREE                   775

         HTTP_MFD_ENCODER_OPEN                  1431

         HTTP_PARSER_SWITCH_CB                  1841

         HTTP_PARSE_XML_STRING                  1892

         HTTP_SELECT_COMMDRIVER                  835

         HTTP_URL_POST_STMF_XML                 1194    1211

         HTTP_MFD_ENCODER_CLOSE                 1500

         HTTP_PARSER_GET_END_CB                 1863

         HTTP_URL_ENCODER_ADDVAR                 718

         HTTP_URL_ENCODER_GETPTR                 736

         HTTP_URL_ENCODER_GETSTR                 757

         HTTP_MFD_ENCODER_ADDVAR                1449

         HTTP_MFD_ENCODER_ADDSTMF               1486

         HTTP_PARSER_GET_START_CB               1854

         HTTP_PARSER_GET_USERDATA               1872

         HTTP_URL_ENCODER_ADDVAR_S               791

         HTTP_MFD_ENCODER_ADDVAR_S              1467

      Imported fields:

         Field             Attributes         Defined

         No references in the source.

      Exported fields:

         Field             Attributes         Defined

         No references in the source.

   * * * * *   E N D   O F   E X T E R N A L   R E F E R E N C E S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     67

                          M e s s a g e   S u m m a r y

 Msg id  Sv Number Message text

*RNF5409 00      2 The prototyped call returns a value which is lost when CALLP

                   is used.

*RNF7031 00    155 The name or indicator is not referenced.

*RNF7066 00      1 Record-Format name of Externally-Described file is not used.

       * * * * *   E N D   O F   M E S S A G E   S U M M A R Y   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.EMAIL        IIMIADEV   03/01/11 14:52:00        Page     68

                            F i n a l   S u m m a r y

  Message Totals:

    Information  (00) . . . . . . . :      158

    Warning      (10) . . . . . . . :        0

    Error        (20) . . . . . . . :        0

    Severe Error (30+)  . . . . . . :        0

    ---------------------------------  -------

    Total . . . . . . . . . . . . . :      158

  Source Totals:

    Records . . . . . . . . . . . . :     2763

    Specifications  . . . . . . . . :      964

    Data records  . . . . . . . . . :        0

    Comments  . . . . . . . . . . . :     1422

         * * * * *   E N D   O F   F I N A L   S U M M A R Y   * * * * *

Module WS.EMAIL placed in library IIER00VW. 00 highest severity. Created on 03/01/11 at 14:52:00.

          * * * * *   E N D   O F   C O M P I L A T I O N * * * * *

ÿþ 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      1

  Command  . . . . . . . . . . . . :   CRTRPGMOD

    Issued by  . . . . . . . . . . :     JCABRERA

  Module . . . . . . . . . . . . . :   WS.PHONES

    Library  . . . . . . . . . . . :     IIER00VW

  Text 'description' . . . . . . . :   *SRCMBRTXT

  Source Member  . . . . . . . . . :   WS.PHONES

  Source File  . . . . . . . . . . :   QRPGMOD

    Library  . . . . . . . . . . . :     IIER00VW

    CCSID  . . . . . . . . . . . . :     37

  Text 'description' . . . . . . . :   Web Service - Phones

  Last Change  . . . . . . . . . . :   01/17/11  13:26:57

  Generation severity level  . . . :   10

  Compiler options . . . . . . . . :   *XREF      *GEN       *NOSECLVL  *SHOWCPY

                                       *EXPDDS    *EXT       *NOSHOWSKP *NOSRCSTMT

                                       *NODEBUGIO *NOEVENTF

  Debugging views  . . . . . . . . :   *SOURCE

  Output . . . . . . . . . . . . . :   *PRINT

  Optimization level . . . . . . . :   *NONE

  Source listing indentation . . . :   *NONE

  Type conversion options  . . . . :   *NONE

  Sort sequence  . . . . . . . . . :   *HEX

  Language identifier  . . . . . . :   *JOBRUN

  Replace module . . . . . . . . . :   *YES

  Authority  . . . . . . . . . . . :   *LIBCRTAUT

  Truncate numeric . . . . . . . . :   *YES

  Fix numeric  . . . . . . . . . . :   *ZONED

  Target release . . . . . . . . . :   *CURRENT

  Allow null values  . . . . . . . :   *NO

  Binding directory  . . . . . . . :   *NONE

  Define condition names . . . . . :   *NONE

  Enable performance collection  . :   *PEP

  Profiling data . . . . . . . . . :   *NOCOL

  Licensed Internal Code options . :

  Generate program interface . . . :   *NO

  Include directory  . . . . . . . :

  Preprocessor options . . . . . . :   *NONE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      2

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

                          S o u r c e   L i s t i n g

     1  *******************************************************************************                          091204     000100

     2  *                                                                             *                          091204     000200

     3  *  PROGRAM     :  Web Services for Telephones                                 *                          091204     000300

     4  *                                                                             *                          091204     000400

     5  *  PROCEDURES  :   getPhonesByMem : Pass Mem # as input and get phone number  *                          091207     000500

     6  *                                   for primary contact only                                             091209     000600

     7  *                  getAllPhByMem  : Pass Mem # as input and get phone numbe   *                          091209     000700

     8  *                                   for all contacts                          *                          091207     000800

     9  *                  getPhoneByType : Pass Mem # & type as input & get phones   *                          091204     000900

    10  *                                   for primary contact only                  *                          091207     001000

    11  *                  getAllPhByType : Pass Mem # & type as input & get phones   *                          091207     001100

    12  *                                   for all contacts                          *                          091207     001200

    13  *                  getMemByPhone  : Pass Phone # as input and get member #    *                          091204     001300

    14  *                                   for primary contact only                  *                          091207     001400

    15  *                  getPhoneCount  : Pass Mem # as input and get phone count   *                          091204     001500

    16  *                                   for primary contact only                  *                          091207     001600

    17  *                  getAllPhCount  : Pass Mem # as input and get phone count   *                          091207     001700

    18  *                                   for all contacts                          *                          091207     001800

    19  *                                                                             *                          091204     001900

    20  *  DESCRIPTION :  Membership Re-Architecture Service                          *                          091204     002000

    21  *                                                                             *                          091204     002100

    22  *******************************************************************************                          091204     002200

    23  *                                                                             *                          091204     002300

    24  *                   M O D I F I C A T I O N S                                 *                          091204     002400

    25  *                   ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091204     002500

    26  *   Date     User ID    Task #     Description                                *                          091204     002600

    27  *   ----     -------    --------   -----------                                *                          091204     002700

    28  * 12/03/2009 JCabrera   RA02000401 Program Written                            *                          091204     002800

    29  * 11/21/2010 LECHAVARRI IIER00S2   Clearing of field #e missing               *                    00S2  101123     002900

    30  * 01/03/2011 JTERRERO   IIER00TS   Extension Number Enhancement               *                    00TS  110104     003000

    31  *                                  See Jira 105 for Details                   *                    00TS  110117     003100

    32                                                                                *                          110104     003200

    33  *  Before compiling:                                                          *                          091204     003300

    34  *    * make sure LIBHTTP library is in your library list.                     *                          091204     003400

    35  *>        ADDLIBLE LIBHTTP *LAST                                              *                          091204     003500

    36  *                                                                             *                          091204     003600

    37  *  To compile:                                                                *                          091204     003700

    38  *>    CRTBNDRPG WS.PHONES SRCFILE(QRPGLESRC) DBGVIEW(*SOURCE)                 *                          091207     003800

    39  *                                                                             *                          091204     003900

    40  *******************************************************************************                          091204     004000

    41  *                                                                                                        091207     004100

    42 h nomain bnddir('HTTPAPI':'QC2LE')                                                                        091207     004200

    43                                                                                                           091207     004300

    44  * File description specifications                                                                        091207     004400

    45  *                                                                                                        091207     004500

        *--------------------------------------------------------------------*

        * Compiler Options in Effect:                                        *

        *--------------------------------------------------------------------*

        *  Text 'description' . . . . . . . :   Web Service - Phones         *

        *  Generation severity level  . . . :   10                           *

        *  Compiler options . . . . . . . . :   *XREF      *GEN              *

        *                                       *NOSECLVL  *SHOWCPY          *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      3

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

        *                                       *EXPDDS    *EXT              *

        *                                       *NOSHOWSKP *NOSRCSTMT        *

        *                                       *NODEBUGIO *NOEVENTF         *

        *  Optimization level . . . . . . . :   *NONE                        *

        *  Source listing indentation . . . :   *NONE                        *

        *  Type conversion options  . . . . :   *NONE                        *

        *  Sort sequence  . . . . . . . . . :   *HEX                         *

        *  Language identifier  . . . . . . :   *JOBRUN                      *

        *  Authority  . . . . . . . . . . . :   *LIBCRTAUT                   *

        *  Truncate numeric . . . . . . . . :   *YES                         *

        *  Fix numeric  . . . . . . . . . . :   *ZONED                       *

        *  Allow null values  . . . . . . . :   *NO                          *

        *  Binding directory from Command . :   *NONE                        *

        *  Binding directory from Source  . :   HTTPAPI      QC2LE           *

        *    Library  . . . . . . . . . . . :     *LIBL        *LIBL         *

        *  Enable performance collection  . :   *PEP                         *

        *  Profiling data . . . . . . . . . :   *NOCOL                       *

        *--------------------------------------------------------------------*

    46 fmbfflcmtdtif   e           k disk    usropn                                                              091207     004600

    47  *                                                                                                        091207     004700

        *--------------------------------------------------------------------------------------------*

        *                               RPG name         External name                               *

        * File name. . . . . . . . . :  MBFFLCMTDT       FILELIB/MBFFLCMTDT                          *

        * Record format(s) . . . . . :  MBRFLCMTDT       MBRFLCMTDT                                  *

        *--------------------------------------------------------------------------------------------*

    48 d P@ds          Esds                  extname(IIPGDS)                                                     100203     004800

    49  *                                                                                                        100203     004900

    50  /copy HTTPAPI_H                                                                                          091207     005000

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  HTTPAPI_H                                                    *                     1

        * External name  . . . . . . :  LIBHTTPB/QRPGLESRC(HTTPAPI_H)                                *                     1

        * Last change  . . . . . . . :  02/28/11  10:32:19                                           *                     1

        * Text 'description' . . . . :  HTTP-API header member                                       *                     1

        *--------------------------------------------------------------------------------------------*

    51+/*-                                                                            +                          000000    1000100

    52+ * Copyright (c) 2001-2010 Scott C. Klement                                    +                          100105    1000200

    53+ * All rights reserved.                                                        +                          000000    1000300

    54+ *                                                                             +                          000000    1000400

    55+ * Redistribution and use in source and binary forms, with or without          +                          000000    1000500

    56+ * modification, are permitted provided that the following conditions          +                          000000    1000600

    57+ * are met:                                                                    +                          000000    1000700

    58+ * 1. Redistributions of source code must retain the above copyright           +                          000000    1000800

    59+ *    notice, this list of conditions and the following disclaimer.            +                          000000    1000900

    60+ * 2. Redistributions in binary form must reproduce the above copyright        +                          000000    1001000

    61+ *    notice, this list of conditions and the following disclaimer in the      +                          000000    1001100

    62+ *    documentation and/or other materials provided with the distribution.     +                          000000    1001200

    63+ *                                                                             +                          000000    1001300

    64+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND      +                          070828    1001400

    65+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE       +                          000000    1001500

    66+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  +                          000000    1001600

    67+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE     +                          000000    1001700

    68+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  +                          000000    1001800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      4

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

    69+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS     +                          000000    1001900

    70+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)       +                          000000    1002000

    71+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  +                          000000    1002100

    72+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY   +                          000000    1002200

    73+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF      +                          000000    1002300

    74+ * SUCH DAMAGE.                                                                +                          000000    1002400

    75+ *                                                                             +                          000000    1002500

    76+ */                                                                            +                          000000    1002600

    77+                                                                                                          000000    1002700

    78+ /if defined(HTTPAPI_H)                                                                                   000000    1002800

            LINES EXCLUDED: 1

    79+ /endif                                                                                                   000000    1003000

    80+                                                                                                          000000    1003100

    81+D HTTPAPI_VERSION...                                                                                      000000    1003200

    82+D                 C                   CONST('1.24beta11')                                                 100909    1003300

    83+D HTTPAPI_RELDATE...                                                                                      000000    1003400

    84+D                 C                   CONST('2010-09-09')                                                 100909    1003500

    85+                                                                                                          070628    1003600

    86+ /copy LIBHTTPB/qrpglesrc,config_h                                                                        100106    1003700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CONFIG_H                                                     *                     2

        * External name  . . . . . . :  LIBHTTPB/QRPGLESRC(CONFIG_H)                                 *                     2

        * Last change  . . . . . . . :  02/28/11  10:32:19                                           *                     2

        * Text 'description' . . . . :  HTTP-API compile-time configuration                          *                     2

        *--------------------------------------------------------------------------------------------*

    87+***  If you do not want SSL support, comment out the line below.                                          011020    2000100

    88+***   (You _must_ do this if you're running V4R4 or earlier)                                              011020    2000200

    89+                                                                                                          011020    2000300

    90+D/define HAVE_SSLAPI                                                                                      021030    2000400

    91+                                                                                                          040303    2000500

    92+***  define this if your RPG compiler supports 64-bit integers                                            040303    2000600

    93+***  (they were introduced in V4R4)                                                                       040303    2000700

    94+***                                                                                                       040303    2000800

    95+                                                                                                          040303    2000900

    96+D/define HAVE_INT64                                                                                       040303    2001000

    97+                                                                                                          040303    2001100

    98+***  define this if your RPG compiler supports                                                            040303    2001200

    99+***  options(*SRCSTMT: *NODEBUGIO: *NOSHOWCPY)                                                            040303    2001300

   100+***  (they were introduced in V4R4, but can be enabled as far                                             040303    2001400

   101+***   back as V3R2 using PTFs)                                                                            040303    2001500

   102+                                                                                                          040303    2001600

   103+D/define HAVE_SRCSTMT_NODEBUGIO                                                                           040303    2001700

   104+                                                                                                          050622    2001800

   105+***  In V4R5 it's possible to enable GSKit for SSL via                                                    050622    2001900

   106+***    PTFs. However, some functionality wasn't yet available                                             050622    2002000

   107+***    in that release. Define this if you need SSL to be limited                                         050622    2002100

   108+***    to what's available on a V4R5 system. (This is ignored                                             050622    2002200

   109+***    when SSL is disabled.)                                                                             050622    2002300

   110+                                                                                                          050622    2002400

   111+D/undefine V4R5_GSKIT                                                                                     050622    2002500

   112+                                                                                                          011020    2002600

   113+***  This is the default timeout value (in seconds) that HTTPAPI                                          011020    2002700

   114+***  uses if a timeout value isn't specified by the calling                                               011020    2002800

   115+***  program:                                                                                             011020    2002900

   116+                                                                                                          011020    2003000

   117+D HTTP_TIMEOUT    C                   CONST(60)                                                           060327    2003100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      5

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   118+                                                                                                          011020    2003200

   119+***  This is the 'User-Agent' name that is reported by this API                                           011020    2003300

   120+***  to the web servers if you don't specify it explcitly when                                            011020    2003400

   121+***  calling the routines.                                                                                011020    2003500

   122+                                                                                                          011020    2003600

   123+D HTTP_USERAGENT  C                   CONST('http-api/1.24')                                              081007    2003700

   124+                                                                                                          011020    2003800

   125+***  This is the 'Content-Type' that is reported by this API                                              011020    2003900

   126+***  to the web servers if you don't specify it explcitly when                                            011020    2004000

   127+***  calling the POST routines.   (the GET routines, by default,                                          011020    2004100

   128+***  do not specify a content-type.)                                                                      011020    2004200

   129+                                                                                                          011020    2004300

   130+D HTTP_CONTTYPE   C                   CONST('text/xml')                                                   031001    2004400

   131+                                                                                                          011020    2004500

   132+***  The original implementation of HTTPAPI used tables                                                   050623    2004600

   133+***  (*TBL objects) to translate from ASCII to EBCDIC. These can                                          050623    2004700

   134+***  be enabled/set by defining the HTTP_USE_TABLES condition,                                            050623    2004800

   135+***  and then setting the table names.  They can be overridden                                            050623    2004900

   136+***  at runtime by calling HTTP_setTables().                                                              050623    2005000

   137+***                                                                                                       050623    2005100

   138+***  In the current implementation, we prefer that you use CCSIDs                                         050623    2005200

   139+***  instead of tables. When HTTP_USE_TABLES is not defined,                                              050623    2005300

   140+***  the HTTP_EBCDIC and HTTP_ASCII constants represent the                                               050623    2005400

   141+***  default CCSIDs for ASCII<-->EBCDIC translation.  They can be                                         050623    2005500

   142+***  overridden at runtime by calling HTTP_setCCSIDs()                                                    050623    2005600

   143+***                                                                                                       050623    2005700

   144+                                                                                                          011020    2005800

   145+ /undefine HTTP_USE_TABLES                                                                                060923    2005900

   146+ /if defined(HTTP_USE_TABLES)                                                                             050623    2006000

            LINES EXCLUDED: 2

   147+ /else                                                                                                    050623    2006300

   148+D HTTP_EBCDIC     C                   CONST(0)                                                            050623    2006400

   149+D HTTP_ASCII      C                   CONST(819)                                                          060330    2006500

   150+ /endif                                                                                                   050623    2006600

   151+                                                                                                          011020    2006700

   152+***  This is the codepage or CCSID assigned to downloaded stream                                          050623    2006800

   153+***  files by default. (Note: HTTPAPI does not convert the file                                           050623    2006900

   154+***  to this CCSID, it just assigns this number to the file's                                             050623    2007000

   155+***  attributes.)                                                                                         050623    2007100

   156+***                                                                                                       050623    2007200

   157+***  Whether this is treated as a CCSID or a codepage depends on                                          050623    2007300

   158+***  the value of the HTTP USE CCSID condition, below.                                                    050623    2007400

   159+***                                                                                                       050623    2007500

   160+***  Can be overridden at runtime by calling HTTP_SetFileCCSID()                                          050623    2007600

   161+                                                                                                          011020    2007700

   162+D HTTP_CCSID      C                   CONST(819)                                                          061116    2007800

   163+                                                                                                          050623    2007900

   164+***  Starting in V5R1, a full CCSID is available in the IFS                                               050623    2008000

   165+***  instead of a codepage. When this is defined, CCSID support                                           050623    2008100

   166+***  will be used instead of codepages                                                                    050623    2008200

   167+                                                                                                          050623    2008300

   168+D/define HTTP_USE_CCSID                                                                                   050623    2008400

   169+                                                                                                          011020    2008500

   170+***  This is the file mode used when creating files in the IFS.                                           011020    2008600

   171+***  (Caution: This mode is given in DECIMAL, not octal!)                                                 011020    2008700

   172+***  Octal 666 = Decimal 438  (RW-RW-RW-)                                                                 011020    2008800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      6

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   173+***  Octal 644 = Decimal 420  (RW-R--R--)                                                                 011020    2008900

   174+***  Octal 777 = Decimal 511  (RWXRWXRWX)                                                                 011020    2009000

   175+***  Octal 755 = Decimal 493  (RWXR-XR-X)                                                                 011020    2009100

   176+                                                                                                          011020    2009200

   177+D HTTP_IFSMODE    C                   CONST(511)                                                          011020    2009300

   178+                                                                                                          030327    2009400

   179+***  HTTPAPI normally uses non-blocking sockets to ensure that                                            050630    2009500

   180+***  the session never "hangs".  However, during the connection                                           050630    2009600

   181+***  progress, this can mean that information gets lost.                                                  050630    2009700

   182+***                                                                                                       050630    2009800

   183+***  Define this to wait until after the connection is established                                        050630    2009900

   184+***  before switching the socket to non-blocking.                                                         050630    2010000

   185+D/define HTTP_BLOCK_ON_CONNECT                                                                            050630    2010100

   186+                                                                                                          060221    2010200

   187+***                                                                                                       060221    2010300

   188+*** This determines whether Cookies are turned *ON or *OFF                                                060221    2010400

   189+*** by default.                                                                                           060507    2010500

   190+***                                                                                                       060221    2010600

   191+DHTTP_COOKIE_DEFAULT...                                                                                   060221    2010700

   192+D                 C                   CONST(*ON)                                                          060507    2010800

   193+                                                                                                          050630    2010900

   194+***  This changes whether debugging is on or off by default.                                              041103    2011000

   195+***  You can override this at runtime by calling the http_debug()                                         041103    2011100

   196+***  procedure.                                                                                           041103    2011200

   197+D/undefine DEBUG                                                                                          060323    2011300

        *--------------------------------------------------------------------------------------------*                     3

        * Data structure . . . . . . :  P@DS                                                         *                     3

        * External format  . . . . . :  IIPGDSR : FILELIB/IIPGDS                                     *                     3

        * Format text  . . . . . . . :  Program Stat. Rec                                            *                     3

        *--------------------------------------------------------------------------------------------*                     3

   198=D P@PROG                        10A                                        Procedure Name *PROC                     3000001

   199=D P@STAT                         5S 0                                      Status Code *STATUS                      3000002

   200=D P@PSTT                         5S 0                                      Previous Status Code                     3000003

   201=D P@RPGS                         8A                                        RPG Source Statement                     3000004

   202=D P@RPGR                         8A                                        RPG Routine *ROUTINE                     3000005

   203=D P@PARM                         3S 0                                      Number of Parms Passed                   3000006

   204=D P@EXPT                         3A                                        Exception type CPF/MCH                   3000007

   205=D P@EXPN                         4A                                        Exception number Id                      3000008

   206=D P@MIOD                         8B 0                                      MI/ODT                                   3000009

   207=D P@WRKM                        30A                                        Work Area for Messages                   3000010

   208=D P@LIB                         10A                                        Name of Library                          3000011

   209=D P@CPF                         80A                                        CPF Messages                             3000012

   210=D P@RSV                         30A                                        Reserved                                 3000013

   211=D P@LSTF                         8A                                        Last File Used                           3000014

   212=D P@STLF                        35A                                        Status info on the Last File             3000015

   213=D P@JOBN                        10A                                        Job Name                                 3000016

   214=D P@JOBU                        10A                                        Job User Name                            3000017

   215=D P@JOB#                         6S 0                                      Job Number                               3000018

   216=D P@JDTE                         6S 0                                      Job Date in UDATE format                 3000019

   217=D P@PDTE                         6S 0                                      Date Pgm Exc in UDATE format             3000020

   218=D P@PTIM                         6S 0                                      Time Pgm Exc in HMS format               3000021

   219=D P@CDTE                         6A                                        Date Pgm was compiled                    3000022

   220=D P@CTIM                         6A                                        Time Pgm was compiled                    3000023

   221=D P@CLVL                         4A                                        Level of compiler                        3000024

   222=D P@CSRC                        10A                                        Source File name                         3000025

   223=D P@CSLB                        10A                                        Source Library name                      3000026

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      7

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   224=D P@CSMB                        10A                                        Source File Member name                  3000027

   225=D P@CPGM                        10A                                        Program name                             3000028

   226=D P@CMOD                        10A                                        Module name                              3000029

   227=D P@NUS1                         4A                                        Not used                                 3000030

   228=D P@USER                        10A                                        Current User Profile                     3000031

   229=D P@NUS2                        62A                                        Not used                                 3000032

   230+DHTTP_DEBUG_FILE  s            500A   varying                                                             041103    2011400

   231+D                                     inz('/tmp/httpapi_debug.txt')                                       041103    2011500

   232+                                                                                                          070125    2011600

   233+***  This changes how memory is allocated.  If defined, HTTPAPI                                           070125    2011700

   234+***  will allocate memory in TERASPACE, thus allowing for very                                            070125    2011800

   235+***  large allocations.                                                                                   070828    2011900

   236+D/undefine USE_TS_MALLOC64                                                                                070828    2012000

   237+D/undefine USE_TS_MALLOC64                                                                                070828    2012100

   238+***  With both turned off (default) up to 16 MB per allocation.                                           070828    2012200

   239+***  WARNING: This is currently experimental!!  If you have                                               070828    2012300

   240+***           problems, make sure TERASPACE is undefined.                                                 070828    2012400

   241+D/undefine TERASPACE                                                                                      070426    2012500

   242+D/undefine USE_TS_MALLOC64                                                                                070828    2012600

   243+                                                                                                          071218    2012700

   244+***  This allows access to V5R3 (or higher) functions in the                                              071218    2012800

   245+***  SSL environment.  Only define this if HTTPAPI will be used                                           071218    2012900

   246+***  on V5R3 or later.                                                                                    071218    2013000

   247+D/define V5R3_GSKIT                                                                                       071218    2013100

   248+                                                                                                          000000    1003800

   249+ *********************************************************************                                    000000    1003900

   250+ **  procedure prototypes                                                                                 000000    1004000

   251+ *********************************************************************                                    000000    1004100

   252+                                                                                                          000000    1004200

   253+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1004300

   254+ *  http_get(): Retrieve an HTTP document                                                                 000000    1004400

   255+ *  http_url_get(): Retrieve an HTTP document                                                             000000    1004500

   256+ *                                                                                                        000000    1004600

   257+ *       peURL = url to grab  (i.e. http://www.blah.com/dir/file.txt)                                     000000    1004700

   258+ *  peFilename = filename in IFS to save response into                                                    000000    1004800

   259+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1004900

   260+ *          this many seconds.                                                                            000000    1005000

   261+ *  peModTime  = (optional) only get file if it was changed since                                         000000    1005100

   262+ *          this timestamp.                                                                               000000    1005200

   263+ *  peContentType = (optional) content type to supply (mainly                                             000000    1005300

   264+ *          useful when talking to CGI scripts.) To supply the                                            000000    1005400

   265+ *          default value for this parm, you can supply the                                               000000    1005500

   266+ *          HTTP_CONTTYPE constant.                                                                       000000    1005600

   267+ *  peUserAgent = (optional) This specifies the name & version                                            000000    1005700

   268+ *          of your HTTP client to the server.  The server uses                                           000000    1005800

   269+ *          it for statistics and sometimes to restrict pages                                             000000    1005900

   270+ *          so that they're "only for Internet Explorer."                                                 000000    1006000

   271+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1006100

   272+ *          taken by some SOAP applications.                                                              000000    1006200

   273+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1006300

   274+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1006400

   275+ *             you don't want a SoapAction header to be sent.                                             080903    1006500

   276+ *                                                                                                        000000    1006600

   277+ *  Returns  -1 = internal error (check HTTP_ERROR)                                                       000000    1006700

   278+ *            0 = timeout while receiving data or connecting                                              000000    1006800

   279+ *            1 = file retrieved successfully                                                             000000    1006900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      8

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   280+ *          > 1 = HTTP response code indicating server's error reply                                      000000    1007000

   281+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1007100

   282+D http_get        PR            10I 0 extproc('HTTP_URL_GET')                                             000000    1007200

   283+D  peURL                     32767A   varying const options(*varsize)                                     000000    1007300

   284+D  peFilename                32767A   varying const options(*varsize)                                     000000    1007400

   285+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1007500

   286+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1007600

            LINES EXCLUDED: 4

   287+ /else                                                                                                    090730    1008100

   288+D  peUserAgent               16384A   varying const                                                       091030    1008200

   289+D                                     options(*nopass:*omit)                                              091030    1008300

   290+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1008400

   291+D  peContentType             16384A   varying const                                                       091030    1008500

   292+D                                     options(*nopass:*omit)                                              091030    1008600

   293+D  peSOAPAction              16384A   varying const                                                       090730    1008700

   294+D                                     options(*nopass:*omit)                                              090730    1008800

   295+ /endif                                                                                                   090730    1008900

   296+D http_url_get    PR            10I 0                                                                     000000    1009000

   297+D  peURL                     32767A   varying const options(*varsize)                                     000000    1009100

   298+D  peFilename                32767A   varying const options(*varsize)                                     000000    1009200

   299+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1009300

   300+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1009400

            LINES EXCLUDED: 4

   301+ /else                                                                                                    090730    1009900

   302+D  peUserAgent               16384A   varying const                                                       091030    1010000

   303+D                                     options(*nopass:*omit)                                              091030    1010100

   304+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1010200

   305+D  peContentType             16384A   varying const                                                       091030    1010300

   306+D                                     options(*nopass:*omit)                                              091030    1010400

   307+D  peSOAPAction              16384A   varying const                                                       090730    1010500

   308+D                                     options(*nopass:*omit)                                              090730    1010600

   309+ /endif                                                                                                   090730    1010700

   310+                                                                                                          000000    1010800

   311+                                                                                                          000000    1010900

   312+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1011000

   313+ *  http_url_post(): Post data to CGI script and get document                                             000000    1011100

   314+ *                                                                                                        000000    1011200

   315+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1011300

   316+ *    pePostData = pointer to data to post to CGI script.                                                 000000    1011400

   317+ * pePostDataLen = length of data to post to CGI script.                                                  000000    1011500

   318+ *   peFileName  = Filename in IFS to save response into                                                  000000    1011600

   319+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1011700

   320+ *            this many seconds.                                                                          000000    1011800

   321+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1011900

   322+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1012000

   323+ *            if you want to get the default value.                                                       000000    1012100

   324+ * peContentType = (optional) content type to supply (mainly                                              000000    1012200

   325+ *            useful when talking to CGI scripts)                                                         000000    1012300

   326+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1012400

   327+ *          taken by some SOAP applications.                                                              080903    1012500

   328+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1012600

   329+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1012700

   330+ *             you don't want a SoapAction header to be sent.                                             080903    1012800

   331+ *                                                                                                        000000    1012900

   332+ *  Returns  -1 = internal error (check HTTP_ERROR)                                                       000000    1013000

   333+ *            0 = timeout while receiving data or connecting                                              000000    1013100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page      9

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   334+ *            1 = file retrieved successfully                                                             000000    1013200

   335+ *          > 1 = HTTP response code indicating server's error reply                                      000000    1013300

   336+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1013400

   337+D http_post       PR            10I 0 EXTPROC('HTTP_URL_POST')                                            000000    1013500

   338+D  peURL                     32767A   varying const options(*varsize)                                     000000    1013600

   339+D  pePostData                     *   value                                                               000000    1013700

   340+D  pePostDataLen                10I 0 value                                                               000000    1013800

   341+D  peFilename                32767A   varying const options(*varsize)                                     000000    1013900

   342+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1014000

   343+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1014100

            LINES EXCLUDED: 3

   344+ /else                                                                                                    090730    1014500

   345+D  peUserAgent               16384A   varying const                                                       091030    1014600

   346+D                                     options(*nopass:*omit)                                              091030    1014700

   347+D  peContentType             16384A   varying const                                                       091030    1014800

   348+D                                     options(*nopass:*omit)                                              091030    1014900

   349+D  peSOAPAction              16384A   varying const                                                       090730    1015000

   350+D                                     options(*nopass:*omit)                                              090730    1015100

   351+ /endif                                                                                                   090730    1015200

   352+D http_url_post   PR            10I 0                                                                     000000    1015300

   353+D  peURL                     32767A   varying const options(*varsize)                                     000000    1015400

   354+D  pePostData                     *   value                                                               000000    1015500

   355+D  pePostDataLen                10I 0 value                                                               000000    1015600

   356+D  peFilename                32767A   varying const options(*varsize)                                     000000    1015700

   357+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1015800

   358+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1015900

            LINES EXCLUDED: 3

   359+ /else                                                                                                    090730    1016300

   360+D  peUserAgent               16384A   varying const                                                       091030    1016400

   361+D                                     options(*nopass:*omit)                                              091030    1016500

   362+D  peContentType             16384A   varying const                                                       091030    1016600

   363+D                                     options(*nopass:*omit)                                              091030    1016700

   364+D  peSOAPAction              16384A   varying const                                                       090730    1016800

   365+D                                     options(*nopass:*omit)                                              090730    1016900

   366+ /endif                                                                                                   090730    1017000

   367+                                                                                                          000000    1017100

   368+                                                                                                          000000    1017200

   369+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1017300

   370+ *  http_url_get_raw(): Retrieve an HTTP document (in raw mode)                                           000000    1017400

   371+ *                                                                                                        000000    1017500

   372+ *       peURL = url to grab  (i.e. http://www.blah.com/dir/file.txt)                                     000000    1017600

   373+ *       peFD  = FD to pass back to peProc                                                                000000    1017700

   374+ *     peProc  = procedure to call each time data is received.                                            000000    1017800

   375+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1017900

   376+ *          this many seconds.                                                                            000000    1018000

   377+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1018100

   378+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1018200

   379+ *            if you want to get the default value.                                                       000000    1018300

   380+ *  peModTime  = (optiona) only get file if it was changed since                                          000000    1018400

   381+ *          this timestamp.                                                                               000000    1018500

   382+ *  peContentType = (optional) content type to supply (mainly                                             000000    1018600

   383+ *          useful when talking to CGI scripts)                                                           000000    1018700

   384+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1018800

   385+ *          taken by some SOAP applications.                                                              080903    1018900

   386+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1019000

   387+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1019100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     10

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   388+ *             you don't want a SoapAction header to be sent.                                             080903    1019200

   389+ *                                                                                                        000000    1019300

   390+ *  Returns  (same as http_url_get)                                                                       000000    1019400

   391+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1019500

   392+D http_url_get_raw...                                                                                     000000    1019600

   393+D                 PR            10I 0                                                                     000000    1019700

   394+D  peURL                     32767A   varying const options(*varsize)                                     000000    1019800

   395+D  peFD                         10I 0 value                                                               000000    1019900

   396+D  peProc                         *   value procptr                                                       000000    1020000

   397+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1020100

   398+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1020200

            LINES EXCLUDED: 4

   399+ /else                                                                                                    090730    1020700

   400+D  peUserAgent               16384A   varying const                                                       091030    1020800

   401+D                                     options(*nopass:*omit)                                              091030    1020900

   402+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1021000

   403+D  peContentType             16384A   varying const                                                       091030    1021100

   404+D                                     options(*nopass:*omit)                                              091030    1021200

   405+D  peSOAPAction              16384A   varying const                                                       090730    1021300

   406+D                                     options(*nopass:*omit)                                              090730    1021400

   407+ /endif                                                                                                   090730    1021500

   408+                                                                                                          000000    1021600

   409+                                                                                                          000000    1021700

   410+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1021800

   411+ *  http_url_post_raw(): Post data to CGI script and get document                                         000000    1021900

   412+ *                                                                                                        000000    1022000

   413+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1022100

   414+ *    pePostData = pointer to data to post to CGI script.                                                 000000    1022200

   415+ * pePostDataLen = length of data to post to CGI script.                                                  000000    1022300

   416+ *         peFD  = FD to pass back to peProc                                                              000000    1022400

   417+ *       peProc  = procedure to call each time data is received.                                          000000    1022500

   418+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1022600

   419+ *            this many seconds.                                                                          000000    1022700

   420+ *  peUserAgent  = (optional) User-Agent string passed to the                                             000000    1022800

   421+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1022900

   422+ *            if you want to get the default value.                                                       000000    1023000

   423+ * peContentType = (optional) content type to supply (mainly                                              000000    1023100

   424+ *            useful when talking to CGI scripts)                                                         000000    1023200

   425+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1023300

   426+ *          taken by some SOAP applications.                                                              080903    1023400

   427+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1023500

   428+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1023600

   429+ *             you don't want a SoapAction header to be sent.                                             080903    1023700

   430+ *                                                                                                        000000    1023800

   431+ *  Returns  (same as http_url_post)                                                                      000000    1023900

   432+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1024000

   433+D http_url_post_raw...                                                                                    000000    1024100

   434+D                 PR            10I 0                                                                     000000    1024200

   435+D  peURL                     32767A   varying const options(*varsize)                                     000000    1024300

   436+D  pePostData                     *   value                                                               000000    1024400

   437+D  pePostDataLen                10I 0 value                                                               000000    1024500

   438+D  peFD                         10I 0 value                                                               000000    1024600

   439+D  peProc                         *   value procptr                                                       000000    1024700

   440+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1024800

   441+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1024900

            LINES EXCLUDED: 3

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     11

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   442+ /else                                                                                                    090730    1025300

   443+D  peUserAgent               16384A   varying const                                                       091030    1025400

   444+D                                     options(*nopass:*omit)                                              091030    1025500

   445+D  peContentType             16384A   varying const                                                       091030    1025600

   446+D                                     options(*nopass:*omit)                                              091030    1025700

   447+D  peSOAPAction              16384A   varying const                                                       090730    1025800

   448+D                                     options(*nopass:*omit)                                              090730    1025900

   449+ /endif                                                                                                   090730    1026000

   450+                                                                                                          000000    1026100

   451+                                                                                                          000000    1026200

   452+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1026300

   453+ *  http_ParseURL(): Parse URL into it's component parts                                                  000000    1026400

   454+ *                                                                                                        000000    1026500

   455+ *  Breaks a uniform resource locator (URL) into it's component                                           000000    1026600

   456+ *  pieces for use with the http: or https: protocols.  (would also                                       000000    1026700

   457+ *  work for FTP with minor tweaks)                                                                       000000    1026800

   458+ *                                                                                                        000000    1026900

   459+ *  peURL = URL that needs to be parsed.                                                                  000000    1027000

   460+ *  peService = service name from URL (i.e. http or https)                                                000000    1027100

   461+ *  peUserName = user name given, or *blanks                                                              000000    1027200

   462+ *  pePassword = password given, or *blanks                                                               000000    1027300

   463+ *  peHost = hostname given in URL. (could be domain name or IP)                                          000000    1027400

   464+ *  pePort = port number to connect to, if specified, otherwise 0.                                        000000    1027500

   465+ *  pePath = remaining path/request for server.                                                           000000    1027600

   466+ *                                                                                                        000000    1027700

   467+ *  returns -1 upon failure, or 0 upon success                                                            000000    1027800

   468+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1027900

   469+D http_ParseURL   PR            10I 0                                                                     000000    1028000

   470+D  peURL                       256A   const                                                               000000    1028100

   471+D  peService                    32A                                                                       000000    1028200

   472+D  peUserName                   32A                                                                       000000    1028300

   473+D  pePassword                   32A                                                                       000000    1028400

   474+D  peHost                      256A                                                                       000000    1028500

   475+D  pePort                       10I 0                                                                     000000    1028600

   476+D  pePath                      256A                                                                       000000    1028700

   477+                                                                                                          000000    1028800

   478+                                                                                                          000000    1028900

   479+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1029000

   480+ *  http_build_sockaddr():  Build a socket address structure for a host                                   000000    1029100

   481+ *                                                                                                        000000    1029200

   482+ *        peHost = hostname to build sockaddr_in for                                                      000000    1029300

   483+ *     peService = service name (or port) to build sockaddr_in for                                        000000    1029400

   484+ *   peForcePort = numeric port to force entry to, overrides peService                                    000000    1029500

   485+ *    peSockAddr = pointer to a location to place a sockaddr_in into.                                     000000    1029600

   486+ *             (if *NULL, memory will be allocated, otherwise it will                                     000000    1029700

   487+ *                be re-alloc'ed)                                                                         000000    1029800

   488+ *                                                                                                        000000    1029900

   489+ *   returns -1 upon failure, 0 upon success                                                              000000    1030000

   490+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1030100

   491+D http_build_sockaddr...                                                                                  000000    1030200

   492+D                 PR            10I 0                                                                     000000    1030300

   493+D   peHost                     256A   const                                                               000000    1030400

   494+D   peService                   32A   const                                                               000000    1030500

   495+D   peForcePort                 10I 0 value                                                               000000    1030600

   496+D   peSockAddr                    *                                                                       000000    1030700

   497+                                                                                                          000000    1030800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     12

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   498+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1030900

   499+ *  http_close(): close HTTP connection                                                                   000000    1031000

   500+ *                                                                                                        000000    1031100

   501+ *         peSock = socket to close                                                                       000000    1031200

   502+ *         peComm = comm driver opened with http_select_commdriver()                                      000000    1031300

   503+ *                                                                                                        000000    1031400

   504+ *  returns -1 upon failure, or 0 upon success                                                            000000    1031500

   505+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1031600

   506+D http_close      PR            10I 0                                                                     000000    1031700

   507+D  peSock                       10I 0 value                                                               000000    1031800

   508+D  peComm                         *   value                                                               000000    1031900

   509+                                                                                                          000000    1032000

   510+                                                                                                          000000    1032100

   511+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1032200

   512+ *  http_error():   Return the last error that occurred.                                                  000000    1032300

   513+ *                                                                                                        000000    1032400

   514+ *     peErrorNo = (optional) error number that occurred.                                                 000000    1032500

   515+ *                                                                                                        000000    1032600

   516+ *  Returns the human-readable error message.                                                             000000    1032700

   517+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1032800

   518+D http_error      PR            80A                                                                       000000    1032900

   519+D   peErrorNo                   10I 0 options(*nopass:*omit)                                              000000    1033000

   520+                                                                                                          000000    1033100

   521+ /if defined(HAVE_SSLAPI)                                                                                 000000    1033200

   522+                                                                                                          000000    1033300

   523+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1033400

   524+ * https_init():  Initialize https (HTTP over SSL/TLS) protocol                                           000000    1033500

   525+ *                                                                                                        000000    1033600

   526+ *     peAppID = This parameter controls how HTTPAPI associates                                           090218    1033700

   527+ *               itself with the Digital Certificate Manager.                                             090218    1033800

   528+ *               a) If you pass *BLANKS, HTTPAPI will use the                                             090218    1033900

   529+ *                   default settings for the *SYSTEM cert store                                          090218    1034000

   530+ *                   (This option most closely resembles what a                                           090218    1034100

   531+ *                    browser would do -- and is the default.)                                            090218    1034200

   532+ *               b) If you pass a string containing the / character                                       090218    1034300

   533+ *                   HTTPAPI will consider this an IFS pathname to                                        090218    1034400

   534+ *                   a keyring file. (Only use this if you know                                           090218    1034500

   535+ *                   what you're doing.)                                                                  090218    1034600

   536+ *               c) In any other case, HTTPAPI will consider it an                                        090218    1034700

   537+ *                   application ID, and will use that application                                        090218    1034800

   538+ *                   profile from the "Manage Applications" section                                       090218    1034900

   539+ *                   of the Digital Certificate Manager. (Recommended                                     090218    1035000

   540+ *                   for high-security situations.)                                                       090218    1035100

   541+ *                                                                                                        090218    1035200

   542+ *     peSSLv2 = (optional) Turn SSL version 2 *ON or *OFF                                                000000    1035300

   543+ *     peSSLv3 = (optional) Turn SSL version 3 *ON or *OFF                                                000000    1035400

   544+ *     peTLSv1 = (optional) Turn TLS version 1 *ON or *OFF                                                000000    1035500

   545+ *                                                                                                        000000    1035600

   546+ *   You must pass all of the SSL/TLS flags or none.  If you                                              000000    1035700

   547+ *   do not pass all three flags, they are ignored.                                                       000000    1035800

   548+ *                                                                                                        000000    1035900

   549+ * Returns -1 upon failure.                                                                               090218    1036000

   550+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1036100

   551+D https_init      PR            10I 0                                                                     000000    1036200

   552+D  peAppID                     100A   const                                                               000000    1036300

   553+D  peSSLv2                       1N   const options(*nopass)                                              000000    1036400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     13

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   554+D  peSSLv3                       1N   const options(*nopass)                                              000000    1036500

   555+D  peTLSv1                       1N   const options(*nopass)                                              000000    1036600

   556+                                                                                                          000000    1036700

   557+                                                                                                          000000    1036800

   558+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1036900

   559+ *  Register your application with the Digital Certificate Manager                                        000000    1037000

   560+ *                                                                                                        000000    1037100

   561+ *    peAppID = application ID.  IBM recommends that you do                                               000000    1037200

   562+ *         something like:  COMPANY_COMPONENT_NAME                                                        000000    1037300

   563+ *         (example:  QIBM_DIRSRV_REPLICATION)                                                            000000    1037400

   564+ *                                                                                                        000000    1037500

   565+ *  peLimitCA = set to *On if you want to only want to allow the                                          000000    1037600

   566+ *         certificate authorities registered in D.C.M., or set to                                        000000    1037700

   567+ *         *Off if you'll manage that yourself.                                                           000000    1037800

   568+ *                                                                                                        000000    1037900

   569+ *   returns 0 for success, or -1 upon failure                                                            000000    1038000

   570+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1038100

   571+D https_dcm_reg   PR            10I 0                                                                     000000    1038200

   572+D  peAppID                     100A   const                                                               000000    1038300

   573+D  peLimitCA                     1N   const                                                               000000    1038400

   574+                                                                                                          000000    1038500

   575+                                                                                                          000000    1038600

   576+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1038700

   577+ * https_cleanup():  Clean up & free storage used by the SSL                                              000000    1038800

   578+ *   environment.                                                                                         000000    1038900

   579+ *                                                                                                        000000    1039000

   580+ *  returns 0 if successful, -1 upon failure                                                              000000    1039100

   581+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1039200

   582+D https_cleanup   PR            10I 0                                                                     000000    1039300

   583+                                                                                                          071218    1039400

   584+                                                                                                          071218    1039500

   585+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1039600

   586+ * https_idname(): Returns a string that describes an SSL certificate                                     071218    1039700

   587+ *                  data element id (for printing/debugging)                                              071218    1039800

   588+ *                                                                                                        071218    1039900

   589+ *       peID = (input) data ID to get name of                                                            071218    1040000

   590+ *                                                                                                        071218    1040100

   591+ * Returns the human-readable name                                                                        071218    1040200

   592+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1040300

   593+D https_idname    PR            50A   varying                                                             071218    1040400

   594+D   peID                        10I 0 value                                                               071218    1040500

   595+                                                                                                          071218    1040600

   596+                                                                                                          071218    1040700

   597+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1040800

   598+ * https_strict(): Force SSL to be strictly validated                                                     071218    1040900

   599+ *                                                                                                        071218    1041000

   600+ *      peSetting = (input) *ON  = use full validation                                                    071218    1041100

   601+ *                          *OFF = use passthru validation                                                071218    1041200

   602+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1041300

   603+D https_strict    PR                                                                                      071218    1041400

   604+D   peSetting                    1n   const                                                               071218    1041500

   605+                                                                                                          000000    1041600

   606+ /endif                                                                                                   000000    1041700

   607+                                                                                                          000000    1041800

   608+                                                                                                          000000    1041900

   609+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1042000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     14

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   610+ *  http_getauth():   Get HTTP Authentication Information                                                 000000    1042100

   611+ *                                                                                                        000000    1042200

   612+ *   Call this proc after you receive a HTTP_NDAUTH error                                                 000000    1042300

   613+ *   to determine the authentication credentials that are required                                        000000    1042400

   614+ *                                                                                                        000000    1042500

   615+ *  The following parms are returned to your program:                                                     000000    1042600

   616+ *                                                                                                        000000    1042700

   617+ *     peBasic = *ON if BASIC auth is allowed                                                             000000    1042800

   618+ *    peDigest = *ON if MD5 DIGEST auth is allowed                                                        000000    1042900

   619+ *     peRealm = Auth realm.  Present this to the user to identify                                        000000    1043000

   620+ *               which password you're looking for.  For example                                          000000    1043100

   621+ *               if peRealm is "secureserver.com" you might say                                           000000    1043200

   622+ *               "enter password for secureserver.com" to user.                                           000000    1043300

   623+ *                                                                                                        000000    1043400

   624+ *   After getting the userid & password from the user (or database)                                      000000    1043500

   625+ *   you'll need to call http_setauth()                                                                   000000    1043600

   626+ *                                                                                                        000000    1043700

   627+ *  Returns -1 upon error, or 0 if successful                                                             000000    1043800

   628+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1043900

   629+D http_getauth    PR            10I 0                                                                     000000    1044000

   630+D   peBasic                      1N                                                                       000000    1044100

   631+D   peDigest                     1N                                                                       000000    1044200

   632+D   peRealm                    124A                                                                       000000    1044300

   633+                                                                                                          000000    1044400

   634+                                                                                                          000000    1044500

   635+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1044600

   636+ *  http_setauth():   Set HTTP Authentication Information                                                 000000    1044700

   637+ *                                                                                                        000000    1044800

   638+ *     peAuthType = Authentication Type (HTTP_AUTH_BASIC or                                               000000    1044900

   639+ *                     HTTP_AUTH_MD5_DIGEST)                                                              000000    1045000

   640+ *     peUsername = UserName to use                                                                       000000    1045100

   641+ *     pePasswd   = Password to use                                                                       000000    1045200

   642+ *                                                                                                        000000    1045300

   643+ *  Returns -1 upon error, or 0 if successful                                                             000000    1045400

   644+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1045500

   645+D http_setauth    PR            10I 0                                                                     000000    1045600

   646+D   peAuthType                   1A   const                                                               000000    1045700

   647+D   peUsername                  80A   const                                                               000000    1045800

   648+D   pePasswd                  1024A   const                                                               000000    1045900

   649+                                                                                                          000000    1046000

   650+                                                                                                          000000    1046100

   651+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1046200

   652+ *  http_setproxy():   Set HTTP Proxy Address                                                             000000    1046300

   653+ *                                                                                                        000000    1046400

   654+ *     peHost = Proxy host name                                                                           000000    1046500

   655+ *     psPort = Proxy port                                                                                000000    1046600

   656+ *                                                                                                        000000    1046700

   657+ *  Returns -1 upon error, or 0 if successful                                                             000000    1046800

   658+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1046900

   659+D http_setproxy   PR            10I 0                                                                     000000    1047000

   660+D   peHost                     256A   const                                                               000000    1047100

   661+D   pePort                      10I 0 const                                                               000000    1047200

   662+                                                                                                          000000    1047300

   663+                                                                                                          000000    1047400

   664+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1047500

   665+ *  http_proxy_setauth():   Set HTTP Proxy Authentication Information                                     000000    1047600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     15

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   666+ *                                                                                                        000000    1047700

   667+ *     peAuthType = Authentication Type (HTTP_AUTH_NONE or                                                000000    1047800

   668+ *                     HTTP_AUTH_BASIC)                                                                   000000    1047900

   669+ *     peUsername = UserName to use                                                                       000000    1048000

   670+ *     pePasswd   = Password to use                                                                       000000    1048100

   671+ *                                                                                                        000000    1048200

   672+ *  Returns -1 upon error, or 0 if successful                                                             000000    1048300

   673+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1048400

   674+D http_proxy_setauth...                                                                                   000000    1048500

   675+D                 PR            10I 0                                                                     000000    1048600

   676+D   peAuthType                   1A   const                                                               000000    1048700

   677+D   peUsername                  80A   const                                                               000000    1048800

   678+D   pePasswd                  1024A   const                                                               000000    1048900

   679+                                                                                                          000000    1049000

   680+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1049100

   681+ *  http_proxy_getauth():   Get HTTP Proxy Authentication Information                                     000000    1049200

   682+ *                                                                                                        000000    1049300

   683+ *   Call this proc after you receive a HTTP_PXNDAUTH error                                               000000    1049400

   684+ *   to determine the authentication credentials that are required                                        000000    1049500

   685+ *                                                                                                        000000    1049600

   686+ *  The following parms are returned to your program:                                                     000000    1049700

   687+ *                                                                                                        000000    1049800

   688+ *     peBasic = *ON if BASIC auth is allowed                                                             000000    1049900

   689+ *     peRealm = Auth realm.  Present this to the user to identify                                        000000    1050000

   690+ *               which password you're looking for.  For example                                          000000    1050100

   691+ *               if peRealm is "secureproxy.com" you might say                                            000000    1050200

   692+ *               "enter password for secureproxy.com" to user.                                            000000    1050300

   693+ *                                                                                                        000000    1050400

   694+ *   After getting the userid & password from the user (or database)                                      000000    1050500

   695+ *   you'll need to call http_proxy_setauth()                                                             000000    1050600

   696+ *                                                                                                        000000    1050700

   697+ *  Returns -1 upon error, or 0 if successful                                                             000000    1050800

   698+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1050900

   699+D http_proxy_getauth...                                                                                   000000    1051000

   700+D                 PR            10I 0                                                                     000000    1051100

   701+D   peBasic                      1N                                                                       000000    1051200

   702+D   peRealm                    124A                                                                       000000    1051300

   703+                                                                                                          000000    1051400

   704+                                                                                                          000000    1051500

   705+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1051600

   706+ *  http_xproc():  Register a procedure to be called back at                                              000000    1051700

   707+ *                 a given exit point                                                                     000000    1051800

   708+ *                                                                                                        000000    1051900

   709+ *     peExitPoint = exit point.  Should be one of the constants                                          000000    1052000

   710+ *                HTTP_POINT_XXX defined in the HTTPAPI_H member                                          000000    1052100

   711+ *          peProc = address of procedure to call for this                                                000000    1052200

   712+ *                exit point. (pass *NULL to disable this point)                                          000000    1052300

   713+ *      peUserData = Pointer to user data. This will be passed                                            000000    1052400

   714+ *                to your call-back procedure. You can set it to                                          000000    1052500

   715+ *                *NULL if you don't need/want it.                                                        000000    1052600

   716+ *                                                                                                        000000    1052700

   717+ *  Returns -1 upon error, or 0 if successful                                                             000000    1052800

   718+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1052900

   719+D http_xproc      PR            10I 0                                                                     000000    1053000

   720+D  peExitPoint                  10I 0 value                                                               000000    1053100

   721+D  peProc                         *   procptr value                                                       000000    1053200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     16

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   722+D  peUserData                     *   value options(*nopass)                                              000000    1053300

   723+                                                                                                          000000    1053400

   724+                                                                                                          000000    1053500

   725+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1053600

   726+ * http_redir_loc(): Retrieve location provided by a redirect                                             000000    1053700

   727+ *   request.                                                                                             000000    1053800

   728+ *                                                                                                        000000    1053900

   729+ *  returns redirect location, or '' if no redirect was given                                             000000    1054000

   730+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1054100

   731+D http_redir_loc  PR          1024A   varying                                                             000000    1054200

   732+                                                                                                          000000    1054300

   733+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1054400

   734+ * http_url_encoder_new():  Create a URL encoder.                                                         000000    1054500

   735+ *                                                                                                        000000    1054600

   736+ *   returns an (opaque) pointer to the new encoder                                                       000000    1054700

   737+ *           or *NULL upon error.                                                                         000000    1054800

   738+ *                                                                                                        000000    1054900

   739+ * WARNING: To free the memory used by this routine, you MUST                                             000000    1055000

   740+ *          call http_url_encoder_free() after the data is sent.                                          000000    1055100

   741+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1055200

   742+D HTTP_URL_ENCODER...                                                                                     000000    1055300

   743+D                 s               *                                                                       000000    1055400

   744+D http_url_encoder_new...                                                                                 000000    1055500

   745+D                 PR                  like(HTTP_URL_ENCODER)                                              000000    1055600

   746+ /if defined(WEBFORMS)                                                                                    070823    1055700

            LINES EXCLUDED: 3

   747+ /endif                                                                                                   070823    1056100

   748+                                                                                                          000000    1056200

   749+                                                                                                          000000    1056300

   750+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1056400

   751+ * http_url_encoder_addvar():  Add a variable to what's stored                                            000000    1056500

   752+ *          a URL encoder.                                                                                000000    1056600

   753+ *                                                                                                        000000    1056700

   754+ *    peEncoder = pointer to encoder created by the                                                       000000    1056800

   755+ *                  http_url_encoder_new() routine                                                        000000    1056900

   756+ *   peVariable = variable name to add                                                                    000000    1057000

   757+ *       peData = pointer to data to store in variable                                                    000000    1057100

   758+ *   peDataSize = size of data to store in variable                                                       000000    1057200

   759+ *                                                                                                        000000    1057300

   760+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1057400

   761+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1057500

   762+D http_url_encoder_addvar...                                                                              000000    1057600

   763+D                 PR             1N                                                                       000000    1057700

   764+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1057800

   765+D    peVariable                 50A   varying value                                                       000000    1057900

   766+D    peData                       *   value                                                               000000    1058000

   767+D    peDataSize                 10I 0 value                                                               000000    1058100

   768+ /if defined(WEBFORMS)                                                                                    070823    1058200

            LINES EXCLUDED: 6

   769+ /endif                                                                                                   070823    1058900

   770+                                                                                                          000000    1059000

   771+                                                                                                          000000    1059100

   772+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1059200

   773+ * http_url_encoder_getptr(): Get a pointer to the encoded                                                000000    1059300

   774+ *        data stored in a URL encoder                                                                    000000    1059400

   775+ *                                                                                                        000000    1059500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     17

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   776+ *     peEncoder = (input) pointer to encoder                                                             000000    1059600

   777+ *        peData = (output) pointer to encoded data                                                       000000    1059700

   778+ *        peSize = (output) size of encoded data                                                          000000    1059800

   779+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1059900

   780+D http_url_encoder_getptr...                                                                              000000    1060000

   781+D                 PR                                                                                      000000    1060100

   782+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1060200

   783+D    peData                       *                                                                       000000    1060300

   784+D    peSize                     10I 0                                                                     000000    1060400

   785+ /if defined(WEBFORMS)                                                                                    070823    1060500

            LINES EXCLUDED: 5

   786+ /endif                                                                                                   070823    1061100

   787+                                                                                                          000000    1061200

   788+                                                                                                          000000    1061300

   789+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1061400

   790+ * http_url_encoder_getstr(): Get encoded data he encoded                                                 000000    1061500

   791+ *        data stored in a URL encoder as a string                                                        000000    1061600

   792+ *                                                                                                        000000    1061700

   793+ *     peEncoder = (input) pointer to encoder                                                             000000    1061800

   794+ *                                                                                                        000000    1061900

   795+ * NOTE: This routine is much slower than http_url_encoder_getptr()                                       000000    1062000

   796+ *       and is limited to a 32k return value.  It's suitable for                                         000000    1062100

   797+ *       use with data that's added to a URL, such as when                                                000000    1062200

   798+ *       performing a GET request to a web server, but you should                                         000000    1062300

   799+ *       use http_url_encoder_getptr() for POST requests.                                                 000000    1062400

   800+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1062500

   801+D http_url_encoder_getstr...                                                                              000000    1062600

   802+D                 PR         32767A   varying                                                             000000    1062700

   803+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1062800

   804+ /if defined(WEBFORMS)                                                                                    070823    1062900

            LINES EXCLUDED: 4

   805+ /endif                                                                                                   070823    1063400

   806+                                                                                                          000000    1063500

   807+                                                                                                          000000    1063600

   808+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1063700

   809+ * http_url_encoder_free(): free resources allocated by both                                              000000    1063800

   810+ *        http_url_encoder_new() and http_url_encoder_addvar()                                            000000    1063900

   811+ *                                                                                                        000000    1064000

   812+ *     peEncoder = pointer to encoder to free                                                             000000    1064100

   813+ *                                                                                                        000000    1064200

   814+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1064300

   815+ *                                                                                                        000000    1064400

   816+ * WARNING: After calling this, do not use the encoder or                                                 000000    1064500

   817+ *          data returned by http_url_encoder_getptr() again.                                             000000    1064600

   818+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1064700

   819+D http_url_encoder_free...                                                                                000000    1064800

   820+D                 PR             1N                                                                       000000    1064900

   821+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1065000

   822+ /if defined(WEBFORMS)                                                                                    070823    1065100

            LINES EXCLUDED: 3

   823+ /endif                                                                                                   070823    1065500

   824+                                                                                                          000000    1065600

   825+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1065700

   826+ * http_url_encoder_addvar_s():  Simplified (but limited)                                                 000000    1065800

   827+ *       interface to http_url_encoder_addvar().                                                          000000    1065900

   828+ *                                                                                                        000000    1066000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     18

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   829+ *    peEncoder = (input) HTTP_url_encoder object                                                         000000    1066100

   830+ *   peVariable = (input) variable name to set                                                            000000    1066200

   831+ *      peValue = (input) value to set variable to                                                        000000    1066300

   832+ *                                                                                                        000000    1066400

   833+ * Returns *ON if successful, *OFF otherwise                                                              000000    1066500

   834+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1066600

   835+D http_url_encoder_addvar_s...                                                                            000000    1066700

   836+D                 PR             1N                                                                       000000    1066800

   837+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1066900

   838+D    peVariable                 50A   varying value                                                       000000    1067000

   839+D    peValue                   256A   varying value                                                       000000    1067100

   840+ /if defined(WEBFORMS)                                                                                    070823    1067200

            LINES EXCLUDED: 5

   841+ /endif                                                                                                   070823    1067800

   842+                                                                                                          000000    1067900

   843+                                                                                                          000000    1068000

   844+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1068100

   845+ *  http_long_ParseURL(): Parse URL into it's component parts                                             000000    1068200

   846+ *                                                                                                        000000    1068300

   847+ *  Breaks a uniform resource locator (URL) into it's component                                           000000    1068400

   848+ *  pieces for use with the http: or https: protocols.  (would also                                       000000    1068500

   849+ *  work for FTP with minor tweaks)                                                                       000000    1068600

   850+ *                                                                                                        000000    1068700

   851+ *  peURL = URL that needs to be parsed.                                                                  000000    1068800

   852+ *  peService = service name from URL (i.e. http or https)                                                000000    1068900

   853+ *  peUserName = user name given, or *blanks                                                              000000    1069000

   854+ *  pePassword = password given, or *blanks                                                               000000    1069100

   855+ *  peHost = hostname given in URL. (could be domain name or IP)                                          000000    1069200

   856+ *  pePort = port number to connect to, if specified, otherwise 0.                                        000000    1069300

   857+ *  pePath = remaining path/request for server.                                                           000000    1069400

   858+ *                                                                                                        000000    1069500

   859+ *  returns -1 upon failure, or 0 upon success                                                            000000    1069600

   860+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1069700

   861+d http_long_ParseURL...                                                                                   000000    1069800

   862+D                 PR            10I 0                                                                     000000    1069900

   863+D  peURL                     32767A   varying const options(*varsize)                                     000000    1070000

   864+D  peService                    32A                                                                       000000    1070100

   865+D  peUserName                   32A                                                                       000000    1070200

   866+D  pePassword                   32A                                                                       000000    1070300

   867+D  peHost                      256A                                                                       000000    1070400

   868+D  pePort                       10I 0                                                                     000000    1070500

   869+D  pePath                    32767A   varying                                                             000000    1070600

   870+                                                                                                          000000    1070700

   871+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1070800

   872+ * http_select_commdriver():  Select & initialize communications                                          000000    1070900

   873+ *    driver.                                                                                             000000    1071000

   874+ *                                                                                                        000000    1071100

   875+ *      peCommType = (input) communications type (http/https)                                             000000    1071200

   876+ *                                                                                                        000000    1071300

   877+ * Returns pointer to comm driver, or *NULL upon failure                                                  000000    1071400

   878+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1071500

   879+D http_select_commdriver...                                                                               000000    1071600

   880+D                 PR              *                                                                       000000    1071700

   881+D   peCommType                  32A   const                                                               000000    1071800

   882+                                                                                                          000000    1071900

   883+                                                                                                          000000    1072000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     19

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   884+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1072100

   885+ *  http_url_post_raw2(): Post data to CGI script and get document                                        000000    1072200

   886+ *                                                                                                        000000    1072300

   887+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1072400

   888+ *      pePostFD = descriptor number to pass to pePostProc                                                000000    1072500

   889+ *    pePostProc = procedure to call to get POST data.                                                    000000    1072600

   890+ *     peDataLen = total length of data that will be sent.                                                000000    1072700

   891+ *      peSaveFD = FD to pass back to peSaveProc                                                          000000    1072800

   892+ *    peSaveProc = procedure to call each time data is received.                                          000000    1072900

   893+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1073000

   894+ *            this many seconds.                                                                          000000    1073100

   895+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1073200

   896+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1073300

   897+ *            if you want to get the default value.                                                       000000    1073400

   898+ * peContentType = (optional) content type to supply (mainly                                              000000    1073500

   899+ *            useful when talking to CGI scripts)                                                         000000    1073600

   900+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1073700

   901+ *          taken by some SOAP applications.                                                              080903    1073800

   902+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1073900

   903+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1074000

   904+ *             you don't want a SoapAction header to be sent.                                             080903    1074100

   905+ *                                                                                                        000000    1074200

   906+ *  Returns  -1 upon failure, 0 upon timeout, or an HTTP response code                                    000000    1074300

   907+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1074400

   908+D http_url_post_raw2...                                                                                   000000    1074500

   909+D                 PR            10I 0                                                                     000000    1074600

   910+D  peURL                     32767A   varying const options(*varsize)                                     000000    1074700

   911+D  pePostFD                     10I 0 value                                                               000000    1074800

   912+D  pePostProc                     *   procptr value                                                       000000    1074900

   913+D  peDataLen                    10I 0 value                                                               000000    1075000

   914+D  peSaveFD                     10I 0 value                                                               000000    1075100

   915+D  peSaveProc                     *   value procptr                                                       000000    1075200

   916+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1075300

   917+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1075400

            LINES EXCLUDED: 3

   918+ /else                                                                                                    090730    1075800

   919+D  peUserAgent               16384A   varying const                                                       091030    1075900

   920+D                                     options(*nopass:*omit)                                              091030    1076000

   921+D  peContentType             16384A   varying const                                                       091030    1076100

   922+D                                     options(*nopass:*omit)                                              091030    1076200

   923+D  peSOAPAction              16384A   varying const                                                       090730    1076300

   924+D                                     options(*nopass:*omit)                                              090730    1076400

   925+ /endif                                                                                                   090730    1076500

   926+                                                                                                          000000    1076600

   927+                                                                                                          000000    1076700

   928+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1076800

   929+ *  http_url_post_stmf(): Post data to CGI script from stream file                                        000000    1076900

   930+ *                                                                                                        000000    1077000

   931+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1077100

   932+ *    pePostFile = Filename (in IFS) of file to send to http server                                       000000    1077200

   933+ *    peRecvFile = Filename (in IFS) of stream file containing reply                                      000000    1077300

   934+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1077400

   935+ *            this many seconds.                                                                          000000    1077500

   936+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1077600

   937+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1077700

   938+ *            if you want to get the default value.                                                       000000    1077800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     20

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   939+ * peContentType = (optional) content type to supply (mainly                                              000000    1077900

   940+ *            useful when talking to CGI scripts)                                                         000000    1078000

   941+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1078100

   942+ *          taken by some SOAP applications.                                                              080903    1078200

   943+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1078300

   944+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1078400

   945+ *             you don't want a SoapAction header to be sent.                                             080903    1078500

   946+ *                                                                                                        000000    1078600

   947+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1078700

   948+ *            1 for success, or an HTTP response code                                                     000000    1078800

   949+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1078900

   950+D http_url_post_stmf...                                                                                   000000    1079000

   951+D                 PR            10I 0                                                                     000000    1079100

   952+D  peURL                     32767A   varying const options(*varsize)                                     000000    1079200

   953+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1079300

   954+D  peRecvFile                32767A   varying const options(*varsize)                                     000000    1079400

   955+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1079500

   956+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1079600

            LINES EXCLUDED: 3

   957+ /else                                                                                                    090730    1080000

   958+D  peUserAgent               16384A   varying const                                                       091030    1080100

   959+D                                     options(*nopass:*omit)                                              091030    1080200

   960+D  peContentType             16384A   varying const                                                       091030    1080300

   961+D                                     options(*nopass:*omit)                                              091030    1080400

   962+D  peSOAPAction              16384A   varying const                                                       090730    1080500

   963+D                                     options(*nopass:*omit)                                              090730    1080600

   964+ /endif                                                                                                   090730    1080700

   965+D http_post_stmf  PR            10I 0 extproc('HTTP_URL_POST_STMF')                                       000000    1080800

   966+D  peURL                     32767A   varying const options(*varsize)                                     000000    1080900

   967+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1081000

   968+D  peRecvFile                32767A   varying const options(*varsize)                                     000000    1081100

   969+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1081200

   970+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1081300

            LINES EXCLUDED: 3

   971+ /else                                                                                                    090730    1081700

   972+D  peUserAgent               16384A   varying const                                                       091030    1081800

   973+D                                     options(*nopass:*omit)                                              091030    1081900

   974+D  peContentType             16384A   varying const                                                       091030    1082000

   975+D                                     options(*nopass:*omit)                                              091030    1082100

   976+D  peSOAPAction              16384A   varying const                                                       090730    1082200

   977+D                                     options(*nopass:*omit)                                              090730    1082300

   978+ /endif                                                                                                   090730    1082400

   979+                                                                                                          000000    1082500

   980+                                                                                                          000000    1082600

   981+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1082700

   982+ * http_get_xml();                                                                                        000000    1082800

   983+ * http_url_get_xml():  Send a GET request to an HTTP server and                                          000000    1082900

   984+ *     receive/parse an XML response.                                                                     000000    1083000

   985+ *                                                                                                        000000    1083100

   986+ *       peURL = (input) URL to perform GET request to                                                    000000    1083200

   987+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1083300

   988+ *                       of each XML element received.                                                    000000    1083400

   989+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1083500

   990+ *                       of each XML element received.                                                    000000    1083600

   991+ *    peUsrDta = (input) user-defined data that will be passed to the                                     000000    1083700

   992+ *                    call-back routine                                                                   000000    1083800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     21

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   993+ *                                                                                                        000000    1083900

   994+ * (other parms are identical to those in HTTP_url_get())                                                 000000    1084000

   995+ *                                                                                                        000000    1084100

   996+ * peStartProc should point to a procedure with a procedure                                               000000    1084200

   997+ * interface that's compatable with the following:                                                        000000    1084300

   998+ *                                                                                                        000000    1084400

   999+ *  D StartProc       PR                                                                                  000000    1084500

  1000+ *  D   userdata                      *   value                                                           000000    1084600

  1001+ *  D   depth                       10I 0 value                                                           000000    1084700

  1002+ *  D   name                      1024A   varying const                                                   000000    1084800

  1003+ *  D   path                     24576A   varying const                                                   000000    1084900

  1004+ *  D   attrs                         *   dim(32767)                                                      000000    1085000

  1005+ *  D                                     const options(*varsize)                                         000000    1085100

  1006+ *                                                                                                        000000    1085200

  1007+ * peEndProc should point to a procedure with a procedure                                                 000000    1085300

  1008+ * interface that's compatable with the following:                                                        000000    1085400

  1009+ *                                                                                                        000000    1085500

  1010+ *  D EndProc         PR                                                                                  000000    1085600

  1011+ *  D   userdata                      *   value                                                           000000    1085700

  1012+ *  D   depth                       10I 0 value                                                           000000    1085800

  1013+ *  D   name                      1024A   varying const                                                   000000    1085900

  1014+ *  D   path                     24576A   varying const                                                   000000    1086000

  1015+ *  D   value                    32767A   varying const                                                   000000    1086100

  1016+ *  D   attrs                         *   dim(32767)                                                      000000    1086200

  1017+ *  D                                     const options(*varsize)                                         000000    1086300

  1018+ *                                                                                                        000000    1086400

  1019+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1086500

  1020+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1086600

  1021+D http_get_xml...                                                                                         000000    1086700

  1022+D                 PR            10I 0 EXTPROC('HTTP_URL_GET_XML')                                         000000    1086800

  1023+D  peURL                     32767A   varying const options(*varsize)                                     000000    1086900

  1024+D  peStartProc                    *   value procptr                                                       000000    1087000

  1025+D  peEndProc                      *   value procptr                                                       000000    1087100

  1026+D  peUsrDta                       *   value                                                               000000    1087200

  1027+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1087300

  1028+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1087400

            LINES EXCLUDED: 4

  1029+ /else                                                                                                    090730    1087900

  1030+D  peUserAgent               16384A   varying const                                                       091030    1088000

  1031+D                                     options(*nopass:*omit)                                              091030    1088100

  1032+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1088200

  1033+D  peContentType             16384A   varying const                                                       091030    1088300

  1034+D                                     options(*nopass:*omit)                                              091030    1088400

  1035+D  peSOAPAction              16384A   varying const                                                       090730    1088500

  1036+D                                     options(*nopass:*omit)                                              090730    1088600

  1037+ /endif                                                                                                   090730    1088700

  1038+D http_url_get_xml...                                                                                     000000    1088800

  1039+D                 PR            10I 0                                                                     000000    1088900

  1040+D  peURL                     32767A   varying const options(*varsize)                                     000000    1089000

  1041+D  peStartProc                    *   value procptr                                                       000000    1089100

  1042+D  peEndProc                      *   value procptr                                                       000000    1089200

  1043+D  peUsrDta                       *   value                                                               000000    1089300

  1044+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1089400

  1045+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1089500

            LINES EXCLUDED: 4

  1046+ /else                                                                                                    090730    1090000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     22

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1047+D  peUserAgent               16384A   varying const                                                       091030    1090100

  1048+D                                     options(*nopass:*omit)                                              091030    1090200

  1049+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1090300

  1050+D  peContentType             16384A   varying const                                                       091030    1090400

  1051+D                                     options(*nopass:*omit)                                              091030    1090500

  1052+D  peSOAPAction              16384A   varying const                                                       090730    1090600

  1053+D                                     options(*nopass:*omit)                                              090730    1090700

  1054+ /endif                                                                                                   090730    1090800

  1055+                                                                                                          000000    1090900

  1056+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1091000

  1057+ *  http_get_xmltf(): Request URL from server. Receive response                                           000000    1091100

  1058+ *        to temporary file, then parse it.                                                               000000    1091200

  1059+ *                                                                                                        000000    1091300

  1060+ *       peURL = (input) URL to perform GET request to                                                    000000    1091400

  1061+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1091500

  1062+ *                       of each XML element received.                                                    000000    1091600

  1063+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1091700

  1064+ *                       of each XML element received.                                                    000000    1091800

  1065+ *    peUsrDta = (input) user-defined data that will be passed to the                                     000000    1091900

  1066+ *                    call-back routine                                                                   000000    1092000

  1067+ *                                                                                                        000000    1092100

  1068+ * (other parms are identical to those in HTTP_url_get())                                                 000000    1092200

  1069+ *                                                                                                        000000    1092300

  1070+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1092400

  1071+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1092500

  1072+D http_get_xmltf...                                                                                       000000    1092600

  1073+D                 PR            10I 0                                                                     000000    1092700

  1074+D  peURL                     32767A   varying const options(*varsize)                                     000000    1092800

  1075+D  peStartProc                    *   value procptr                                                       000000    1092900

  1076+D  peEndProc                      *   value procptr                                                       000000    1093000

  1077+D  peUsrDta                       *   value                                                               000000    1093100

  1078+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1093200

  1079+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1093300

            LINES EXCLUDED: 4

  1080+ /else                                                                                                    090730    1093800

  1081+D  peUserAgent               16384A   varying const                                                       091030    1093900

  1082+D                                     options(*nopass:*omit)                                              091030    1094000

  1083+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1094100

  1084+D  peContentType             16384A   varying const                                                       091030    1094200

  1085+D                                     options(*nopass:*omit)                                              091030    1094300

  1086+D  peSOAPAction              16384A   varying const                                                       090730    1094400

  1087+D                                     options(*nopass:*omit)                                              090730    1094500

  1088+ /endif                                                                                                   090730    1094600

  1089+                                                                                                          000000    1094700

  1090+                                                                                                          000000    1094800

  1091+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1094900

  1092+ * http_post_xml();                                                                                       000000    1095000

  1093+ * http_url_post_xml():  Send a POST request to an HTTP server and                                        000000    1095100

  1094+ *     receive/parse an XML response.                                                                     000000    1095200

  1095+ *                                                                                                        000000    1095300

  1096+ *          peURL = (input) URL to perform GET request to                                                 000000    1095400

  1097+ *     pePostData = (input) data to POST to the web server                                                000000    1095500

  1098+ *  pePostDataLen = (input) length of pePostData                                                          000000    1095600

  1099+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1095700

  1100+ *                       of each XML element received.                                                    000000    1095800

  1101+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1095900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     23

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1102+ *                       of each XML element received.                                                    000000    1096000

  1103+ *       peUsrDta = (input) user-defined data that will be passed                                         000000    1096100

  1104+ *                          to the call-back routine                                                      000000    1096200

  1105+ *                                                                                                        000000    1096300

  1106+ * (other parms are identical to those in HTTP_url_post())                                                000000    1096400

  1107+ *                                                                                                        000000    1096500

  1108+ * peStartProc should point to a procedure with a procedure                                               000000    1096600

  1109+ * interface that's compatable with the following:                                                        000000    1096700

  1110+ *                                                                                                        000000    1096800

  1111+ *  D StartProc       PR                                                                                  000000    1096900

  1112+ *  D   userdata                      *   value                                                           000000    1097000

  1113+ *  D   depth                       10I 0 value                                                           000000    1097100

  1114+ *  D   name                      1024A   varying const                                                   000000    1097200

  1115+ *  D   path                     24576A   varying const                                                   000000    1097300

  1116+ *  D   attrs                         *   dim(32767)                                                      000000    1097400

  1117+ *  D                                     const options(*varsize)                                         000000    1097500

  1118+ *                                                                                                        000000    1097600

  1119+ * peEndProc should point to a procedure with a procedure                                                 000000    1097700

  1120+ * interface that's compatable with the following:                                                        000000    1097800

  1121+ *                                                                                                        000000    1097900

  1122+ *  D EndProc         PR                                                                                  000000    1098000

  1123+ *  D   userdata                      *   value                                                           000000    1098100

  1124+ *  D   depth                       10I 0 value                                                           000000    1098200

  1125+ *  D   name                      1024A   varying const                                                   000000    1098300

  1126+ *  D   path                     24576A   varying const                                                   000000    1098400

  1127+ *  D   value                    32767A   varying const                                                   000000    1098500

  1128+ *  D   attrs                         *   dim(32767)                                                      000000    1098600

  1129+ *  D                                     const options(*varsize)                                         000000    1098700

  1130+ *                                                                                                        000000    1098800

  1131+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1098900

  1132+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1099000

  1133+D http_post_xml...                                                                                        000000    1099100

  1134+D                 PR            10I 0 EXTPROC('HTTP_URL_POST_XML')                                        000000    1099200

  1135+D  peURL                     32767A   varying const options(*varsize)                               1     070724    1099300

  1136+D  pePostData                     *   value                                                         2     070724    1099400

  1137+D  pePostDataLen                10I 0 value                                                         3     070724    1099500

  1138+D  peStartProc                    *   value procptr                                                 4     070724    1099600

  1139+D  peEndProc                      *   value procptr                                                 5     070724    1099700

  1140+D  peUsrDta                       *   value                                                         6     070724    1099800

  1141+D  peTimeout                    10I 0 value options(*nopass)                                        7     070724    1099900

  1142+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1100000

            LINES EXCLUDED: 3

  1143+ /else                                                                                                    090730    1100400

  1144+D  peUserAgent               16384A   varying const                                                 8     091030    1100500

  1145+D                                     options(*nopass:*omit)                                              091030    1100600

  1146+D  peContentType             16384A   varying const                                                 9     091030    1100700

  1147+D                                     options(*nopass:*omit)                                              091030    1100800

  1148+D  peSOAPAction              16384A   varying const                                                       090730    1100900

  1149+D                                     options(*nopass:*omit)                                              090730    1101000

  1150+ /endif                                                                                                   090730    1101100

  1151+D http_url_post_xml...                                                                                    000000    1101200

  1152+D                 PR            10I 0                                                                     000000    1101300

  1153+D  peURL                     32767A   varying const options(*varsize)                                     000000    1101400

  1154+D  pePostData                     *   value                                                               000000    1101500

  1155+D  pePostDataLen                10I 0 value                                                               000000    1101600

  1156+D  peStartProc                    *   value procptr                                                       000000    1101700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     24

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1157+D  peEndProc                      *   value procptr                                                       000000    1101800

  1158+D  peUsrDta                       *   value                                                               000000    1101900

  1159+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1102000

  1160+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1102100

            LINES EXCLUDED: 3

  1161+ /else                                                                                                    090730    1102500

  1162+D  peUserAgent               16384A   varying const                                                       091030    1102600

  1163+D                                     options(*nopass:*omit)                                              091030    1102700

  1164+D  peContentType             16384A   varying const                                                       091030    1102800

  1165+D                                     options(*nopass:*omit)                                              091030    1102900

  1166+D  peSOAPAction              16384A   varying const                                                       090730    1103000

  1167+D                                     options(*nopass:*omit)                                              090730    1103100

  1168+ /endif                                                                                                   090730    1103200

  1169+                                                                                                          000000    1103300

  1170+                                                                                                          000000    1103400

  1171+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1103500

  1172+ *  http_post_xmltf(): Post data from memory. Receive                                                     000000    1103600

  1173+ *        response to temporary file, then parse it.                                                      000000    1103700

  1174+ *                                                                                                        000000    1103800

  1175+ *          peURL = (input) URL to perform GET request to                                                 000000    1103900

  1176+ *     pePostData = (input) data to POST to the web server                                                000000    1104000

  1177+ *  pePostDataLen = (input) length of pePostData                                                          000000    1104100

  1178+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1104200

  1179+ *                       of each XML element received.                                                    000000    1104300

  1180+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1104400

  1181+ *                       of each XML element received.                                                    000000    1104500

  1182+ *       peUsrDta = (input) user-defined data that will be passed                                         000000    1104600

  1183+ *                          to the call-back routine                                                      000000    1104700

  1184+ *                                                                                                        000000    1104800

  1185+ * (other parms are identical to those in HTTP_url_post())                                                000000    1104900

  1186+ *                                                                                                        000000    1105000

  1187+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1105100

  1188+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1105200

  1189+D http_post_xmltf...                                                                                      000000    1105300

  1190+D                 PR            10I 0                                                                     000000    1105400

  1191+D  peURL                     32767A   varying const options(*varsize)                                     000000    1105500

  1192+D  pePostData                     *   value                                                               000000    1105600

  1193+D  pePostDataLen                10I 0 value                                                               000000    1105700

  1194+D  peStartProc                    *   value procptr                                                       000000    1105800

  1195+D  peEndProc                      *   value procptr                                                       000000    1105900

  1196+D  peUsrDta                       *   value                                                               000000    1106000

  1197+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1106100

  1198+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1106200

            LINES EXCLUDED: 3

  1199+ /else                                                                                                    090730    1106600

  1200+D  peUserAgent               16384A   varying const                                                       091030    1106700

  1201+D                                     options(*nopass:*omit)                                              091030    1106800

  1202+D  peContentType             16384A   varying const                                                       091030    1106900

  1203+D                                     options(*nopass:*omit)                                              091030    1107000

  1204+D  peSOAPAction              16384A   varying const                                                       090730    1107100

  1205+D                                     options(*nopass:*omit)                                              090730    1107200

  1206+ /endif                                                                                                   090730    1107300

  1207+                                                                                                          000000    1107400

  1208+                                                                                                          000000    1107500

  1209+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1107600

  1210+ *  http_post_stmf_xml();                                                                                 000000    1107700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     25

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1211+ *  http_url_post_stmf_xml(): Post data to CGI script from stream file                                    000000    1107800

  1212+ *        and receive/parse an XML response                                                               000000    1107900

  1213+ *                                                                                                        000000    1108000

  1214+ *       peURL = (input) URL to post to                                                                   000000    1108100

  1215+ *  pePostFile = (input) File of stream file (in IFS) to post                                             000000    1108200

  1216+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1108300

  1217+ *                       of each XML element received.                                                    000000    1108400

  1218+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1108500

  1219+ *                       of each XML element received.                                                    000000    1108600

  1220+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1108700

  1221+ *                          to the call-back routine                                                      000000    1108800

  1222+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1108900

  1223+ *                       this many seconds.                                                               000000    1109000

  1224+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1109100

  1225+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1109200

  1226+ *            if you want to get the default value.                                                       000000    1109300

  1227+ * peContentType = (optional) content type to supply (mainly                                              000000    1109400

  1228+ *                       useful when talking to CGI scripts)                                              000000    1109500

  1229+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1109600

  1230+ *          taken by some SOAP applications.                                                              080903    1109700

  1231+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1109800

  1232+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1109900

  1233+ *             you don't want a SoapAction header to be sent.                                             080903    1110000

  1234+ *                                                                                                        000000    1110100

  1235+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1110200

  1236+ *            1 for success, or an HTTP response code                                                     000000    1110300

  1237+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1110400

  1238+D http_post_stmf_xml...                                                                                   000000    1110500

  1239+D                 PR            10I 0 extproc('HTTP_URL_POST_STMF_XML')                                   000000    1110600

  1240+D  peURL                     32767A   varying const options(*varsize)                                     000000    1110700

  1241+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1110800

  1242+D  peStartProc                    *   value procptr                                                       000000    1110900

  1243+D  peEndProc                      *   value procptr                                                       000000    1111000

  1244+D  peUsrDta                       *   value                                                               000000    1111100

  1245+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1111200

  1246+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1111300

            LINES EXCLUDED: 3

  1247+ /else                                                                                                    090730    1111700

  1248+D  peUserAgent               16384A   varying const                                                       091030    1111800

  1249+D                                     options(*nopass:*omit)                                              091030    1111900

  1250+D  peContentType             16384A   varying const                                                       091030    1112000

  1251+D                                     options(*nopass:*omit)                                              091030    1112100

  1252+D  peSOAPAction              16384A   varying const                                                       090730    1112200

  1253+D                                     options(*nopass:*omit)                                              090730    1112300

  1254+ /endif                                                                                                   090730    1112400

  1255+D http_url_post_stmf_xml...                                                                               000000    1112500

  1256+D                 PR            10I 0                                                                     000000    1112600

  1257+D  peURL                     32767A   varying const options(*varsize)                                     000000    1112700

  1258+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1112800

  1259+D  peStartProc                    *   value procptr                                                       000000    1112900

  1260+D  peEndProc                      *   value procptr                                                       000000    1113000

  1261+D  peUsrDta                       *   value                                                               000000    1113100

  1262+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1113200

  1263+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1113300

            LINES EXCLUDED: 3

  1264+ /else                                                                                                    090730    1113700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     26

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1265+D  peUserAgent               16384A   varying const                                                       091030    1113800

  1266+D                                     options(*nopass:*omit)                                              091030    1113900

  1267+D  peContentType             16384A   varying const                                                       091030    1114000

  1268+D                                     options(*nopass:*omit)                                              091030    1114100

  1269+D  peSOAPAction              16384A   varying const                                                       090730    1114200

  1270+D                                     options(*nopass:*omit)                                              090730    1114300

  1271+ /endif                                                                                                   090730    1114400

  1272+                                                                                                          000000    1114500

  1273+                                                                                                          000000    1114600

  1274+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1114700

  1275+ *  http_post_stmf_xmltf(): Post data from stream file.  Receive                                          000000    1114800

  1276+ *        response to temporary file, then parse it.                                                      000000    1114900

  1277+ *                                                                                                        000000    1115000

  1278+ *       peURL = (input) URL to post to                                                                   000000    1115100

  1279+ *  pePostFile = (input) File of stream file (in IFS) to post                                             000000    1115200

  1280+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1115300

  1281+ *                       of each XML element received.                                                    000000    1115400

  1282+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1115500

  1283+ *                       of each XML element received.                                                    000000    1115600

  1284+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1115700

  1285+ *                          to the call-back routine                                                      000000    1115800

  1286+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1115900

  1287+ *                       this many seconds.                                                               000000    1116000

  1288+ * peContentType = (optional) content type to supply (mainly                                              000000    1116100

  1289+ *                       useful when talking to CGI scripts)                                              000000    1116200

  1290+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1116300

  1291+ *          taken by some SOAP applications.                                                              080903    1116400

  1292+ *          - pass *blanks to send an empty SoapAction.                                                   080903    1116500

  1293+ *          - pass *omit (or don't pass the parm at all) if                                               080903    1116600

  1294+ *             you don't want a SoapAction header to be sent.                                             080903    1116700

  1295+ *                                                                                                        000000    1116800

  1296+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1116900

  1297+ *            1 for success, or an HTTP response code                                                     000000    1117000

  1298+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1117100

  1299+D http_post_stmf_xmltf...                                                                                 000000    1117200

  1300+D                 PR            10I 0                                                                     000000    1117300

  1301+D  peURL                     32767A   varying const options(*varsize)                                     000000    1117400

  1302+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1117500

  1303+D  peStartProc                    *   value procptr                                                       000000    1117600

  1304+D  peEndProc                      *   value procptr                                                       000000    1117700

  1305+D  peUsrDta                       *   value                                                               000000    1117800

  1306+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1117900

  1307+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1118000

            LINES EXCLUDED: 3

  1308+ /else                                                                                                    090730    1118400

  1309+D  peUserAgent               16384A   varying const                                                       091030    1118500

  1310+D                                     options(*nopass:*omit)                                              091030    1118600

  1311+D  peContentType             16384A   varying const                                                       091030    1118700

  1312+D                                     options(*nopass:*omit)                                              091030    1118800

  1313+D  peSOAPAction              16384A   varying const                                                       090730    1118900

  1314+D                                     options(*nopass:*omit)                                              090730    1119000

  1315+ /endif                                                                                                   090730    1119100

  1316+                                                                                                          000000    1119200

  1317+                                                                                                          000000    1119300

  1318+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1119400

  1319+ *  http_persist_open(): Open a persistent HTTP session                                                   000000    1119500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     27

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1320+ *                                                                                                        000000    1119600

  1321+ *       peURL = url to connect to                                                                        000000    1119700

  1322+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1119800

  1323+ *          this many seconds.                                                                            000000    1119900

  1324+ *                                                                                                        000000    1120000

  1325+ *  Returns *NULL upon failure, or                                                                        000000    1120100

  1326+ *          pointer to HTTP communication session                                                         000000    1120200

  1327+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1120300

  1328+D http_persist_open...                                                                                    000000    1120400

  1329+D                 PR              *                                                                       000000    1120500

  1330+D  peURL                     32767A   varying const options(*varsize)                                     000000    1120600

  1331+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1120700

  1332+                                                                                                          000000    1120800

  1333+                                                                                                          000000    1120900

  1334+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1121000

  1335+ *  http_persist_get(): Get a file using a persistent HTTP session                                        000000    1121100

  1336+ *                                                                                                        000000    1121200

  1337+ *         peComm = (input) pointer to persistent HTTP comm session                                       000000    1121300

  1338+ *          peURL = (input) URL to get from persistent HTTP                                               000000    1121400

  1339+ *           peFD = (input) FD to pass back to peProc                                                     000000    1121500

  1340+ *         peProc = (input) procedure to call each time data is                                           000000    1121600

  1341+ *                          received.                                                                     000000    1121700

  1342+ *      peTimeout = (input/optional) time-out when no data is received                                    000000    1121800

  1343+ *                          for this many seconds.                                                        000000    1121900

  1344+ *    peUserAgent = (optional) User-Agent string passed to the                                            000000    1122000

  1345+ *                          server.  Pass the named constant called                                       000000    1122100

  1346+ *                          HTTP_USERAGENT if you want to get the                                         000000    1122200

  1347+ *                          default value.                                                                000000    1122300

  1348+ *      peModTime = (input/optional) only get file if it was changed                                      000000    1122400

  1349+ *                          since this timestamp.                                                         000000    1122500

  1350+ *  peContentType = (input/optional) content type to supply (mainly                                       000000    1122600

  1351+ *                          useful when talking to CGI scripts)                                           000000    1122700

  1352+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1122800

  1353+ *                          taken by some SOAP applications.                                              080903    1122900

  1354+ *                - pass *blanks to send an empty SoapAction.                                             080903    1123000

  1355+ *                - pass *omit (or don't pass the parm at all) if                                         080903    1123100

  1356+ *                    you don't want a SoapAction header to be sent.                                      080903    1123200

  1357+ *                                                                                                        000000    1123300

  1358+ *  Returns  1 if successful,                                                                             000000    1123400

  1359+ *           0 if timed out                                                                               000000    1123500

  1360+ *          -1 if an internal error occurs                                                                000000    1123600

  1361+ *          or an HTTP response code if an error comes from the server                                    000000    1123700

  1362+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1123800

  1363+D http_persist_get...                                                                                     000000    1123900

  1364+D                 PR            10I 0                                                                     000000    1124000

  1365+D  peComm                         *   value                                                               000000    1124100

  1366+D  peURL                     32767A   varying const options(*varsize)                                     000000    1124200

  1367+D  peFD                         10I 0 value                                                               000000    1124300

  1368+D  peProc                         *   value procptr                                                       000000    1124400

  1369+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1124500

  1370+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1124600

            LINES EXCLUDED: 4

  1371+ /else                                                                                                    090730    1125100

  1372+D  peUserAgent               16384A   varying const                                                       091030    1125200

  1373+D                                     options(*nopass:*omit)                                              091030    1125300

  1374+D  peModTime                      Z   const options(*nopass:*omit)                                        091030    1125400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     28

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1375+D  peContentType             16384A   varying const                                                       091030    1125500

  1376+D                                     options(*nopass:*omit)                                              091030    1125600

  1377+D  peSOAPAction              16384A   varying const                                                       090730    1125700

  1378+D                                     options(*nopass:*omit)                                              090730    1125800

  1379+ /endif                                                                                                   090730    1125900

  1380+                                                                                                          000000    1126000

  1381+                                                                                                          000000    1126100

  1382+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1126200

  1383+ *  http_persist_post(): Post data to CGI script and get document                                         000000    1126300

  1384+ *                       using a persistent connection                                                    000000    1126400

  1385+ *                                                                                                        000000    1126500

  1386+ *         peComm = (input) pointer to persistent HTTP comm session                                       000000    1126600

  1387+ *          peURL = (input) URL to post to with persistent HTTP                                           000000    1126700

  1388+ * --------                                                                                               000000    1126800

  1389+ *       pePostFD = (input) Opaque integer to pass to pePostProc                                          000000    1126900

  1390+ *     pePostProc = (input) Pointer to call-back procedure for                                            000000    1127000

  1391+ *                          posting data to server.  If you pass                                          000000    1127100

  1392+ *                          *NULL for this, you should use pePostData                                     000000    1127200

  1393+ *                          instead.                                                                      000000    1127300

  1394+ * -- or --                                                                                               000000    1127400

  1395+ *     pePostData = (input) Pointer to data to post.  If you pass                                         000000    1127500

  1396+ *                          *NULL for this, you should use pePostProc                                     000000    1127600

  1397+ *                          instead.                                                                      000000    1127700

  1398+ * --------                                                                                               000000    1127800

  1399+ *  pePostDataLen = (input) Total length, in bytes, of post data.                                         000000    1127900

  1400+ *       peSaveFD = (input) Opaque integer passed to peSaveProc                                           000000    1128000

  1401+ *     peSaveProc = (input) Pointer to call-back procedure that is                                        000000    1128100

  1402+ *                          called when data is received from HTTP                                        000000    1128200

  1403+ *                          server.                                                                       000000    1128300

  1404+ *      peTimeout = (input/optional) time-out when no data is received                                    000000    1128400

  1405+ *                          for this many seconds.                                                        000000    1128500

  1406+ *    peUserAgent = (optional) User-Agent string passed to the                                            000000    1128600

  1407+ *                          server.  Pass the named constant called                                       000000    1128700

  1408+ *                          HTTP_USERAGENT if you want to get the                                         000000    1128800

  1409+ *                          default value.                                                                000000    1128900

  1410+ *  peContentType = (input/optional) content type to supply (mainly                                       000000    1129000

  1411+ *                          useful when talking to CGI scripts)                                           000000    1129100

  1412+ *  peSOAPAction = (optional) string used to specify the action                                           080903    1129200

  1413+ *                          taken by some SOAP applications.                                              080903    1129300

  1414+ *                - pass *blanks to send an empty SoapAction.                                             080903    1129400

  1415+ *                - pass *omit (or don't pass the parm at all) if                                         080903    1129500

  1416+ *                    you don't want a SoapAction header to be sent.                                      080903    1129600

  1417+ *                                                                                                        000000    1129700

  1418+ *  Returns  1 if successful,                                                                             000000    1129800

  1419+ *           0 if timed out                                                                               000000    1129900

  1420+ *          -1 if an internal error occurs                                                                000000    1130000

  1421+ *          or an HTTP response code if an error comes from the server                                    000000    1130100

  1422+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1130200

  1423+D http_persist_post...                                                                                    000000    1130300

  1424+D                 PR            10I 0                                                                     000000    1130400

  1425+D  peComm                         *   value                                                               000000    1130500

  1426+D  peURL                     32767A   varying const options(*varsize)                                     000000    1130600

  1427+D  pePostFD                     10I 0 value                                                               000000    1130700

  1428+D  pePostProc                     *   value procptr                                                       000000    1130800

  1429+D  pePostData                     *   value                                                               000000    1130900

  1430+D  pePostDataLen                10I 0 value                                                               000000    1131000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     29

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1431+D  peSaveFD                     10I 0 value                                                               000000    1131100

  1432+D  peSaveProc                     *   value procptr                                                       000000    1131200

  1433+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1131300

  1434+ /if defined(HTTP_ORIG_SHORTFIELD)                                                                        091030    1131400

            LINES EXCLUDED: 3

  1435+ /else                                                                                                    090730    1131800

  1436+D  peUserAgent               16384A   varying const                                                       091030    1131900

  1437+D                                     options(*nopass:*omit)                                              091030    1132000

  1438+D  peContentType             16384A   varying const                                                       091030    1132100

  1439+D                                     options(*nopass:*omit)                                              091030    1132200

  1440+D  peSOAPAction              16384A   varying const                                                       090730    1132300

  1441+D                                     options(*nopass:*omit)                                              090730    1132400

  1442+ /endif                                                                                                   090730    1132500

  1443+                                                                                                          000000    1132600

  1444+                                                                                                          000000    1132700

  1445+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1132800

  1446+ *  http_persist_close(): End a persistent HTTP session                                                   000000    1132900

  1447+ *                                                                                                        000000    1133000

  1448+ *     peComm = (input) pointer to persistent HTTP comm session                                           000000    1133100

  1449+ *                                                                                                        000000    1133200

  1450+ *  returns 0 if successful, -1 otherwise                                                                 000000    1133300

  1451+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1133400

  1452+D http_persist_close...                                                                                   000000    1133500

  1453+D                 PR            10I 0                                                                     000000    1133600

  1454+D  peComm                         *   value                                                               000000    1133700

  1455+                                                                                                          000000    1133800

  1456+                                                                                                          000000    1133900

  1457+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1134000

  1458+ * http_mfd_encoder_open(): Create a multipart/form-data encoder                                          000000    1134100

  1459+ *                                                                                                        000000    1134200

  1460+ * A multipart/form-data encoder will encode the variables                                                000000    1134300

  1461+ * and or stream files that you pass to it and store the results                                          000000    1134400

  1462+ * in a stream file.  You can later POST those results with the                                           000000    1134500

  1463+ * http_url_post_stmf() API.                                                                              000000    1134600

  1464+ *                                                                                                        000000    1134700

  1465+ *   peStmFile = (input) pathname to stream file to store                                                 000000    1134800

  1466+ *               encoded results.                                                                         000000    1134900

  1467+ *                                                                                                        000000    1135000

  1468+ *   returns an (opaque) pointer to the new encoder                                                       000000    1135100

  1469+ *           or *NULL upon error.                                                                         000000    1135200

  1470+ *                                                                                                        000000    1135300

  1471+ * WARNING: To free the memory used by this routine and close                                             000000    1135400

  1472+ *          the stream file, you MUST call http_mfd_encoder_close()                                       000000    1135500

  1473+ *          after the data is sent.                                                                       000000    1135600

  1474+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1135700

  1475+D http_mfd_encoder_open...                                                                                000000    1135800

  1476+D                 PR              *                                                                       000000    1135900

  1477+D  peStmFile                      *   value options(*string)                                              100106    1136000

  1478+D  peContType                   64A                                                                       000000    1136100

  1479+                                                                                                          000000    1136200

  1480+                                                                                                          000000    1136300

  1481+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1136400

  1482+ * http_mfd_encoder_addvar():  Add a variable to what's stored                                            000000    1136500

  1483+ *          a multipart/form-data encoder.                                                                000000    1136600

  1484+ *                                                                                                        000000    1136700

  1485+ *    peEncoder = pointer to encoder created by the                                                       000000    1136800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     30

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1486+ *                  http_mfd_encoder_open() routine                                                       000000    1136900

  1487+ *   peVariable = variable name to add                                                                    000000    1137000

  1488+ *       peData = pointer to data to store in variable                                                    000000    1137100

  1489+ *   peDataSize = size of data to store in variable                                                       000000    1137200

  1490+ *                                                                                                        000000    1137300

  1491+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1137400

  1492+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1137500

  1493+D http_mfd_encoder_addvar...                                                                              000000    1137600

  1494+D                 PR             1N                                                                       000000    1137700

  1495+D    peEncoder                    *   value                                                               000000    1137800

  1496+D    peVariable                 50A   varying value                                                       000000    1137900

  1497+D    peData                       *   value                                                               000000    1138000

  1498+D    peDataSize                 10I 0 value                                                               000000    1138100

  1499+                                                                                                          000000    1138200

  1500+                                                                                                          000000    1138300

  1501+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1138400

  1502+ * http_mfd_encoder_addvar_s():  Simplified (but limited)                                                 000000    1138500

  1503+ *       interface to http_mfd_encoder_addvar().                                                          000000    1138600

  1504+ *                                                                                                        000000    1138700

  1505+ *    peEncoder = (input) HTTP_mfd_encoder object                                                         000000    1138800

  1506+ *   peVariable = (input) variable name to set                                                            000000    1138900

  1507+ *      peValue = (input) value to set variable to                                                        000000    1139000

  1508+ *                                                                                                        000000    1139100

  1509+ * Returns *ON if successful, *OFF otherwise                                                              000000    1139200

  1510+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1139300

  1511+D http_mfd_encoder_addvar_s...                                                                            000000    1139400

  1512+D                 PR             1N                                                                       000000    1139500

  1513+D    peEncoder                    *   value                                                               000000    1139600

  1514+D    peVariable                 50A   varying value                                                       000000    1139700

  1515+D    peValue                   256A   varying value                                                       000000    1139800

  1516+                                                                                                          000000    1139900

  1517+                                                                                                          000000    1140000

  1518+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1140100

  1519+ * http_mfd_encoder_addstmf(): Add a stream file to what's stored                                         000000    1140200

  1520+ *       in a multipart/form-data encoder.                                                                000000    1140300

  1521+ *                                                                                                        000000    1140400

  1522+ *    peEncoder = pointer to encoder created by the                                                       000000    1140500

  1523+ *                  http_mfd_encoder_open() routine                                                       000000    1140600

  1524+ *   peVariable = variable name to add                                                                    000000    1140700

  1525+ *   pePathName = Path name of stream file to add                                                         000000    1140800

  1526+ *   peContType = Content-type of stream file to add                                                      000000    1140900

  1527+ *                                                                                                        000000    1141000

  1528+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1141100

  1529+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1141200

  1530+D http_mfd_encoder_addstmf...                                                                             000000    1141300

  1531+D                 PR             1N                                                                       000000    1141400

  1532+D    peEncoder                    *   value                                                               000000    1141500

  1533+D    peVariable                 50A   varying value                                                       000000    1141600

  1534+D    pePathName                   *   value options(*string)                                              100106    1141700

  1535+D    peContType                 64A   varying const                                                       000000    1141800

  1536+                                                                                                          000000    1141900

  1537+                                                                                                          000000    1142000

  1538+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1142100

  1539+ * http_mfd_encoder_close():  close an open multipart/form-data                                           000000    1142200

  1540+ *                            encoder.                                                                    000000    1142300

  1541+ *                                                                                                        000000    1142400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     31

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1542+ *     peEncoder = (input) encoder to close                                                               000000    1142500

  1543+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1142600

  1544+D http_mfd_encoder_close...                                                                               000000    1142700

  1545+D                 PR                                                                                      000000    1142800

  1546+D  peEncoder                      *   value                                                               000000    1142900

  1547+                                                                                                          000000    1143000

  1548+                                                                                                          000000    1143100

  1549+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1143200

  1550+ * http_debug():  Turn debugging info *ON or *OFF                                                         000000    1143300

  1551+ *                                                                                                        000000    1143400

  1552+ *      peStatus = (input) status (either *ON or *OFF)                                                    000000    1143500

  1553+ *                                                                                                        000000    1143600

  1554+ *    peFilename = (input/optional) filename that debug info will be                                      000000    1143700

  1555+ *                    written to.  If not defined, the value from                                         000000    1143800

  1556+ *                    CONFIG_H is used.                                                                   000000    1143900

  1557+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1144000

  1558+D http_debug      PR                                                                                      000000    1144100

  1559+D   peStatus                     1N   const                                                               000000    1144200

  1560+D   peFilename                 500A   varying const options(*nopass)                                      000000    1144300

  1561+                                                                                                          000000    1144400

  1562+                                                                                                          000000    1144500

  1563+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1144600

  1564+ * HTTP_SetCCSIDs():  Set the CCSIDs used for ASCII/EBCDIC                                                000000    1144700

  1565+ *                    translation                                                                         000000    1144800

  1566+ *                                                                                                        000000    1144900

  1567+ *     pePostRem = (input) Remote CCSID of POST data                                                      000000    1145000

  1568+ *     pePostLoc = (input) Local CCSID of POST data                                                       000000    1145100

  1569+ *     peProtRem = (input) Remote CCSID of Protocol data                                                  000000    1145200

  1570+ *     peProtLoc = (input) Local CCSID of Protocol data                                                   000000    1145300

  1571+ *                                                                                                        000000    1145400

  1572+ * Returns 0 if successful, -1 otherwise                                                                  000000    1145500

  1573+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1145600

  1574+D HTTP_SetCCSIDs  PR            10I 0                                                                     000000    1145700

  1575+D   pePostRem                   10I 0 value                                                               000000    1145800

  1576+D   pePostLoc                   10I 0 value                                                               000000    1145900

  1577+D   peProtRem                   10I 0 value options(*nopass)                                              000000    1146000

  1578+D   peProtLoc                   10I 0 value options(*nopass)                                              000000    1146100

  1579+                                                                                                          000000    1146200

  1580+                                                                                                          000000    1146300

  1581+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1146400

  1582+ * HTTP_SetTables():  Set the translation tables used for                                                 000000    1146500

  1583+ *                    ASCII/EBCDIC translation                                                            000000    1146600

  1584+ *                                                                                                        000000    1146700

  1585+ *     peASCII  = (input) Table for converting to ASCII                                                   000000    1146800

  1586+ *     peEBCDIC = (input) Table for converting to EBCDIC                                                  000000    1146900

  1587+ *                                                                                                        000000    1147000

  1588+ * Returns 0 if successful, -1 otherwise                                                                  000000    1147100

  1589+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1147200

  1590+D HTTP_SetTables  PR            10I 0                                                                     000000    1147300

  1591+D   peASCII                     10A   const                                                               000000    1147400

  1592+D   peEBCDIC                    10A   const                                                               000000    1147500

  1593+                                                                                                          000000    1147600

  1594+                                                                                                          000000    1147700

  1595+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1147800

  1596+ * HTTP_SetFileCCSID(): Set the CCSID that downloaded stream                                              000000    1147900

  1597+ *                      files get tagged with                                                             000000    1148000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     32

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1598+ *                                                                                                        000000    1148100

  1599+ *     peCCSID  = (input) New CCSID to assign                                                             000000    1148200

  1600+ *                                                                                                        000000    1148300

  1601+ * NOTE: HTTPAPI does not do *any* translation of downloaded                                              000000    1148400

  1602+ *       data. It only sets this number as part of the file's                                             000000    1148500

  1603+ *       attributes.  You can change it with the CHGATR CL                                                000000    1148600

  1604+ *       command.                                                                                         000000    1148700

  1605+ *                                                                                                        000000    1148800

  1606+ * NOTE: The IFS did not support CCSIDs in V4R5 and earlier.                                              000000    1148900

  1607+ *       On those releases, this API will be used to set the                                              000000    1149000

  1608+ *       codepage rather than the CCSID.                                                                  000000    1149100

  1609+ *                                                                                                        000000    1149200

  1610+ * Returns 0 if successful, -1 otherwise                                                                  000000    1149300

  1611+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1149400

  1612+D HTTP_SetfileCCSID...                                                                                    000000    1149500

  1613+D                 PR                                                                                      000000    1149600

  1614+D   peCCSID                     10I 0 value                                                               000000    1149700

  1615+                                                                                                          000000    1149800

  1616+                                                                                                          000000    1149900

  1617+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1150000

  1618+ * HTTP_xlate():  Translate data from ASCII <--> EBCDIC                                                   000000    1150100

  1619+ *                                                                                                        000000    1150200

  1620+ *       peSize = (input) Size of data to translate                                                       000000    1150300

  1621+ *       peData = (input) Data                                                                            000000    1150400

  1622+ *  peDirection = (input) can be set to the TO_ASCII or                                                   000000    1150500

  1623+ *                         TO_EBCDIC constant.                                                            000000    1150600

  1624+ *                                                                                                        000000    1150700

  1625+ * Returns 0 if successful, -1 upon failure                                                               000000    1150800

  1626+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1150900

  1627+D HTTP_xlate      PR            10I 0                                                                     000000    1151000

  1628+D   peSize                      10I 0 value                                                               000000    1151100

  1629+D   peData                   32766A   options(*varsize)                                                   000000    1151200

  1630+D   peDirection                  1A   const                                                               000000    1151300

  1631+                                                                                                          000000    1151400

  1632+                                                                                                          000000    1151500

  1633+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1151600

  1634+ * HTTP_xlatep(): Translate data from ASCII <--> EBCDIC                                                   000000    1151700

  1635+ *                (using a pointer instead of a variable)                                                 000000    1151800

  1636+ *                                                                                                        000000    1151900

  1637+ *       peSize = (input) Size of data to translate                                                       000000    1152000

  1638+ *       peData = (input) Data                                                                            000000    1152100

  1639+ *  peDirection = (input) can be set to the TO_ASCII or                                                   000000    1152200

  1640+ *                         TO_EBCDIC constant.                                                            000000    1152300

  1641+ *                                                                                                        000000    1152400

  1642+ * Returns 0 if successful, -1 upon failure                                                               000000    1152500

  1643+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1152600

  1644+D HTTP_xlatep     PR            10I 0                                                                     000000    1152700

  1645+D   peSize                      10I 0 value                                                               000000    1152800

  1646+D   peData                        *   value                                                               000000    1152900

  1647+D   peDirection                  1A   const                                                               000000    1153000

  1648+                                                                                                          000000    1153100

  1649+                                                                                                          000000    1153200

  1650+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1153300

  1651+ * HTTP_xlatedyn: Translate data from ASCII <--> EBCDIC                                                   000000    1153400

  1652+ *                using a dynamically sized output buffer                                                 000000    1153500

  1653+ *                                                                                                        000000    1153600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     33

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1654+ *      peSize = (input) size of data to translate                                                        000000    1153700

  1655+ *      peData = (input) pointer to data to translate                                                     000000    1153800

  1656+ * peDirection = (input) TO_ASCII or TO_EBCDIC                                                            000000    1153900

  1657+ *    peOutput = (output) address of newly allocated memory                                               000000    1154000

  1658+ *                                                                                                        000000    1154100

  1659+ * returns the length of the translated data or -1 upon failure                                           000000    1154200

  1660+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1154300

  1661+D HTTP_xlatedyn   PR            10I 0                                                                     000000    1154400

  1662+D   peSize                      10I 0 value                                                               000000    1154500

  1663+D   peData                        *   value                                                               000000    1154600

  1664+D   peDirection                  1A   const                                                               000000    1154700

  1665+D   peOutput                      *                                                                       000000    1154800

  1666+                                                                                                          000000    1154900

  1667+                                                                                                          000000    1155000

  1668+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1155100

  1669+ * http_set_100_timeout(): Set value for 100-continue timeouts.                                           000000    1155200

  1670+ *                                                                                                        000000    1155300

  1671+ * HTTP's POST/PUT operations have a feature to let you detect                                            090630    1155400

  1672+ * where your request URI is valid prior to uploading a document                                          090630    1155500

  1673+ * body (such as POST data or a file upload).                                                             090630    1155600

  1674+ *                                                                                                        090630    1155700

  1675+ * HTTPAPI can send "Expect: 100-continue" and the server should                                          090630    1155800

  1676+ * reply with status 100 to indicate that the upload should proceed                                       090630    1155900

  1677+ * or else provide an error message if the upload should not proceed.                                     090630    1156000

  1678+ *                                                                                                        090630    1156100

  1679+ * Despite being a part of the HTTP/1.1 protocol standard, many                                           090630    1156200

  1680+ * servers do not implement this properly.                                                                090630    1156300

  1681+ *                                                                                                        090630    1156400

  1682+ * Therefore:                                                                                             090630    1156500

  1683+ *    a) You may set the timeout to 0. HTTPAPI will not attempt                                           090630    1156600

  1684+ *         to use the 100-continue feature.                                                               090630    1156700

  1685+ *    b) You may set the timeout to a low value, so that HTTPAPI                                          090630    1156800

  1686+ *         will use the feature if possible, but will time                                                090630    1156900

  1687+ *         quickly if the feature isn't implemented                                                       090630    1157000

  1688+ *    c) You may set the timeout to a higher value if you want                                            090630    1157100

  1689+ *         to ensure that HTTPAPI always waits for it before                                              090630    1157200

  1690+ *         sending an upload.                                                                             090630    1157300

  1691+ *                                                                                                        090630    1157400

  1692+ * The timeout value is expressed in seconds, and may range                                               090630    1157500

  1693+ * from 0.001 (1 millisecond) to 9999999.999 (approx 116 days)                                            090630    1157600

  1694+ * or 0 = don't wait at all.                                                                              090630    1157700

  1695+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1157800

  1696+D http_set_100_timeout...                                                                                 000000    1157900

  1697+D                 PR                                                                                      000000    1158000

  1698+D   peTimeout                   10P 3 value                                                               000000    1158100

  1699+                                                                                                          000000    1158200

  1700+                                                                                                          000000    1158300

  1701+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1158400

  1702+ * HTTP_xml_SetCCSIDs():  Set the CCSIDs used for ASCII/EBCDIC                                            000000    1158500

  1703+ *                    translation for XML documents                                                       000000    1158600

  1704+ *                                                                                                        000000    1158700

  1705+ *     peRemote = (input) remote CCSID                                                                    000000    1158800

  1706+ *     peLocal  = (input) local CCSID (can be 0 if you want                                               000000    1158900

  1707+ *                 to use the CCSID of the current job)                                                   000000    1159000

  1708+ *                                                                                                        000000    1159100

  1709+ * Returns 0 if successful, -1 otherwise                                                                  000000    1159200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     34

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1710+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1159300

  1711+D HTTP_xml_SetCCSIDs...                                                                                   000000    1159400

  1712+D                 PR            10I 0                                                                     000000    1159500

  1713+D   peRemote                    10I 0 value                                                               000000    1159600

  1714+D   peLocal                     10I 0 value                                                               000000    1159700

  1715+                                                                                                          000000    1159800

  1716+                                                                                                          000000    1159900

  1717+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1160000

  1718+ *  http_parse_xml_stmf(): Parse XML data directly from a stream file                                     000000    1160100

  1719+ *                         (instead of downloading it from a server)                                      000000    1160200

  1720+ *                                                                                                        000000    1160300

  1721+ *      peFile = (input) Stream file (in IFS) to read data from                                           000000    1160400

  1722+ *     peCCSID = (input) CCSID of stream file,                                                            000000    1160500

  1723+ *                    or HTTP_XML_CALC to attempt to calculate it                                         000000    1160600

  1724+ *                       from the XML encoding                                                            000000    1160700

  1725+ *                    or HTTP_STMF_CALC to use the stream file's                                          000000    1160800

  1726+ *                       CCSID attribute.                                                                 000000    1160900

  1727+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1161000

  1728+ *                       of each XML element received.                                                    000000    1161100

  1729+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1161200

  1730+ *                       of each XML element received.                                                    000000    1161300

  1731+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1161400

  1732+ *                          to the call-back routine                                                      000000    1161500

  1733+ *                                                                                                        000000    1161600

  1734+ *  Returns  -1 upon failure, 0 if successful                                                             000000    1161700

  1735+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1161800

  1736+D http_parse_xml_stmf...                                                                                  000000    1161900

  1737+D                 PR            10I 0                                                                     000000    1162000

  1738+D  peFile                    32767A   varying const options(*varsize)                                     000000    1162100

  1739+D  peCCSID                      10I 0 value                                                               000000    1162200

  1740+D  peStartProc                    *   value procptr                                                       000000    1162300

  1741+D  peEndProc                      *   value procptr                                                       000000    1162400

  1742+D  peUsrDta                       *   value                                                               000000    1162500

  1743+                                                                                                          000000    1162600

  1744+D HTTP_XML_CALC   C                   -1                                                                  000000    1162700

  1745+D HTTP_STMF_CALC  C                   -2                                                                  000000    1162800

  1746+                                                                                                          000000    1162900

  1747+                                                                                                          000000    1163000

  1748+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1163100

  1749+ * http_header():  retrieve the value of an HTTP header                                                   000000    1163200

  1750+ *                                                                                                        000000    1163300

  1751+ *      name = (input) name of header to look for                                                         000000    1163400

  1752+ *       pos = (input/optional) position of header if there's                                             000000    1163500

  1753+ *                 more than one with the same name                                                       000000    1163600

  1754+ *                                                                                                        000000    1163700

  1755+ * returns the value of the HTTP header, or '' if not found                                               000000    1163800

  1756+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1163900

  1757+D http_header     PR         32500A   varying                                                             000000    1164000

  1758+D   name                       256A   varying const                                                       000000    1164100

  1759+D   pos                         10I 0 value options(*nopass)                                              000000    1164200

  1760+                                                                                                          000000    1164300

  1761+                                                                                                          000000    1164400

  1762+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1164500

  1763+ * http_use_cookies(): Turns on/off HTTPAPI's cookie parsing and                                          000000    1164600

  1764+ *                     caching routines.                                                                  000000    1164700

  1765+ *                                                                                                        000000    1164800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     35

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1766+ *    peSetting = (input) *ON = HTTPAPI will read and send cookies                                        000000    1164900

  1767+ *                       *OFF = HTTPAPI will ignore cookies                                               000000    1165000

  1768+ *                              (has no affect on cookies supplied                                        000000    1165100

  1769+ *                               via an exit procedure)                                                   000000    1165200

  1770+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1165300

  1771+D http_use_cookies...                                                                                     000000    1165400

  1772+D                 PR                                                                                      000000    1165500

  1773+D   peSetting                    1N   const                                                               000000    1165600

  1774+                                                                                                          000000    1165700

  1775+                                                                                                          000000    1165800

  1776+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1165900

  1777+ * http_cookie_file():  Set the name of the file that HTTPAPI                                             000000    1166000

  1778+ *          will use to store cookies.                                                                    000000    1166100

  1779+ *                                                                                                        000000    1166200

  1780+ *    peFilename = (input) Filename (IFS path) to store cookie                                            000000    1166300

  1781+ *                  data into.                                                                            000000    1166400

  1782+ *     peSession = (input) include session cookies (temp cookies)                                         081014    1166500

  1783+ *                  in cookie file?  Default = *OFF                                                       081014    1166600

  1784+ *                                                                                                        000000    1166700

  1785+ *  If the filename is set to '', or if you do not call this API,                                         000000    1166800

  1786+ *  cookies will only be saved until the activation group is                                              000000    1166900

  1787+ *  reclaimed.                                                                                            000000    1167000

  1788+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1167100

  1789+D http_cookie_file...                                                                                     000000    1167200

  1790+D                 PR                                                                                      000000    1167300

  1791+D   peFilename                 256A   varying const                                                       000000    1167400

  1792+D   peSession                    1n   const options(*nopass:*omit)                                        081014    1167500

  1793+                                                                                                          000000    1167600

  1794+                                                                                                          000000    1167700

  1795+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1167800

  1796+ * http_comp(): Send a completion message                                                                 080707    1167900

  1797+ *                                                                                                        000000    1168000

  1798+ *      peMessage = message to send.                                                                      000000    1168100

  1799+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1168200

  1800+D http_comp       PR                                                                                      000000    1168300

  1801+D   peMessage                  256A   const                                                               000000    1168400

  1802+                                                                                                          000000    1168500

  1803+                                                                                                          000000    1168600

  1804+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1168700

  1805+ * http_diag(): Send a diagnostic message                                                                 000000    1168800

  1806+ *                                                                                                        000000    1168900

  1807+ *      peMessage = message to send.                                                                      000000    1169000

  1808+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1169100

  1809+D http_diag       PR                                                                                      000000    1169200

  1810+D   peMessage                  256A   const                                                               000000    1169300

  1811+                                                                                                          000000    1169400

  1812+                                                                                                          000000    1169500

  1813+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1169600

  1814+ * http_crash(): Send back an *ESCAPE message containing last                                             000000    1169700

  1815+ *               error found in HTTPAPI.                                                                  000000    1169800

  1816+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1169900

  1817+D http_crash      PR                                                                                      000000    1170000

  1818+                                                                                                          000000    1170100

  1819+                                                                                                          000000    1170200

  1820+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1170300

  1821+ * http_tempfile():  Generate a unique temporary IFS file name                                            000000    1170400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     36

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1822+ *                                                                                                        000000    1170500

  1823+ * returns the file name                                                                                  000000    1170600

  1824+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1170700

  1825+D http_tempfile   PR            40A   varying                                                             000000    1170800

  1826+                                                                                                          070329    1170900

  1827+                                                                                                          070329    1171000

  1828+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329    1171100

  1829+ * http_xmlns():  Enable XML Namespace processing                                                         070329    1171200

  1830+ *                                                                                                        070329    1171300

  1831+ *     peEnable = (input) *ON to enable parsing, *OFF to disable.                                         070329    1171400

  1832+ *                        (it is disabled by default)                                                     070329    1171500

  1833+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329    1171600

  1834+D http_xmlns      PR                                                                                      070329    1171700

  1835+D   peEnable                     1N   const                                                               070329    1171800

  1836+                                                                                                          070816    1171900

  1837+                                                                                                          070816    1172000

  1838+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816    1172100

  1839+ * http_XmlReturnPtr(): XML End Element Handler should return a                                           070816    1172200

  1840+ *                      pointer to the full element value instead of                                      070816    1172300

  1841+ *                      returning a VARYING character string.                                             070816    1172400

  1842+ *                      (VARYING is limited to 64k)                                                       070816    1172500

  1843+ *                                                                                                        070816    1172600

  1844+ *     peEnable = (input) *ON to return a pointer, *OFF to return                                         070816    1172700

  1845+ *                        a VARYING string (*OFF = default)                                               070816    1172800

  1846+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816    1172900

  1847+D http_XmlReturnPtr...                                                                                    070816    1173000

  1848+D                 PR                                                                                      070816    1173100

  1849+D   peEnable                     1N   const                                                               070816    1173200

  1850+                                                                                                          070912    1173300

  1851+                                                                                                          070912    1173400

  1852+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070912    1173500

  1853+ * http_XmlStripCRLF(): Enable stripping of CRLF characters                                               070912    1173600

  1854+ *                                                                                                        070912    1173700

  1855+ *     peEnable = (input) *ON to strip, *OFF to leave them in.                                            070912    1173800

  1856+ *                        (they are stripped by default)                                                  070912    1173900

  1857+ *                                                                                                        070912    1174000

  1858+ * Note: To simplify your XML string manipulations, HTTPAPI                                               070912    1174100

  1859+ *       strips CRLF characters from the response.  If you would                                          070912    1174200

  1860+ *       prefer that they are left in the response, call this                                             070912    1174300

  1861+ *       routine with a parameter of *OFF.                                                                070912    1174400

  1862+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070912    1174500

  1863+D http_XmlStripCRLF...                                                                                    070912    1174600

  1864+D                 PR                                                                                      070912    1174700

  1865+D   peEnable                     1N   const                                                               070912    1174800

  1866+                                                                                                          071119    1174900

  1867+                                                                                                          071119    1175000

  1868+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       071119    1175100

  1869+ * http_parser_switch_cb(): delegates element processing to another                                       071119    1175200

  1870+ *     set of start and end element callback procedures for the                                           071119    1175300

  1871+ *     current element and its children.                                                                  071119    1175400

  1872+ *                                                                                                        071119    1175500

  1873+ *    peUsrDta = (input) user-defined data that will be passed to                                         071119    1175600

  1874+ *                       the call-back routine. usuallay only that                                        071119    1175700

  1875+ *                       portion of the curent user data is forwarded                                     071119    1175800

  1876+ *                       to the new callback procedures that they are                                     071119    1175900

  1877+ *                       responsible for.                                                                 071119    1176000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     37

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1878+ * peStartProc = (input) call-back procedure to call at the start                                         071119    1176100

  1879+ *                       of each XML element received.                                                    071119    1176200

  1880+ *   peEndProc = (input) call-back procedure to call at the end                                           071119    1176300

  1881+ *                       of each XML element received.                                                    071119    1176400

  1882+ *                                                                                                        071119    1176500

  1883+ *  Returns  -1 upon failure, 0 upon success                                                              071119    1176600

  1884+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       071119    1176700

  1885+D http_parser_switch_cb...                                                                                071119    1176800

  1886+D                 PR            10I 0                                                                     071119    1176900

  1887+D  peUsrDta                       *   value                                                               071119    1177000

  1888+D  peStartProc                    *   value procptr                                                       071119    1177100

  1889+D  peEndProc                      *   value procptr options(*nopass)                                      071119    1177200

  1890+                                                                                                          080205    1177300

  1891+                                                                                                          080205    1177400

  1892+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1177500

  1893+ * http_parser_get_start_cb(): returns the procedure pointer of                                           080205    1177600

  1894+ *     the currently active start callback procedure.                                                     080205    1177700

  1895+ *                                                                                                        080205    1177800

  1896+ *  Returns procedure pointer of start callback procedure.                                                080205    1177900

  1897+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1178000

  1898+D http_parser_get_start_cb...                                                                             080205    1178100

  1899+D                 PR              *   procptr                                                             080205    1178200

  1900+                                                                                                          080205    1178300

  1901+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1178400

  1902+ * http_parser_get_end_cb(): returns the procedure pointer of                                             080205    1178500

  1903+ *     the currently active end callback procedure.                                                       080205    1178600

  1904+ *                                                                                                        080205    1178700

  1905+ *  Returns procedure pointer of end callback procedure.                                                  080205    1178800

  1906+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1178900

  1907+D http_parser_get_end_cb...                                                                               080205    1179000

  1908+D                 PR              *   procptr                                                             080205    1179100

  1909+                                                                                                          080205    1179200

  1910+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1179300

  1911+ * http_parser_get_userdata(): returns the procedure pointer of                                           080205    1179400

  1912+ *     the currently active user data.                                                                    080205    1179500

  1913+ *                                                                                                        080205    1179600

  1914+ *  Returns procedure pointer of user data.                                                               080205    1179700

  1915+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1179800

  1916+D http_parser_get_userdata...                                                                             080205    1179900

  1917+D                 PR              *                                                                       080205    1180000

  1918+                                                                                                          080331    1180100

  1919+                                                                                                          080331    1180200

  1920+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  080331    1180300

  1921+ * http_parse_xml_string():  Parse XML from an input string.                                              080331    1180400

  1922+ *                         (instead of downloading it from a server)                                      080331    1180500

  1923+ *                                                                                                        080331    1180600

  1924+ *    peString = (input) Pointer to string                                                                080331    1180700

  1925+ *       peLen = (input) Length of string to parse                                                        080331    1180800

  1926+ *     peCCSID = (input) CCSID of string to be parsed                                                     080331    1180900

  1927+ * peStartProc = (input) call-back procedure to call at the start                                         080331    1181000

  1928+ *                       of each XML element received.                                                    080331    1181100

  1929+ *   peEndProc = (input) call-back procedure to call at the end                                           080331    1181200

  1930+ *                       of each XML element received.                                                    080331    1181300

  1931+ *    peUsrDta = (input) user-defined data that will be passed                                            080331    1181400

  1932+ *                          to the call-back routine                                                      080331    1181500

  1933+ *                                                                                                        080331    1181600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     38

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1934+ *  Returns  -1 upon failure, 0 upon success                                                              080331    1181700

  1935+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   080331    1181800

  1936+D http_parse_xml_string...                                                                                080331    1181900

  1937+D                 PR            10i 0                                                                     080331    1182000

  1938+D  peString                       *   value                                                               080331    1182100

  1939+D  peLen                        10I 0 value                                                               080331    1182200

  1940+D  peCCSID                      10I 0 value                                                               080331    1182300

  1941+D  peStartProc                    *   value procptr                                                       080331    1182400

  1942+D  peEndProc                      *   value procptr                                                       080331    1182500

  1943+D  peUsrDta                       *   value                                                               080331    1182600

  1944+                                                                                                          081125    1182700

  1945+                                                                                                          081125    1182800

  1946+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   081125    1182900

  1947+ * HTTP_nextXmlAttr():  Retrieve next XML attribute from attrs list                                       081125    1183000

  1948+ *                                                                                                        081125    1183100

  1949+ *      attrs = (input) attribute list to extract from                                                    081125    1183200

  1950+ *        num = (i/o)   position in attribute list.  On first                                             081125    1183300

  1951+ *                      call, set this to 1.  HTTPAPI will                                                081125    1183400

  1952+ *                      increment this as it moves through the list                                       081125    1183500

  1953+ *       name = (output) XML attribute name (from list)                                                   081125    1183600

  1954+ *        val = (output) XML attribute value (from list)                                                  081125    1183700

  1955+ *                                                                                                        081125    1183800

  1956+ * Returns *ON normally, *OFF if there's no more attributes to read                                       081125    1183900

  1957+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   081125    1184000

  1958+D HTTP_nextXmlAttr...                                                                                     081125    1184100

  1959+D                 PR             1N                                                                       081125    1184200

  1960+D   attrs                         *   dim(32767)                                                          081125    1184300

  1961+D                                     const options(*varsize)                                             081125    1184400

  1962+D   num                         10i 0                                                                     081125    1184500

  1963+D   name                      1024a   varying                                                             081125    1184600

  1964+D   val                      65535a   varying                                                             081125    1184700

  1965+                                                                                                          090528    1184800

  1966+                                                                                                          090528    1184900

  1967+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         090528    1185000

  1968+ * http_EscapeXml(): Escape any special characters used by XML                                            090528    1185100

  1969+ *                                                                                                        090528    1185200

  1970+ *     peString = (input) string to escape                                                                090528    1185300

  1971+ *                                                                                                        090528    1185400

  1972+ * Returns escaped string.                                                                                090528    1185500

  1973+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         090528    1185600

  1974+D http_EscapeXml  PR          4096a   varying                                                             090528    1185700

  1975+D  peString                   4096a   varying const                                                       090528    1185800

  1976+                                                                                                          090624    1185900

  1977+                                                                                                          090624    1186000

  1978+ /if defined(HTTP_WSDL2RPG_STUFF)                                                                         091007    1186100

            LINES EXCLUDED: 32

  1979+ /endif                                                                                                   091007    1189400

  1980+                                                                                                          100528    1189500

  1981+                                                                                                          100528    1189600

  1982+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1189700

  1983+ * http_dwrite(): Write raw (binary) data to the HTTPAPI debug                                            100528    1189800

  1984+ *                log.                                                                                    100528    1189900

  1985+ *                                                                                                        100528    1190000

  1986+ *    peData = pointer to raw data to write                                                               100528    1190100

  1987+ *    peLen  = length of the data to write                                                                100528    1190200

  1988+ *                                                                                                        100528    1190300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     39

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1989+ * NOTE: The debug log is opened the first time http_dwrite()                                             100528    1190400

  1990+ *       or http_dmsg() is called, and closed at the end of a                                             100528    1190500

  1991+ *       an HTTP transaction (such as GET or POST) If you attempt                                         100528    1190600

  1992+ *       to write after a transaction, the file will be re-opened                                         100528    1190700

  1993+ *       and not closed until the next transaction, or until                                              100528    1190800

  1994+ *       http_dclose() is called.                                                                         100528    1190900

  1995+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1191000

  1996+D http_dwrite     PR                                                                                      100528    1191100

  1997+D   peData                        *   value                                                               100528    1191200

  1998+D   peLen                       10I 0 value                                                               100528    1191300

  1999+                                                                                                          100528    1191400

  2000+                                                                                                          100528    1191500

  2001+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1191600

  2002+ * http_dmsg(): Write one line of text to the HTTPAPI debug log                                           100528    1191700

  2003+ *                                                                                                        100528    1191800

  2004+ *    peMsgTxt = one message (one line of text) to write to                                               100528    1191900

  2005+ *                the debug log.  CRLF will be added for you                                              100528    1192000

  2006+ *                and the data will be undergo EBCDIC->ASCII                                              100528    1192100

  2007+ *                translation as it's written.                                                            100528    1192200

  2008+ *                                                                                                        100528    1192300

  2009+ * NOTE: The debug log is opened the first time http_dwrite()                                             100528    1192400

  2010+ *       or http_dmsg() is called, and closed at the end of a                                             100528    1192500

  2011+ *       an HTTP transaction (such as GET or POST) If you attempt                                         100528    1192600

  2012+ *       to write after a transaction, the file will be re-opened                                         100528    1192700

  2013+ *       and not closed until the next transaction, or until                                              100528    1192800

  2014+ *       http_dclose() is called.                                                                         100528    1192900

  2015+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1193000

  2016+D http_dmsg       PR                                                                                      100528    1193100

  2017+D   peMsgTxt                   256A   const                                                               100528    1193200

  2018+                                                                                                          080205    1193300

  2019+                                                                                                          100528    1193400

  2020+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1193500

  2021+ * http_dclose():  Close the HTTPAPI debug log.                                                           100528    1193600

  2022+ *                                                                                                        100528    1193700

  2023+ * NOTE: Calling http_dmsg or http_dwrite will automatically                                              100528    1193800

  2024+ *       reopen the log. The log is automatically closed at                                               100528    1193900

  2025+ *       the end of an HTTP transaction (such as GET or POST)                                             100528    1194000

  2026+ *       If you want to close it at another time, call this                                               100528    1194100

  2027+ *       routine.                                                                                         100528    1194200

  2028+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         100528    1194300

  2029+D http_dclose     PR                                                                                      100528    1194400

  2030+                                                                                                          071119    1194500

  2031+                                                                                                          100528    1194600

  2032+ *********************************************************************                                    000000    1194700

  2033+ **  Error codes that HTTP API can return                                                                 000000    1194800

  2034+ *********************************************************************                                    000000    1194900

  2035+ ** Invalid URL format                                                                                    000000    1195000

  2036+D HTTP_BADURL     C                   CONST(1)                                                            000000    1195100

  2037+ ** Host not found (not a valid IP address, or DNS lookup failed)                                         000000    1195200

  2038+D HTTP_HOSTNF     C                   CONST(2)                                                            000000    1195300

  2039+ ** Unable to create a new socket                                                                         000000    1195400

  2040+D HTTP_SOCERR     C                   CONST(4)                                                            000000    1195500

  2041+ ** Error when connecting to server                                                                       000000    1195600

  2042+D HTTP_BADCNN     C                   CONST(6)                                                            000000    1195700

  2043+ ** Timeout when connecting to server                                                                     000000    1195800

  2044+D HTTP_CNNTIMO    C                   CONST(7)                                                            000000    1195900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     40

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2045+ ** HTTP response code logged (not an error, per se)                                                      000000    1196000

  2046+D HTTP_RESP       C                   CONST(13)                                                           000000    1196100

  2047+ ** Error calling user-specified procedure in the                                                         000000    1196200

  2048+ **   recvdoc() procedure.  (user proc must return full count)                                            000000    1196300

  2049+D HTTP_RDWERR     C                   CONST(16)                                                           000000    1196400

  2050+ ** Unsupported transfer-encoding value                                                                   000000    1196500

  2051+D HTTP_XFRENC     C                   CONST(20)                                                           000000    1196600

  2052+ ** Error opening file to save data into.                                                                 000000    1196700

  2053+D HTTP_FDOPEN     C                   CONST(22)                                                           000000    1196800

  2054+ ** Problem with the Application ID for the DCM                                                           000000    1196900

  2055+D HTTP_GSKAPPID   C                   CONST(23)                                                           000000    1197000

  2056+ ** Error setting auth type                                                                               000000    1197100

  2057+D HTTP_GSKATYP    C                   CONST(24)                                                           000000    1197200

  2058+ ** Error initializing GSKit environment                                                                  000000    1197300

  2059+D HTTP_GSKENVI    C                   CONST(25)                                                           000000    1197400

  2060+ ** Error opening GSKit environment                                                                       000000    1197500

  2061+D HTTP_GSKENVO    C                   CONST(26)                                                           000000    1197600

  2062+ ** Error setting session type (client | server | server_auth)                                            000000    1197700

  2063+D HTTP_GSKSTYP    C                   CONST(27)                                                           000000    1197800

  2064+ ** Error registering application w/DCM                                                                   000000    1197900

  2065+D HTTP_REGERR     C                   CONST(28)                                                           000000    1198000

  2066+ ** Error open secure socket                                                                              000000    1198100

  2067+D HTTP_SSOPEN     C                   CONST(29)                                                           000000    1198200

  2068+ ** Error setting SSL numeric file descriptor                                                             000000    1198300

  2069+D HTTP_SSSNFD     C                   CONST(30)                                                           000000    1198400

  2070+ ** Error setting SSL numeric timeout value                                                               000000    1198500

  2071+D HTTP_SSSNTO     C                   CONST(31)                                                           000000    1198600

  2072+ ** SSL handshake timed out                                                                               000000    1198700

  2073+D HTTP_SSTIMO     C                   CONST(32)                                                           000000    1198800

  2074+ ** This app is not registered with digital cert mgr                                                      000000    1198900

  2075+D HTTP_NOTREG     C                   CONST(35)                                                           000000    1199000

  2076+ ** This URI needs authorization (user/pass)                                                              000000    1199100

  2077+D HTTP_NDAUTH     C                   CONST(36)                                                           000000    1199200

  2078+ ** Invalid HTTP authentication type                                                                      000000    1199300

  2079+D HTTP_ATHTYP     C                   CONST(37)                                                           000000    1199400

  2080+ ** Error in value of an HTTP authentication string                                                       000000    1199500

  2081+D HTTP_ATHVAL     C                   CONST(38)                                                           000000    1199600

  2082+ ** Server didn't ask for authorizatin                                                                    000000    1199700

  2083+D HTTP_NOAUTH     C                   CONST(39)                                                           000000    1199800

  2084+ ** blockread() timed out waiting for more data                                                           000000    1199900

  2085+D HTTP_BRTIME     C                   CONST(43)                                                           000000    1200000

  2086+ ** blockread() error during recv() call                                                                  000000    1200100

  2087+D HTTP_BRRECV     C                   CONST(44)                                                           000000    1200200

  2088+ ** blockread() error during select() call                                                                000000    1200300

  2089+D HTTP_BRSELE     C                   CONST(45)                                                           000000    1200400

  2090+ ** recvchunk() did not get the trailing CRLF chars                                                       000000    1200500

  2091+D HTTP_RDCRLF     C                   CONST(46)                                                           000000    1200600

  2092+ ** Invalid exit point registered with HTTP_Xproc()                                                       000000    1200700

  2093+D HTTP_BADPNT     C                   CONST(47)                                                           000000    1200800

  2094+ ** Error retrieving SSL protocol                                                                         000000    1200900

  2095+D HTTP_SSPROT     C                   CONST(48)                                                           000000    1201000

  2096+ ** Unknown SSL protocol                                                                                  000000    1201100

  2097+D HTTP_SSPUNK     C                   CONST(49)                                                           000000    1201200

  2098+ ** Error setting SSL protocol                                                                            000000    1201300

  2099+D HTTP_SSPSET     C                   CONST(50)                                                           000000    1201400

  2100+ ** Out of memory                                                                                         000000    1201500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     41

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2101+D HTTP_NOMEM      C                   CONST(51)                                                           000000    1201600

  2102+ ** Must give data in order to encode it                                                                  000000    1201700

  2103+D HTTP_NODATA     C                   CONST(52)                                                           000000    1201800

  2104+ ** Pointer is invalid or already freed                                                                   000000    1201900

  2105+D HTTP_INVPTR     C                   CONST(53)                                                           000000    1202000

  2106+ ** Not enough space to add encoded variable                                                              000000    1202100

  2107+D HTTP_NOSPAC     C                   CONST(54)                                                           000000    1202200

  2108+ ** Error calling send() API in BlockWrite()                                                              000000    1202300

  2109+D HTTP_BWSEND     C                   CONST(55)                                                           000000    1202400

  2110+ ** Error calling select() API in BlockWrite()                                                            000000    1202500

  2111+D HTTP_BWSELE     C                   CONST(56)                                                           000000    1202600

  2112+ ** Timeout waiting to send in BlockWrite()                                                               000000    1202700

  2113+D HTTP_BWTIME     C                   CONST(57)                                                           000000    1202800

  2114+ ** Lineread() had problem with recv() API                                                                000000    1202900

  2115+D HTTP_LRRECV     C                   CONST(58)                                                           000000    1203000

  2116+ ** Lineread() had problem with select() API                                                              000000    1203100

  2117+D HTTP_LRSELE     C                   CONST(59)                                                           000000    1203200

  2118+ ** Lineread() had timeout                                                                                000000    1203300

  2119+D HTTP_LRTIME     C                   CONST(60)                                                           000000    1203400

  2120+ ** Procedure is no longer supported                                                                      000000    1203500

  2121+D HTTP_NOTSUPP    C                   CONST(61)                                                           000000    1203600

  2122+ ** No communication driver defined                                                                       000000    1203700

  2123+D HTTP_NOCDRIV    C                   CONST(62)                                                           000000    1203800

  2124+ ** Timeout sending data in blockwrite                                                                    000000    1203900

  2125+D HTTP_BWTIMO     C                   CONST(63)                                                           000000    1204000

  2126+ ** Timeout sending data in blockwrite                                                                    000000    1204100

  2127+D HTTP_SWCERR     C                   CONST(64)                                                           000000    1204200

  2128+ ** Timeout sending data in blockwrite                                                                    000000    1204300

  2129+D HTTP_FDSTAT     C                   CONST(65)                                                           000000    1204400

  2130+ ** Error parsing XML data                                                                                000000    1204500

  2131+D HTTP_XMLERR     C                   CONST(66)                                                           000000    1204600

  2132+ ** Error opening IFS file                                                                                000000    1204700

  2133+D HTTP_IFOPEN     C                   CONST(67)                                                           000000    1204800

  2134+ ** Error with SSL keyring                                                                                000000    1204900

  2135+D HTTP_GSKKEYF    C                   CONST(68)                                                           000000    1205000

  2136+ ** Must Use Table / Must not Use Table                                                                   000000    1205100

  2137+D HTTP_MUTABLE    C                   CONST(69)                                                           000000    1205200

  2138+ ** Cookie file cant be written                                                                           000000    1205300

  2139+D HTTP_CKDUMP     C                   CONST(70)                                                           000000    1205400

  2140+ ** Cookie file cant be read                                                                              000000    1205500

  2141+D HTTP_CKOPEN     C                   CONST(71)                                                           000000    1205600

  2142+ ** Can't get stats on cookie file                                                                        000000    1205700

  2143+D HTTP_CKSTAT     C                   CONST(72)                                                           000000    1205800

  2144+ ** Error converting CCSIDs                                                                               000000    1205900

  2145+D HTTP_CONVERR    C                   CONST(73)                                                           000000    1206000

  2146+ ** Error setting stream file CCSID                                                                       000000    1206100

  2147+D HTTP_SETATTR    C                   CONST(74)                                                           000000    1206200

  2148+ ** This Proxy server needs authorization (user/pass)                                                     000000    1206300

  2149+D HTTP_PXNDAUTH   C                   CONST(75)                                                           000000    1206400

  2150+ ** XML callback switched illegally                                                                       071119    1206500

  2151+D HTTP_ILLSWC     C                   CONST(76)                                                           071119    1206600

  2152+ ** Error getting certificate info                                                                        071218    1206700

  2153+D HTTP_SSLGCI     C                   CONST(77)                                                           071218    1206800

  2154+ ** Error from certificate validation callback                                                            071218    1206900

  2155+D HTTP_SSLVAL     C                   CONST(78)                                                           071218    1207000

  2156+                                                                                                          000000    1207100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     42

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2157+                                                                                                          000000    1207200

  2158+ *********************************************************************                                    000000    1207300

  2159+ *  HTTP WWW-Authentication types                                                                         000000    1207400

  2160+ *********************************************************************                                    000000    1207500

  2161+D HTTP_AUTH_NONE...                                                                                       000000    1207600

  2162+D                 C                   '0'                                                                 000000    1207700

  2163+D HTTP_AUTH_BASIC...                                                                                      000000    1207800

  2164+D                 C                   '1'                                                                 000000    1207900

  2165+D HTTP_AUTH_MD5_DIGEST...                                                                                 000000    1208000

  2166+D                 C                   '2'                                                                 000000    1208100

  2167+                                                                                                          000000    1208200

  2168+                                                                                                          000000    1208300

  2169+ *********************************************************************                                    000000    1208400

  2170+ *  HTTPAPI Exit points                                                                                   000000    1208500

  2171+ *********************************************************************                                    000000    1208600

  2172+ ** Debug exit point:  This is called when ASCII stream data is to be                                     000000    1208700

  2173+ **                    to a log file.   Here's the prototype for a                                        000000    1208800

  2174+ **                    debug exit procedure:                                                              000000    1208900

  2175+ **                                                                                                       000000    1209000

  2176+ **  D debug_proto     PR                                                                                 000000    1209100

  2177+ **  D   DataToLog                     *   value                                                          000000    1209200

  2178+ **  D   Length                      10I 0 value                                                          000000    1209300

  2179+ **                                                                                                       000000    1209400

  2180+D HTTP_POINT_DEBUG...                                                                                     000000    1209500

  2181+D                 C                   1                                                                   000000    1209600

  2182+                                                                                                          000000    1209700

  2183+ ** Upload status exit point:  This is called periodically during an                                      000000    1209800

  2184+ **                            upload (POST) to an HTTP(S) server.                                        000000    1209900

  2185+ **                            Allows you to display progress to the                                      000000    1210000

  2186+ **                            user.                                                                      000000    1210100

  2187+ **                                                                                                       000000    1210200

  2188+ **  D upload_proto    PR                                                                                 000000    1210300

  2189+ **  D   BytesSent                   10U 0 value                                                          000000    1210400

  2190+ **  D   BytesTotal                  10U 0 value                                                          000000    1210500

  2191+ **                                                                                                       000000    1210600

  2192+D HTTP_POINT_UPLOAD_STATUS...                                                                             000000    1210700

  2193+D                 C                   2                                                                   000000    1210800

  2194+                                                                                                          000000    1210900

  2195+ ** Download status exit point:  This is called periodically during a                                     000000    1211000

  2196+ **                              download (POST or GET) from an HTTP(S)                                   000000    1211100

  2197+ **                              server.  Allows you to display the                                       000000    1211200

  2198+ **                              progress to the user.                                                    000000    1211300

  2199+ **                                                                                                       000000    1211400

  2200+ **  D download_proto  PR                                                                                 000000    1211500

  2201+ **  D   BytesRecv                   10U 0 value                                                          000000    1211600

  2202+ **  D   BytesTotal                  10U 0 value                                                          000000    1211700

  2203+ **                                                                                                       000000    1211800

  2204+D HTTP_POINT_DOWNLOAD_STATUS...                                                                           000000    1211900

  2205+D                 C                   3                                                                   000000    1212000

  2206+                                                                                                          000000    1212100

  2207+ ** Additional Header fields exit point:                                                                  000000    1212200

  2208+ **    Allows you to supply additional header data to be added                                            000000    1212300

  2209+ **    to the HTTP request chain.  Data should be in EBCDIC with                                          000000    1212400

  2210+ **    x'0d25' after each header record.                                                                  000000    1212500

  2211+ **                                                                                                       000000    1212600

  2212+ **  D addl_hdrs_prot  PR                                                                                 000000    1212700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     43

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2213+ **  D   HeaderData                1024A   varying                                                        000000    1212800

  2214+ **                                                                                                       000000    1212900

  2215+D HTTP_POINT_ADDL_HEADER...                                                                               081014    1213000

  2216+D                 C                   4                                                                   081014    1213100

  2217+                                                                                                          081014    1213200

  2218+ ** Header parse exit point:                                                                              000000    1213300

  2219+ **    Allows you to examine the HTTP response chain received                                             000000    1213400

  2220+ **    from the HTTP server.                                                                              000000    1213500

  2221+ **                                                                                                       000000    1213600

  2222+ **  D parse_hdr_prot  PR                                                                                 000000    1213700

  2223+ **  D   HeaderData                2048A   const                                                          000000    1213800

  2224+ **                                                                                                       000000    1213900

  2225+D HTTP_POINT_PARSE_HEADER...                                                                              000000    1214000

  2226+D                 C                   5                                                                   000000    1214100

  2227+                                                                                                          000000    1214200

  2228+ ** Header parse exit point:                                                                              000000    1214300

  2229+ **    Allows you to examine the HTTP response chain received                                             000000    1214400

  2230+ **    from the HTTP server. (allows longer headers)                                                      000000    1214500

  2231+ **                                                                                                       000000    1214600

  2232+ **  D parse_hdr_long  PR                                                                                 000000    1214700

  2233+ **  D   HeaderData               32767A   const varying                                                  000000    1214800

  2234+ **                                                                                                       000000    1214900

  2235+D HTTP_POINT_PARSE_HDR_LONG...                                                                            000000    1215000

  2236+D                 C                   6                                                                   000000    1215100

  2237+                                                                                                          071218    1215200

  2238+ ** SSL Certificate validation:                                                                           071218    1215300

  2239+ **    This will be called repeatedly for each field in each                                              071218    1215400

  2240+ **    certificate when parsed by HTTPAPI.                                                                071218    1215500

  2241+ **                                                                                                       071218    1215600

  2242+ **  D cert_valid      PR            10i 0                                                                071218    1215700

  2243+ **  D   usrdta                        *   value                                                          071218    1215800

  2244+ **  D   id                                like(CERT_DATA_ID) value                                       071218    1215900

  2245+ **  D   data                     32767a   varying const                                                  071218    1216000

  2246+ **  D   errmsg                      80a                                                                  071218    1216100

  2247+ **                                                                                                       071218    1216200

  2248+ **     id = certificate data id (see CERT_DATA_ID_T in GSKSSL_H)                                         071218    1216300

  2249+ **   data = certificate element data.  (For binary elements, this                                        071221    1216400

  2250+ **          is binary data. For others, it'll be EBCDIC data.)                                           071218    1216500

  2251+ ** errmsg = the callback can use this to return a reason why a                                           071218    1216600

  2252+ **          certificate wasn't valid.  (retrievable w/HTTP_error)                                        071218    1216700

  2253+ **                                                                                                       071218    1216800

  2254+ **  Return 0 if okay, -1 if you want to reject it.                                                       071218    1216900

  2255+ **                                                                                                       071218    1217000

  2256+D HTTP_POINT_CERT_VAL...                                                                                  071218    1217100

  2257+D                 C                   7                                                                   071218    1217200

  2258+                                                                                                          071218    1217300

  2259+ ** SSL Certificate validation (GSkit)                                                                    071221    1217400

  2260+ **    This sets the GSK_CERT_VALIDATION_CALLBACK callback proc                                           071218    1217500

  2261+ **    within GSKit.  The GSKit (not HTTPAPI) will call back                                              071218    1217600

  2262+ **    your procedure to validate a certificate.                                                          071218    1217700

  2263+ **                                                                                                       071218    1217800

  2264+ **    See the gsk_attribute_set_callback() API documentation                                             071218    1217900

  2265+ **    in the IBM Information Center for details.                                                         071218    1218000

  2266+ **                                                                                                       071218    1218100

  2267+ **    Note: The UserData parameter to http_xproc() will be                                               071218    1218200

  2268+ **          passed as the 3rd parameter to the                                                           071218    1218300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     44

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2269+ **          gsk_attribute_set_callback() API -- the peProc                                               071218    1218400

  2270+ **          parameter to http_xproc() is ignored for this                                                071218    1218500

  2271+ **          exit point.                                                                                  071218    1218600

  2272+ **                                                                                                       071218    1218700

  2273+D HTTP_POINT_GSKIT_CERT_VAL...                                                                            071218    1218800

  2274+D                 C                   8                                                                   071218    1218900

  2275+                                                                                                          000000    1219000

  2276+                                                                                                          000000    1219100

  2277+ *********************************************************************                                    000000    1219200

  2278+ * Directions for HTTP_xlate() and HTTP_xlatep()                                                          000000    1219300

  2279+ *********************************************************************                                    000000    1219400

  2280+D TO_ASCII        C                   '1'                                                                 000000    1219500

  2281+D TO_EBCDIC       C                   '2'                                                                 000000    1219600

  2282                                                                                                           091207     005100

  2283  /Define cpy_getPhonesByMem_Prototype                                                                     091207     005200

  2284  /copy Qrpglesrc,CB.Phones                                                                                091207     005300

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     4

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     4

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     4

        *--------------------------------------------------------------------------------------------*

  2285+ *-----------------------------------------------------------------------------*                          091207    4000100

  2286+ *-                                                                            *                          091207    4000200

  2287+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    4000300

  2288+ *-                                                                            *                          091207    4000400

  2289+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    4000500

  2290+ *-                                                                            *                          091207    4000600

  2291+ *-----------------------------------------------------------------------------*                          091207    4000700

  2292+ *-                                                                            *                          091207    4000800

  2293+ *-                  M O D I F I C A T I O N S                                 *                          091207    4000900

  2294+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    4001000

  2295+ *- Date       User ID    Task #     Description                               *                          091207    4001100

  2296+ *- ----       -------    --------   -----------                               *                          091207    4001200

  2297+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    4001300

  2298+ *                                                                             *                          091207    4001400

  2299+ *-----------------------------------------------------------------------------*                          091207    4001500

  2300+ *-- Prototypes                                                                                           091208    4001601

  2301+                                                                                                          091208    4001602

  2302+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    4001603

  2303+d getPhonesByMem  PR              *                                                                       091210    4001700

  2304+d   MemberNum                    7s 0 const                                                               091216    4001801

  2305+ /EndIf                                                                                                   091207    4001900

  2306+                                                                                                          091207    4002000

  2307+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    4002002

            LINES EXCLUDED: 2

  2308+ /EndIf                                                                                                   091207    4002006

  2309+ *                                                                                                        091207    4002200

  2310+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    4002202

            LINES EXCLUDED: 3

  2311+ /EndIf                                                                                                   091208    4002206

  2312+                                                                                                          091208    4002207

  2313+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    4002208

            LINES EXCLUDED: 2

  2314+ /EndIf                                                                                                   091208    4002214

  2315+                                                                                                          091208    4002215

  2316+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    4002216

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     45

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

            LINES EXCLUDED: 2

  2317+ /EndIf                                                                                                   091209    4002219

  2318+                                                                                                          091209    4002220

  2319+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    4002221

            LINES EXCLUDED: 4

  2320+ /EndIf                                                                                                   091208    4002226

  2321+ *                                                                                                        091208    4002227

  2322+ *-- Data Structures                                                                                      091208    4002228

  2323+                                                                                                          091208    4002229

  2324+ /If Defined (cpy_WebServices_Ds)                                                                         091210    4002230

            LINES EXCLUDED: 24

  2325+ /EndIf                                                                                                   100104    4002267

  2326+                                                                                                          100104    4002268

  2327+ *-- Outputs                                                                                              091208    4002286

  2328+                                                                                                          091208    4002287

  2329+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    4002503

            LINES EXCLUDED: 10

  2330+ /EndIf                                                                                                   091207    4002600

  2331+                                                                                                          091207    4002601

  2332+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    4002700

            LINES EXCLUDED: 12

  2333+ /EndIf                                                                                                   091207    4003500

  2334+                                                                                                          091207    4003501

  2335+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    4003502

            LINES EXCLUDED: 10

  2336+ /EndIf                                                                                                   091208    4003519

  2337+                                                                                                          091208    4003520

  2338+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    4003521

            LINES EXCLUDED: 9

  2339+ /EndIf                                                                                                   091209    4003541

  2340+                                                                                                          091209    4003542

  2341+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    4003543

            LINES EXCLUDED: 11

  2342+ /EndIf                                                                                                   091209    4003555

  2343+                                                                                                          091209    4003556

  2344+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    4003557

            LINES EXCLUDED: 10

  2345+ /EndIf                                                                                                   091209    4003569

  2346+                                                                                                          091209    4003570

  2347+ *-- Procedure Interfaces                                                                                 091208    4003600

  2348+                                                                                                          091208    4003601

  2349+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    4003602

            LINES EXCLUDED: 2

  2350+ /EndIf                                                                                                   091207    4003900

  2351+                                                                                                          091207    4004000

  2352+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    4004200

            LINES EXCLUDED: 2

  2353+ /EndIf                                                                                                   091207    4004600

  2354+                                                                                                          091208    4004700

  2355+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    4004800

            LINES EXCLUDED: 3

  2356+ /EndIf                                                                                                   091208    4005200

  2357+                                                                                                          091208    4005202

  2358+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    4005203

            LINES EXCLUDED: 2

  2359+ /EndIf                                                                                                   091208    4005209

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     46

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2360+                                                                                                          091208    4005210

  2361+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    4005211

            LINES EXCLUDED: 2

  2362+ /EndIf                                                                                                   091209    4005214

  2363+                                                                                                          091209    4005215

  2364+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    4005216

            LINES EXCLUDED: 4

  2365+ /EndIf                                                                                                   091208    4005221

  2366+                                                                                                          091208    4005300

  2367  /Undefine cpy_getPhonesByMem_Prototype                                                                   091207     005400

  2368                                                                                                           091207     005500

  2369  /Define cpy_getAllPhByMem_Prototype                                                                      091207     005600

  2370  /copy Qrpglesrc,CB.Phones                                                                                091207     005700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     5

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     5

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     5

        *--------------------------------------------------------------------------------------------*

  2371+ *-----------------------------------------------------------------------------*                          091207    5000100

  2372+ *-                                                                            *                          091207    5000200

  2373+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    5000300

  2374+ *-                                                                            *                          091207    5000400

  2375+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    5000500

  2376+ *-                                                                            *                          091207    5000600

  2377+ *-----------------------------------------------------------------------------*                          091207    5000700

  2378+ *-                                                                            *                          091207    5000800

  2379+ *-                  M O D I F I C A T I O N S                                 *                          091207    5000900

  2380+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    5001000

  2381+ *- Date       User ID    Task #     Description                               *                          091207    5001100

  2382+ *- ----       -------    --------   -----------                               *                          091207    5001200

  2383+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    5001300

  2384+ *                                                                             *                          091207    5001400

  2385+ *-----------------------------------------------------------------------------*                          091207    5001500

  2386+ *-- Prototypes                                                                                           091208    5001601

  2387+                                                                                                          091208    5001602

  2388+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    5001603

            LINES EXCLUDED: 2

  2389+ /EndIf                                                                                                   091207    5001900

  2390+                                                                                                          091207    5002000

  2391+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    5002002

  2392+d GetAllPhByMem   PR              *                                                                       091207    5002003

  2393+d   MemberNum                    7s 0 const                                                               091216    5002004

  2394+ /EndIf                                                                                                   091207    5002006

  2395+ *                                                                                                        091207    5002200

  2396+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    5002202

            LINES EXCLUDED: 3

  2397+ /EndIf                                                                                                   091208    5002206

  2398+                                                                                                          091208    5002207

  2399+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    5002208

            LINES EXCLUDED: 2

  2400+ /EndIf                                                                                                   091208    5002214

  2401+                                                                                                          091208    5002215

  2402+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    5002216

            LINES EXCLUDED: 2

  2403+ /EndIf                                                                                                   091209    5002219

  2404+                                                                                                          091209    5002220

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     47

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2405+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    5002221

            LINES EXCLUDED: 4

  2406+ /EndIf                                                                                                   091208    5002226

  2407+ *                                                                                                        091208    5002227

  2408+ *-- Data Structures                                                                                      091208    5002228

  2409+                                                                                                          091208    5002229

  2410+ /If Defined (cpy_WebServices_Ds)                                                                         091210    5002230

            LINES EXCLUDED: 24

  2411+ /EndIf                                                                                                   100104    5002267

  2412+                                                                                                          100104    5002268

  2413+ *-- Outputs                                                                                              091208    5002286

  2414+                                                                                                          091208    5002287

  2415+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    5002503

            LINES EXCLUDED: 10

  2416+ /EndIf                                                                                                   091207    5002600

  2417+                                                                                                          091207    5002601

  2418+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    5002700

            LINES EXCLUDED: 12

  2419+ /EndIf                                                                                                   091207    5003500

  2420+                                                                                                          091207    5003501

  2421+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    5003502

            LINES EXCLUDED: 10

  2422+ /EndIf                                                                                                   091208    5003519

  2423+                                                                                                          091208    5003520

  2424+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    5003521

            LINES EXCLUDED: 9

  2425+ /EndIf                                                                                                   091209    5003541

  2426+                                                                                                          091209    5003542

  2427+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    5003543

            LINES EXCLUDED: 11

  2428+ /EndIf                                                                                                   091209    5003555

  2429+                                                                                                          091209    5003556

  2430+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    5003557

            LINES EXCLUDED: 10

  2431+ /EndIf                                                                                                   091209    5003569

  2432+                                                                                                          091209    5003570

  2433+ *-- Procedure Interfaces                                                                                 091208    5003600

  2434+                                                                                                          091208    5003601

  2435+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    5003602

            LINES EXCLUDED: 2

  2436+ /EndIf                                                                                                   091207    5003900

  2437+                                                                                                          091207    5004000

  2438+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    5004200

            LINES EXCLUDED: 2

  2439+ /EndIf                                                                                                   091207    5004600

  2440+                                                                                                          091208    5004700

  2441+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    5004800

            LINES EXCLUDED: 3

  2442+ /EndIf                                                                                                   091208    5005200

  2443+                                                                                                          091208    5005202

  2444+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    5005203

            LINES EXCLUDED: 2

  2445+ /EndIf                                                                                                   091208    5005209

  2446+                                                                                                          091208    5005210

  2447+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    5005211

            LINES EXCLUDED: 2

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     48

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2448+ /EndIf                                                                                                   091209    5005214

  2449+                                                                                                          091209    5005215

  2450+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    5005216

            LINES EXCLUDED: 4

  2451+ /EndIf                                                                                                   091208    5005221

  2452+                                                                                                          091208    5005300

  2453  /Undefine cpy_getAllPhByMem_Prototype                                                                    091207     005800

  2454                                                                                                           091207     005900

  2455  /Define cpy_getPhoneByType_Prototype                                                                     091208     006000

  2456  /copy Qrpglesrc,CB.Phones                                                                                091208     006100

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     6

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     6

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     6

        *--------------------------------------------------------------------------------------------*

  2457+ *-----------------------------------------------------------------------------*                          091207    6000100

  2458+ *-                                                                            *                          091207    6000200

  2459+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    6000300

  2460+ *-                                                                            *                          091207    6000400

  2461+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    6000500

  2462+ *-                                                                            *                          091207    6000600

  2463+ *-----------------------------------------------------------------------------*                          091207    6000700

  2464+ *-                                                                            *                          091207    6000800

  2465+ *-                  M O D I F I C A T I O N S                                 *                          091207    6000900

  2466+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    6001000

  2467+ *- Date       User ID    Task #     Description                               *                          091207    6001100

  2468+ *- ----       -------    --------   -----------                               *                          091207    6001200

  2469+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    6001300

  2470+ *                                                                             *                          091207    6001400

  2471+ *-----------------------------------------------------------------------------*                          091207    6001500

  2472+ *-- Prototypes                                                                                           091208    6001601

  2473+                                                                                                          091208    6001602

  2474+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    6001603

            LINES EXCLUDED: 2

  2475+ /EndIf                                                                                                   091207    6001900

  2476+                                                                                                          091207    6002000

  2477+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    6002002

            LINES EXCLUDED: 2

  2478+ /EndIf                                                                                                   091207    6002006

  2479+ *                                                                                                        091207    6002200

  2480+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    6002202

  2481+d getPhoneByType  PR              *                                                                       091210    6002203

  2482+d   MemberNum                    7s 0 const                                                               091216    6002204

  2483+d   PhoneType                    4a   const                                                               091208    6002205

  2484+ /EndIf                                                                                                   091208    6002206

  2485+                                                                                                          091208    6002207

  2486+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    6002208

            LINES EXCLUDED: 2

  2487+ /EndIf                                                                                                   091208    6002214

  2488+                                                                                                          091208    6002215

  2489+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    6002216

            LINES EXCLUDED: 2

  2490+ /EndIf                                                                                                   091209    6002219

  2491+                                                                                                          091209    6002220

  2492+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    6002221

            LINES EXCLUDED: 4

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     49

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2493+ /EndIf                                                                                                   091208    6002226

  2494+ *                                                                                                        091208    6002227

  2495+ *-- Data Structures                                                                                      091208    6002228

  2496+                                                                                                          091208    6002229

  2497+ /If Defined (cpy_WebServices_Ds)                                                                         091210    6002230

            LINES EXCLUDED: 24

  2498+ /EndIf                                                                                                   100104    6002267

  2499+                                                                                                          100104    6002268

  2500+ *-- Outputs                                                                                              091208    6002286

  2501+                                                                                                          091208    6002287

  2502+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    6002503

            LINES EXCLUDED: 10

  2503+ /EndIf                                                                                                   091207    6002600

  2504+                                                                                                          091207    6002601

  2505+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    6002700

            LINES EXCLUDED: 12

  2506+ /EndIf                                                                                                   091207    6003500

  2507+                                                                                                          091207    6003501

  2508+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    6003502

            LINES EXCLUDED: 10

  2509+ /EndIf                                                                                                   091208    6003519

  2510+                                                                                                          091208    6003520

  2511+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    6003521

            LINES EXCLUDED: 9

  2512+ /EndIf                                                                                                   091209    6003541

  2513+                                                                                                          091209    6003542

  2514+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    6003543

            LINES EXCLUDED: 11

  2515+ /EndIf                                                                                                   091209    6003555

  2516+                                                                                                          091209    6003556

  2517+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    6003557

            LINES EXCLUDED: 10

  2518+ /EndIf                                                                                                   091209    6003569

  2519+                                                                                                          091209    6003570

  2520+ *-- Procedure Interfaces                                                                                 091208    6003600

  2521+                                                                                                          091208    6003601

  2522+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    6003602

            LINES EXCLUDED: 2

  2523+ /EndIf                                                                                                   091207    6003900

  2524+                                                                                                          091207    6004000

  2525+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    6004200

            LINES EXCLUDED: 2

  2526+ /EndIf                                                                                                   091207    6004600

  2527+                                                                                                          091208    6004700

  2528+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    6004800

            LINES EXCLUDED: 3

  2529+ /EndIf                                                                                                   091208    6005200

  2530+                                                                                                          091208    6005202

  2531+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    6005203

            LINES EXCLUDED: 2

  2532+ /EndIf                                                                                                   091208    6005209

  2533+                                                                                                          091208    6005210

  2534+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    6005211

            LINES EXCLUDED: 2

  2535+ /EndIf                                                                                                   091209    6005214

  2536+                                                                                                          091209    6005215

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     50

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2537+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    6005216

            LINES EXCLUDED: 4

  2538+ /EndIf                                                                                                   091208    6005221

  2539+                                                                                                          091208    6005300

  2540  /Undefine cpy_getPhoneByType_Prototype                                                                   091208     006200

  2541                                                                                                           091208     006300

  2542  /Define cpy_getPhoneCount_Prototype                                                                      091208     006400

  2543  /copy Qrpglesrc,CB.Phones                                                                                091208     006500

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     7

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     7

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     7

        *--------------------------------------------------------------------------------------------*

  2544+ *-----------------------------------------------------------------------------*                          091207    7000100

  2545+ *-                                                                            *                          091207    7000200

  2546+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    7000300

  2547+ *-                                                                            *                          091207    7000400

  2548+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    7000500

  2549+ *-                                                                            *                          091207    7000600

  2550+ *-----------------------------------------------------------------------------*                          091207    7000700

  2551+ *-                                                                            *                          091207    7000800

  2552+ *-                  M O D I F I C A T I O N S                                 *                          091207    7000900

  2553+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    7001000

  2554+ *- Date       User ID    Task #     Description                               *                          091207    7001100

  2555+ *- ----       -------    --------   -----------                               *                          091207    7001200

  2556+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    7001300

  2557+ *                                                                             *                          091207    7001400

  2558+ *-----------------------------------------------------------------------------*                          091207    7001500

  2559+ *-- Prototypes                                                                                           091208    7001601

  2560+                                                                                                          091208    7001602

  2561+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    7001603

            LINES EXCLUDED: 2

  2562+ /EndIf                                                                                                   091207    7001900

  2563+                                                                                                          091207    7002000

  2564+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    7002002

            LINES EXCLUDED: 2

  2565+ /EndIf                                                                                                   091207    7002006

  2566+ *                                                                                                        091207    7002200

  2567+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    7002202

            LINES EXCLUDED: 3

  2568+ /EndIf                                                                                                   091208    7002206

  2569+                                                                                                          091208    7002207

  2570+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    7002208

  2571+d getPhoneCount   PR              *                                                                       091210    7002209

  2572+d   MemberNum                    7s 0 const                                                               091216    7002210

  2573+ /EndIf                                                                                                   091208    7002214

  2574+                                                                                                          091208    7002215

  2575+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    7002216

            LINES EXCLUDED: 2

  2576+ /EndIf                                                                                                   091209    7002219

  2577+                                                                                                          091209    7002220

  2578+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    7002221

            LINES EXCLUDED: 4

  2579+ /EndIf                                                                                                   091208    7002226

  2580+ *                                                                                                        091208    7002227

  2581+ *-- Data Structures                                                                                      091208    7002228

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     51

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2582+                                                                                                          091208    7002229

  2583+ /If Defined (cpy_WebServices_Ds)                                                                         091210    7002230

            LINES EXCLUDED: 24

  2584+ /EndIf                                                                                                   100104    7002267

  2585+                                                                                                          100104    7002268

  2586+ *-- Outputs                                                                                              091208    7002286

  2587+                                                                                                          091208    7002287

  2588+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    7002503

            LINES EXCLUDED: 10

  2589+ /EndIf                                                                                                   091207    7002600

  2590+                                                                                                          091207    7002601

  2591+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    7002700

            LINES EXCLUDED: 12

  2592+ /EndIf                                                                                                   091207    7003500

  2593+                                                                                                          091207    7003501

  2594+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    7003502

            LINES EXCLUDED: 10

  2595+ /EndIf                                                                                                   091208    7003519

  2596+                                                                                                          091208    7003520

  2597+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    7003521

            LINES EXCLUDED: 9

  2598+ /EndIf                                                                                                   091209    7003541

  2599+                                                                                                          091209    7003542

  2600+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    7003543

            LINES EXCLUDED: 11

  2601+ /EndIf                                                                                                   091209    7003555

  2602+                                                                                                          091209    7003556

  2603+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    7003557

            LINES EXCLUDED: 10

  2604+ /EndIf                                                                                                   091209    7003569

  2605+                                                                                                          091209    7003570

  2606+ *-- Procedure Interfaces                                                                                 091208    7003600

  2607+                                                                                                          091208    7003601

  2608+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    7003602

            LINES EXCLUDED: 2

  2609+ /EndIf                                                                                                   091207    7003900

  2610+                                                                                                          091207    7004000

  2611+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    7004200

            LINES EXCLUDED: 2

  2612+ /EndIf                                                                                                   091207    7004600

  2613+                                                                                                          091208    7004700

  2614+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    7004800

            LINES EXCLUDED: 3

  2615+ /EndIf                                                                                                   091208    7005200

  2616+                                                                                                          091208    7005202

  2617+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    7005203

            LINES EXCLUDED: 2

  2618+ /EndIf                                                                                                   091208    7005209

  2619+                                                                                                          091208    7005210

  2620+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    7005211

            LINES EXCLUDED: 2

  2621+ /EndIf                                                                                                   091209    7005214

  2622+                                                                                                          091209    7005215

  2623+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    7005216

            LINES EXCLUDED: 4

  2624+ /EndIf                                                                                                   091208    7005221

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     52

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2625+                                                                                                          091208    7005300

  2626  /Undefine cpy_getPhoneCount_Prototype                                                                    091208     006600

  2627                                                                                                           091208     006700

  2628  /Define cpy_getAllPhCount_Prototype                                                                      091209     006800

  2629  /copy Qrpglesrc,CB.Phones                                                                                091209     006900

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     8

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     8

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     8

        *--------------------------------------------------------------------------------------------*

  2630+ *-----------------------------------------------------------------------------*                          091207    8000100

  2631+ *-                                                                            *                          091207    8000200

  2632+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    8000300

  2633+ *-                                                                            *                          091207    8000400

  2634+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    8000500

  2635+ *-                                                                            *                          091207    8000600

  2636+ *-----------------------------------------------------------------------------*                          091207    8000700

  2637+ *-                                                                            *                          091207    8000800

  2638+ *-                  M O D I F I C A T I O N S                                 *                          091207    8000900

  2639+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    8001000

  2640+ *- Date       User ID    Task #     Description                               *                          091207    8001100

  2641+ *- ----       -------    --------   -----------                               *                          091207    8001200

  2642+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    8001300

  2643+ *                                                                             *                          091207    8001400

  2644+ *-----------------------------------------------------------------------------*                          091207    8001500

  2645+ *-- Prototypes                                                                                           091208    8001601

  2646+                                                                                                          091208    8001602

  2647+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    8001603

            LINES EXCLUDED: 2

  2648+ /EndIf                                                                                                   091207    8001900

  2649+                                                                                                          091207    8002000

  2650+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    8002002

            LINES EXCLUDED: 2

  2651+ /EndIf                                                                                                   091207    8002006

  2652+ *                                                                                                        091207    8002200

  2653+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    8002202

            LINES EXCLUDED: 3

  2654+ /EndIf                                                                                                   091208    8002206

  2655+                                                                                                          091208    8002207

  2656+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    8002208

            LINES EXCLUDED: 2

  2657+ /EndIf                                                                                                   091208    8002214

  2658+                                                                                                          091208    8002215

  2659+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    8002216

  2660+d getAllPhCount   PR              *                                                                       091209    8002217

  2661+d   MemberNum                    7s 0 const                                                               091216    8002218

  2662+ /EndIf                                                                                                   091209    8002219

  2663+                                                                                                          091209    8002220

  2664+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    8002221

            LINES EXCLUDED: 4

  2665+ /EndIf                                                                                                   091208    8002226

  2666+ *                                                                                                        091208    8002227

  2667+ *-- Data Structures                                                                                      091208    8002228

  2668+                                                                                                          091208    8002229

  2669+ /If Defined (cpy_WebServices_Ds)                                                                         091210    8002230

            LINES EXCLUDED: 24

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     53

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2670+ /EndIf                                                                                                   100104    8002267

  2671+                                                                                                          100104    8002268

  2672+ *-- Outputs                                                                                              091208    8002286

  2673+                                                                                                          091208    8002287

  2674+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    8002503

            LINES EXCLUDED: 10

  2675+ /EndIf                                                                                                   091207    8002600

  2676+                                                                                                          091207    8002601

  2677+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    8002700

            LINES EXCLUDED: 12

  2678+ /EndIf                                                                                                   091207    8003500

  2679+                                                                                                          091207    8003501

  2680+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    8003502

            LINES EXCLUDED: 10

  2681+ /EndIf                                                                                                   091208    8003519

  2682+                                                                                                          091208    8003520

  2683+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    8003521

            LINES EXCLUDED: 9

  2684+ /EndIf                                                                                                   091209    8003541

  2685+                                                                                                          091209    8003542

  2686+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    8003543

            LINES EXCLUDED: 11

  2687+ /EndIf                                                                                                   091209    8003555

  2688+                                                                                                          091209    8003556

  2689+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    8003557

            LINES EXCLUDED: 10

  2690+ /EndIf                                                                                                   091209    8003569

  2691+                                                                                                          091209    8003570

  2692+ *-- Procedure Interfaces                                                                                 091208    8003600

  2693+                                                                                                          091208    8003601

  2694+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    8003602

            LINES EXCLUDED: 2

  2695+ /EndIf                                                                                                   091207    8003900

  2696+                                                                                                          091207    8004000

  2697+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    8004200

            LINES EXCLUDED: 2

  2698+ /EndIf                                                                                                   091207    8004600

  2699+                                                                                                          091208    8004700

  2700+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    8004800

            LINES EXCLUDED: 3

  2701+ /EndIf                                                                                                   091208    8005200

  2702+                                                                                                          091208    8005202

  2703+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    8005203

            LINES EXCLUDED: 2

  2704+ /EndIf                                                                                                   091208    8005209

  2705+                                                                                                          091208    8005210

  2706+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    8005211

            LINES EXCLUDED: 2

  2707+ /EndIf                                                                                                   091209    8005214

  2708+                                                                                                          091209    8005215

  2709+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    8005216

            LINES EXCLUDED: 4

  2710+ /EndIf                                                                                                   091208    8005221

  2711+                                                                                                          091208    8005300

  2712  /Undefine cpy_getAllPhCount_Prototype                                                                    091209     007000

  2713                                                                                                           091209     007100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     54

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2714  /Define cpy_getMemByPhone_Prototype                                                                      091208     007200

  2715  /copy Qrpglesrc,CB.Phones                                                                                091208     007300

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                     9

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                     9

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                     9

        *--------------------------------------------------------------------------------------------*

  2716+ *-----------------------------------------------------------------------------*                          091207    9000100

  2717+ *-                                                                            *                          091207    9000200

  2718+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219    9000300

  2719+ *-                                                                            *                          091207    9000400

  2720+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207    9000500

  2721+ *-                                                                            *                          091207    9000600

  2722+ *-----------------------------------------------------------------------------*                          091207    9000700

  2723+ *-                                                                            *                          091207    9000800

  2724+ *-                  M O D I F I C A T I O N S                                 *                          091207    9000900

  2725+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207    9001000

  2726+ *- Date       User ID    Task #     Description                               *                          091207    9001100

  2727+ *- ----       -------    --------   -----------                               *                          091207    9001200

  2728+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207    9001300

  2729+ *                                                                             *                          091207    9001400

  2730+ *-----------------------------------------------------------------------------*                          091207    9001500

  2731+ *-- Prototypes                                                                                           091208    9001601

  2732+                                                                                                          091208    9001602

  2733+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207    9001603

            LINES EXCLUDED: 2

  2734+ /EndIf                                                                                                   091207    9001900

  2735+                                                                                                          091207    9002000

  2736+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207    9002002

            LINES EXCLUDED: 2

  2737+ /EndIf                                                                                                   091207    9002006

  2738+ *                                                                                                        091207    9002200

  2739+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208    9002202

            LINES EXCLUDED: 3

  2740+ /EndIf                                                                                                   091208    9002206

  2741+                                                                                                          091208    9002207

  2742+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208    9002208

            LINES EXCLUDED: 2

  2743+ /EndIf                                                                                                   091208    9002214

  2744+                                                                                                          091208    9002215

  2745+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209    9002216

            LINES EXCLUDED: 2

  2746+ /EndIf                                                                                                   091209    9002219

  2747+                                                                                                          091209    9002220

  2748+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208    9002221

  2749+d getMemByPhone   PR              *                                                                       091210    9002222

  2750+d   CountryCode                  6A   const                                                               091208    9002223

  2751+d   CityCode                     6A   const                                                               091208    9002224

  2752+d   PhoneNumber                 10A   const                                                               091208    9002225

  2753+ /EndIf                                                                                                   091208    9002226

  2754+ *                                                                                                        091208    9002227

  2755+ *-- Data Structures                                                                                      091208    9002228

  2756+                                                                                                          091208    9002229

  2757+ /If Defined (cpy_WebServices_Ds)                                                                         091210    9002230

            LINES EXCLUDED: 24

  2758+ /EndIf                                                                                                   100104    9002267

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     55

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2759+                                                                                                          100104    9002268

  2760+ *-- Outputs                                                                                              091208    9002286

  2761+                                                                                                          091208    9002287

  2762+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207    9002503

            LINES EXCLUDED: 10

  2763+ /EndIf                                                                                                   091207    9002600

  2764+                                                                                                          091207    9002601

  2765+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207    9002700

            LINES EXCLUDED: 12

  2766+ /EndIf                                                                                                   091207    9003500

  2767+                                                                                                          091207    9003501

  2768+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208    9003502

            LINES EXCLUDED: 10

  2769+ /EndIf                                                                                                   091208    9003519

  2770+                                                                                                          091208    9003520

  2771+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211    9003521

            LINES EXCLUDED: 9

  2772+ /EndIf                                                                                                   091209    9003541

  2773+                                                                                                          091209    9003542

  2774+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209    9003543

            LINES EXCLUDED: 11

  2775+ /EndIf                                                                                                   091209    9003555

  2776+                                                                                                          091209    9003556

  2777+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209    9003557

            LINES EXCLUDED: 10

  2778+ /EndIf                                                                                                   091209    9003569

  2779+                                                                                                          091209    9003570

  2780+ *-- Procedure Interfaces                                                                                 091208    9003600

  2781+                                                                                                          091208    9003601

  2782+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207    9003602

            LINES EXCLUDED: 2

  2783+ /EndIf                                                                                                   091207    9003900

  2784+                                                                                                          091207    9004000

  2785+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207    9004200

            LINES EXCLUDED: 2

  2786+ /EndIf                                                                                                   091207    9004600

  2787+                                                                                                          091208    9004700

  2788+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208    9004800

            LINES EXCLUDED: 3

  2789+ /EndIf                                                                                                   091208    9005200

  2790+                                                                                                          091208    9005202

  2791+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208    9005203

            LINES EXCLUDED: 2

  2792+ /EndIf                                                                                                   091208    9005209

  2793+                                                                                                          091208    9005210

  2794+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209    9005211

            LINES EXCLUDED: 2

  2795+ /EndIf                                                                                                   091209    9005214

  2796+                                                                                                          091209    9005215

  2797+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208    9005216

            LINES EXCLUDED: 4

  2798+ /EndIf                                                                                                   091208    9005221

  2799+                                                                                                          091208    9005300

  2800  /Undefine cpy_getMemByPhone_Prototype                                                                    091208     007400

  2801                                                                                                           091208     007500

  2802  /Define   GetChanId_Pr                                                                             002T  100217     007600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     56

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2803  /Define   GetChanId_Flds                                                                           002T  100217     007700

  2804  /Copy *LibL/QRPGLESRC,GetChanIdP                                                                   002T  100217     007800

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  GETCHANIDP                                                   *                    10

        * External name  . . . . . . :  IILIB/QRPGLESRC(GETCHANIDP)                                  *                    10

        * Last change  . . . . . . . :  11/15/07  10:43:33                                           *                    10

        * Text 'description' . . . . :  Get Channel Id - copy book                                   *                    10

        *--------------------------------------------------------------------------------------------*

  2805+ **********************************************************************                                   071029   10000100

  2806+ *                                                                    *                                   071029   10000200

  2807+ *  Copy Book   :  GetChanIdP                                         *                                   071029   10000300

  2808+ *  Application :  Exchange                                           *                                   071029   10000400

  2809+ *  Description :  Prototypes and Interface information for           *                                   071029   10000500

  2810+ *                 procedure to retrieve the processing channel       *                                   071029   10000600

  2811+ *                 which a user belongs to.                           *                                   071029   10000700

  2812+ **********************************************************************                                   071029   10000900

  2813+ **********************************************************************                                   071029   10001000

  2814+ *  Modification History                                              *                                   071029   10001100

  2815+ *                                                                    *                                   071029   10001200

  2816+ *  Date     User ID   Task #    Description                          *                                   071029   10001300

  2817+ *____________________________________________________________________*                                   071029   10001400

  2818+ * 10/29/07 IBlachard  IIPR002T  Copy Book Created                    *                                   071029   10001500

  2819+ **********************************************************************                                   071029   10001600

  2820+ /If Defined ( GetChanId_Pr )                                                                             071029   10001700

  2821+D GetChanId       PR             6A                                                                       071029   10001800

  2822+ /EndIf                                                                                                   071029   10001900

  2823+                                                                                                          071029   10002000

  2824+ /If Defined ( GetChanId_PI )                                                                             071029   10002100

            LINES EXCLUDED: 1

  2825+ /EndIf                                                                                                   071029   10002300

  2826+                                                                                                          071029   10002400

  2827+ /If Defined ( GetChanId_Flds )                                                                           071029   10002500

  2828+D UserId                        10a   Options(*NoPass)                                                    071029   10002600

  2829+ /EndIf                                                                                                   071029   10003000

  2830+                                                                                                          071029   10003100

  2831  /UnDefine GetChanId_Pr                                                                             002T  100217     007900

  2832  /UnDefine GetChanId_Flds                                                                           002T  100217     008000

  2833                                                                                                           100217     008100

  2834 D SndRcvErr       pr             1a                                                                       100202     008200

  2835 D  MsgID                         7a   Const                                                               100202     008300

  2836 D  PgmMsgQ                      10a   Const                                                               100202     008400

  2837 D  MsgDta                       20a   Const Options(*Varsize : *Nopass)                                   100202     008500

  2838 D  MsgDtaLen                     9b 0 Const Options(*Nopass)                                              100202     008600

  2839                                                                                                           100202     008700

  2840 D getActiveFlg    pr             1a                                                                       100203     008800

  2841 D   pService                    15a   Const                                                               100203     008900

  2842                                                                                                           100203     009000

  2843 D wrtWSLogs       pr                                                                                      100203     009100

  2844 D   pService                    15a   Const                                                               100203     009200

  2845 D   pJobN                       10a   Const                                                               100203     009300

  2846 D   pUser                       10a   Const                                                               100203     009400

  2847 D   pJob#                        6s 0 Const                                                               100203     009500

  2848 D   pCpgm                       10a   Const                                                               100205     009600

  2849 D   pMember                      7s 0 Const                                                               100203     009700

  2850 D   pContact                    10s 0 Const                                                               100216     009800

  2851 D   pErrorId                     7a   Const                                                               100203     009900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     57

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2852 D   pErrMsg                    132a   Const                                                               100204     010000

  2853 D   pSOAP                    32767a   varying                                                             100203     010100

  2854 D   pSOAP2                   32767a   varying                                                             100203     010200

  2855                                                                                                           100203     010300

  2856 d MapXmlData      PR                                                                                      091208     010400

  2857 d   xml_data                    52A   varying                                                             091204     010500

  2858 d   depth                       10I 0 value                                                               091204     010600

  2859 d   name                      1024A   varying const                                                       091204     010700

  2860 d   path                     24576A   varying const                                                       091204     010800

  2861 d   value                    65535A   varying const                                                       091204     010900

  2862 d   attrs                         *   dim(32767)                                                          091204     011000

  2863 d                                     const options(*varsize)                                             091204     011100

  2864                                                                                                           091204     011200

  2865 D Add_SOAPACTION  PR                                                                                      091208     011300

  2866 D   Header                    1024A   varying                                                             091204     011400

  2867 D   UserData                      *   value                                                               091204     011500

  2868                                                                                                           091204     011600

  2869 d GetValue        PR          1950                                                                        091204     011700

  2870 d  CodeType                           like(fn_codetp) const                                               091204     011800

  2871 d  Code                               like(fn_code) const                                                 091204     011900

  2872                                                                                                           091204     012000

  2873 d SetSOAPPhByMem  PR                                                                                      100317     012100

  2874 d   MemberNum                   10a   const                                                               091204     012200

  2875                                                                                                           091204     012300

  2876 d SetSOAPMemByPh  PR                                                                                      100317     012400

  2877 d   CountryCode                  6a   const                                                               100317     012500

  2878 d   CityCode                     6a   const                                                               100317     012600

  2879 d   PhoneNumber                 10a   const                                                               100317     012700

  2880                                                                                                           100317     012800

  2881 d VARYINGDATAOFFSET...                                                                                    091204     012900

  2882 d                 c                   const(2)                                                            091204     013000

  2883 d SOAP            s          32767a   varying                                                             091204     013100

  2884 d ZOAP            s          32767a   varying                                                             100215     013200

  2885 d SOAP2           s          32767a   varying                                                             100208     013300

  2886 d xml_value       s             50a   varying                                                             091204     013400

  2887 d wait            s              1a                                                                       091204     013500

  2888 d valid           s              1a                                                                       091204     013600

  2889 d error           s              1n                                                                       091204     013700

  2890 d rc              s             10i 0                                                                     091204     013800

  2891 d svdepth         s             10I 0                                                                     100216     013900

  2892 d s               s              5s 0                                                                     091204     014000

  2893 d e               s              5s 0                                                                     091204     014100

  2894 d phoneCount      s              5s 0                                                                     091208     014200

  2895 d var_pos         s              5s 0                                                                     091208     014300

  2896 d Member_num      s              7a                                                                       091216     014400

  2897 d mem_num         s              7s 0                                                                     091216     014500

  2898 d var_name        s             50a                                                                       091204     014600

  2899 d path_pos        s              5s 0                                                                     091204     014700

  2900 d path_name       s             50a                                                                       091204     014800

  2901 d Ep              s             80a                                                                       091204     014900

  2902 d XMLMemSumDir    s             80a                                                                       091204     015000

  2903 d XMLAtt          s            100a   dim(500)                                                            100208     015100

  2904 D #c              S              5S 0 inz(0)                                                              091204     015200

  2905 D #m              S              5S 0 inz(0)                                                              100326     015300

  2906 D #n              S              5S 0 inz(0)                                                              100330     015400

  2907 D #e              S              5S 0 inz(0)                                                              091204     015500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     58

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2908 D #o              S              5S 0 inz(0)                                                              091204     015600

  2909 D @i              s              5s 0 inz(0)                                                              100208     015700

  2910 d MemNum          s              7a   dim(99)                                                             100330     015800

  2911 D indate          S             35a   inz                                                                 091204     015900

  2912 d TrueFalse       s              5a   inz                                                                 100209     016000

  2913 d SoapBy          s             17a   inz                                                                 091204     016100

  2914 d SoapReq         s             22a   inz                                                                 091204     016200

  2915 d SoapAct         s             10a   inz                                                                 091208     016300

  2916 d sTS             s             21a   inz                                                                 100216     016400

  2917 d sTG             s             13a   inz                                                                 100216     016500

  2918 d sCH             s              6a   inz                                                                 100217     016600

  2919 d Procedure       s             15a   inz('               ')                                              100203     016700

  2920 d PrimaryMember   s              5a   inz                                                                 091208     016800

  2921 d wContact        s             10s 0 inz                                                                 100216     016900

  2922 d wMember         s              7s 0 inz                                                                 091207     017000

  2923 d ref_code        s              3a   inz                                                                 100329     017100

  2924 d active          s              1    inz                                                                 100203     017200

  2925 d retcod          s              1    inz                                                                 100202     017300

  2926 d pos             s              5s 0 inz                                                                 100208     017400

  2927 d lastpos         s              5s 0 inz                                                                 100208     017500

  2928 d dbFilename      s            500A   varying                                                             100203     017600

  2929 d att1            s            256a                                                                       100211     017700

  2930 d att2            s            256a                                                                       100211     017800

  2931 d att3            s            256a                                                                       100211     017900

  2932 d att4            s            256a                                                                       100211     018000

  2933 d Error_elem      s              5s 0 inz                                                                 100210     018100

  2934 d primary_elem    s              5s 0 inz                                                                 100210     018200

  2935 d MemberNum       s              7s 0                                                                     100317     018300

  2936 d CountryCode     s              6a                                                                       100317     018400

  2937 d CityCode        s              6a                                                                       100317     018500

  2938 d PhoneNumber     s             10a                                                                       100317     018600

  2939 d Quote           c                   x'7D'                                                               091204     018700

  2940 d SoapByMember    c                   'MembershipNumber>'                                                 091204     018800

  2941                                                                                                           091210     018900

  2942 dD@PhoneOut     e ds                  ExtName(Ds@Mbftel) qualified                                        100407     019000

  2943 d                                     occurs(12)                                                          091210     019100

        *--------------------------------------------------------------------------------------------*                    11

        * Data structure . . . . . . :  D@PHONEOUT                                                   *                    11

        * External format  . . . . . :  MBRTEL : FILELIB/DS@MBFTEL                                   *                    11

        * Format text  . . . . . . . :  Membership Telephone File                                    *                    11

        *--------------------------------------------------------------------------------------------*                    11

  2944=D MEMB#                          7S 0                                      MEMBERSHIP #                            11000001

  2945=D MBREFC                         3A                                        Ref/Key Code                            11000002

  2946=D MBPHTY                         4A                                        PHONE TYPE                              11000003

  2947=D MBCNTR                         6A                                        PHONE COUNTRY CODE                      11000004

  2948=D MBCITY                         6A                                        PHONE CITY CODE                         11000005

  2949=D MBPHON                        10A                                        PHONE NUMBER                            11000006

  2950=D MBEXT#                         5S 0                                      PHONE EXTENSION #                       11000007

  2951=D MBUSER                        10A                                        USER ID                                 11000008

  2952=D MBDATE                        10D   DATFMT (*ISO-)                                                               11000009

  2953=D MBTIME                         8T   TIMFMT (*HMS:)                                                               11000010

  2954 dD@PhoneOut2      ds                  qualified                                                           091210     019200

  2955 d                                     occurs(12)                                                          091210     019300

  2956 d CellTerm                       5a                                                                       091210     019400

  2957 d DoNotCall                      5a                                                                       091210     019500

  2958 dw@PhoneOut     e ds                  ExtName(Ds@Mbftel) qualified                                        100407     019600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     59

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2959 d                                     occurs(12)                                                          091208     019700

  2960                                                                                                           091208     019800

        *--------------------------------------------------------------------------------------------*                    12

        * Data structure . . . . . . :  W@PHONEOUT                                                   *                    12

        * External format  . . . . . :  MBRTEL : FILELIB/DS@MBFTEL                                   *                    12

        * Format text  . . . . . . . :  Membership Telephone File                                    *                    12

        *--------------------------------------------------------------------------------------------*                    12

  2961=D MEMB#                          7S 0                                      MEMBERSHIP #                            12000001

  2962=D MBREFC                         3A                                        Ref/Key Code                            12000002

  2963=D MBPHTY                         4A                                        PHONE TYPE                              12000003

  2964=D MBCNTR                         6A                                        PHONE COUNTRY CODE                      12000004

  2965=D MBCITY                         6A                                        PHONE CITY CODE                         12000005

  2966=D MBPHON                        10A                                        PHONE NUMBER                            12000006

  2967=D MBEXT#                         5S 0                                      PHONE EXTENSION #                       12000007

  2968=D MBUSER                        10A                                        USER ID                                 12000008

  2969=D MBDATE                        10D   DATFMT (*ISO-)                                                               12000009

  2970=D MBTIME                         8T   TIMFMT (*HMS:)                                                               12000010

  2971 D QUSEC           DS                                                                                      100216     019900

  2972 D  ErrBytesProv                 10I 0 Inz(%size(QUSEC))                                                   100216     020000

  2973 D  ErrBytesAvail                10I 0 Inz                                                                 100216     020100

  2974 D  ErrMsgID                      7A                                                                       100216     020200

  2975 D                                1                                                                        100216     020300

  2976 D  ErrMsgDta                   512A                                                                       100216     020400

  2977                                                                                                           100216     020500

  2978  /Define cpy_getPhonesByMem_Output                                                                        091208     020600

  2979  /copy Qrpglesrc,CB.Phones                                                                                091207     020700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    13

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    13

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    13

        *--------------------------------------------------------------------------------------------*

  2980+ *-----------------------------------------------------------------------------*                          091207   13000100

  2981+ *-                                                                            *                          091207   13000200

  2982+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   13000300

  2983+ *-                                                                            *                          091207   13000400

  2984+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   13000500

  2985+ *-                                                                            *                          091207   13000600

  2986+ *-----------------------------------------------------------------------------*                          091207   13000700

  2987+ *-                                                                            *                          091207   13000800

  2988+ *-                  M O D I F I C A T I O N S                                 *                          091207   13000900

  2989+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   13001000

  2990+ *- Date       User ID    Task #     Description                               *                          091207   13001100

  2991+ *- ----       -------    --------   -----------                               *                          091207   13001200

  2992+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   13001300

  2993+ *                                                                             *                          091207   13001400

  2994+ *-----------------------------------------------------------------------------*                          091207   13001500

  2995+ *-- Prototypes                                                                                           091208   13001601

  2996+                                                                                                          091208   13001602

  2997+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   13001603

            LINES EXCLUDED: 2

  2998+ /EndIf                                                                                                   091207   13001900

  2999+                                                                                                          091207   13002000

  3000+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   13002002

            LINES EXCLUDED: 2

  3001+ /EndIf                                                                                                   091207   13002006

  3002+ *                                                                                                        091207   13002200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     60

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3003+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   13002202

            LINES EXCLUDED: 3

  3004+ /EndIf                                                                                                   091208   13002206

  3005+                                                                                                          091208   13002207

  3006+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   13002208

            LINES EXCLUDED: 2

  3007+ /EndIf                                                                                                   091208   13002214

  3008+                                                                                                          091208   13002215

  3009+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   13002216

            LINES EXCLUDED: 2

  3010+ /EndIf                                                                                                   091209   13002219

  3011+                                                                                                          091209   13002220

  3012+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   13002221

            LINES EXCLUDED: 4

  3013+ /EndIf                                                                                                   091208   13002226

  3014+ *                                                                                                        091208   13002227

  3015+ *-- Data Structures                                                                                      091208   13002228

  3016+                                                                                                          091208   13002229

  3017+ /If Defined (cpy_WebServices_Ds)                                                                         091210   13002230

            LINES EXCLUDED: 24

  3018+ /EndIf                                                                                                   100104   13002267

  3019+                                                                                                          100104   13002268

  3020+ *-- Outputs                                                                                              091208   13002286

  3021+                                                                                                          091208   13002287

  3022+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   13002503

  3023+d   pPhonesByMem  s               *                                                                       091211   13002504

  3024+                                                                                                          091210   13002505

  3025+d  PhonesOut      ds                  likeDs(OutputDs) based(pPhonesByMem)                                100105   13002506

  3026+                                                                                                          091210   13002508

  3027+dOutputDs         ds                  qualified                                                           091210   13002509

  3028+d Contact                       10a                                                                       091216   13002510

  3029+d CPhones                             Like(D@PhoneOut) dim(12)                                            091208   13002511

  3030+d CPhones2                            Like(D@PhoneOut2) dim(12)                                           091208   13002512

  3031+d ErrorId                        7a                                                                       091208   13002513

  3032+d ErrorMsg                     100a                                                                       091208   13002514

  3033+ /EndIf                                                                                                   091207   13002600

  3034+                                                                                                          091207   13002601

  3035+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   13002700

            LINES EXCLUDED: 12

  3036+ /EndIf                                                                                                   091207   13003500

  3037+                                                                                                          091207   13003501

  3038+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   13003502

            LINES EXCLUDED: 10

  3039+ /EndIf                                                                                                   091208   13003519

  3040+                                                                                                          091208   13003520

  3041+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   13003521

            LINES EXCLUDED: 9

  3042+ /EndIf                                                                                                   091209   13003541

  3043+                                                                                                          091209   13003542

  3044+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   13003543

            LINES EXCLUDED: 11

  3045+ /EndIf                                                                                                   091209   13003555

  3046+                                                                                                          091209   13003556

  3047+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   13003557

            LINES EXCLUDED: 10

  3048+ /EndIf                                                                                                   091209   13003569

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     61

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3049+                                                                                                          091209   13003570

  3050+ *-- Procedure Interfaces                                                                                 091208   13003600

  3051+                                                                                                          091208   13003601

  3052+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   13003602

            LINES EXCLUDED: 2

  3053+ /EndIf                                                                                                   091207   13003900

  3054+                                                                                                          091207   13004000

  3055+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   13004200

            LINES EXCLUDED: 2

  3056+ /EndIf                                                                                                   091207   13004600

  3057+                                                                                                          091208   13004700

  3058+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   13004800

            LINES EXCLUDED: 3

  3059+ /EndIf                                                                                                   091208   13005200

  3060+                                                                                                          091208   13005202

  3061+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   13005203

            LINES EXCLUDED: 2

  3062+ /EndIf                                                                                                   091208   13005209

  3063+                                                                                                          091208   13005210

  3064+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   13005211

            LINES EXCLUDED: 2

  3065+ /EndIf                                                                                                   091209   13005214

  3066+                                                                                                          091209   13005215

  3067+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   13005216

            LINES EXCLUDED: 4

  3068+ /EndIf                                                                                                   091208   13005221

  3069+                                                                                                          091208   13005300

  3070  /Undefine cpy_getPhonesByMem_Output                                                                      091208     020800

  3071                                                                                                           091208     020900

  3072  /Define cpy_getAllPhByMem_Output                                                                         091208     021000

  3073  /copy Qrpglesrc,CB.Phones                                                                                091208     021100

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    14

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    14

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    14

        *--------------------------------------------------------------------------------------------*

  3074+ *-----------------------------------------------------------------------------*                          091207   14000100

  3075+ *-                                                                            *                          091207   14000200

  3076+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   14000300

  3077+ *-                                                                            *                          091207   14000400

  3078+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   14000500

  3079+ *-                                                                            *                          091207   14000600

  3080+ *-----------------------------------------------------------------------------*                          091207   14000700

  3081+ *-                                                                            *                          091207   14000800

  3082+ *-                  M O D I F I C A T I O N S                                 *                          091207   14000900

  3083+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   14001000

  3084+ *- Date       User ID    Task #     Description                               *                          091207   14001100

  3085+ *- ----       -------    --------   -----------                               *                          091207   14001200

  3086+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   14001300

  3087+ *                                                                             *                          091207   14001400

  3088+ *-----------------------------------------------------------------------------*                          091207   14001500

  3089+ *-- Prototypes                                                                                           091208   14001601

  3090+                                                                                                          091208   14001602

  3091+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   14001603

            LINES EXCLUDED: 2

  3092+ /EndIf                                                                                                   091207   14001900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     62

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3093+                                                                                                          091207   14002000

  3094+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   14002002

            LINES EXCLUDED: 2

  3095+ /EndIf                                                                                                   091207   14002006

  3096+ *                                                                                                        091207   14002200

  3097+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   14002202

            LINES EXCLUDED: 3

  3098+ /EndIf                                                                                                   091208   14002206

  3099+                                                                                                          091208   14002207

  3100+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   14002208

            LINES EXCLUDED: 2

  3101+ /EndIf                                                                                                   091208   14002214

  3102+                                                                                                          091208   14002215

  3103+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   14002216

            LINES EXCLUDED: 2

  3104+ /EndIf                                                                                                   091209   14002219

  3105+                                                                                                          091209   14002220

  3106+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   14002221

            LINES EXCLUDED: 4

  3107+ /EndIf                                                                                                   091208   14002226

  3108+ *                                                                                                        091208   14002227

  3109+ *-- Data Structures                                                                                      091208   14002228

  3110+                                                                                                          091208   14002229

  3111+ /If Defined (cpy_WebServices_Ds)                                                                         091210   14002230

            LINES EXCLUDED: 24

  3112+ /EndIf                                                                                                   100104   14002267

  3113+                                                                                                          100104   14002268

  3114+ *-- Outputs                                                                                              091208   14002286

  3115+                                                                                                          091208   14002287

  3116+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   14002503

            LINES EXCLUDED: 10

  3117+ /EndIf                                                                                                   091207   14002600

  3118+                                                                                                          091207   14002601

  3119+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   14002700

  3120+d   pAllPhByMem   s               *                                                                       091211   14002701

  3121+                                                                                                          091210   14002702

  3122+d  PhonesOut2     ds                  likeDs(OutputDs2) based(pAllPhByMem)                                091211   14002703

  3123+d                                     dim(99)                                                             091210   14002704

  3124+                                                                                                          091210   14002705

  3125+dOutputDs2        ds                  qualified dim(99)                                                   091210   14002800

  3126+d Contact                       10a                                                                       091216   14002900

  3127+d Primary                        1a                                                                       091216   14003000

  3128+d CPhones                             Like(D@PhoneOut) dim(12)                                            100104   14003100

  3129+d CPhones2                            Like(D@PhoneOut2) dim(12)                                           091208   14003200

  3130+d ErrorId                        7a                                                                       091208   14003300

  3131+d ErrorMsg                     100a                                                                       091208   14003400

  3132+ /EndIf                                                                                                   091207   14003500

  3133+                                                                                                          091207   14003501

  3134+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   14003502

            LINES EXCLUDED: 10

  3135+ /EndIf                                                                                                   091208   14003519

  3136+                                                                                                          091208   14003520

  3137+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   14003521

            LINES EXCLUDED: 9

  3138+ /EndIf                                                                                                   091209   14003541

  3139+                                                                                                          091209   14003542

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     63

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3140+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   14003543

            LINES EXCLUDED: 11

  3141+ /EndIf                                                                                                   091209   14003555

  3142+                                                                                                          091209   14003556

  3143+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   14003557

            LINES EXCLUDED: 10

  3144+ /EndIf                                                                                                   091209   14003569

  3145+                                                                                                          091209   14003570

  3146+ *-- Procedure Interfaces                                                                                 091208   14003600

  3147+                                                                                                          091208   14003601

  3148+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   14003602

            LINES EXCLUDED: 2

  3149+ /EndIf                                                                                                   091207   14003900

  3150+                                                                                                          091207   14004000

  3151+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   14004200

            LINES EXCLUDED: 2

  3152+ /EndIf                                                                                                   091207   14004600

  3153+                                                                                                          091208   14004700

  3154+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   14004800

            LINES EXCLUDED: 3

  3155+ /EndIf                                                                                                   091208   14005200

  3156+                                                                                                          091208   14005202

  3157+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   14005203

            LINES EXCLUDED: 2

  3158+ /EndIf                                                                                                   091208   14005209

  3159+                                                                                                          091208   14005210

  3160+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   14005211

            LINES EXCLUDED: 2

  3161+ /EndIf                                                                                                   091209   14005214

  3162+                                                                                                          091209   14005215

  3163+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   14005216

            LINES EXCLUDED: 4

  3164+ /EndIf                                                                                                   091208   14005221

  3165+                                                                                                          091208   14005300

  3166  /Undefine cpy_getAllPhByMem_Output                                                                       091208     021200

  3167                                                                                                           091208     021300

  3168  /Define cpy_getPhoneByType_Output                                                                        091208     021400

  3169  /copy Qrpglesrc,CB.Phones                                                                                091208     021500

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    15

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    15

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    15

        *--------------------------------------------------------------------------------------------*

  3170+ *-----------------------------------------------------------------------------*                          091207   15000100

  3171+ *-                                                                            *                          091207   15000200

  3172+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   15000300

  3173+ *-                                                                            *                          091207   15000400

  3174+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   15000500

  3175+ *-                                                                            *                          091207   15000600

  3176+ *-----------------------------------------------------------------------------*                          091207   15000700

  3177+ *-                                                                            *                          091207   15000800

  3178+ *-                  M O D I F I C A T I O N S                                 *                          091207   15000900

  3179+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   15001000

  3180+ *- Date       User ID    Task #     Description                               *                          091207   15001100

  3181+ *- ----       -------    --------   -----------                               *                          091207   15001200

  3182+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   15001300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     64

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3183+ *                                                                             *                          091207   15001400

  3184+ *-----------------------------------------------------------------------------*                          091207   15001500

  3185+ *-- Prototypes                                                                                           091208   15001601

  3186+                                                                                                          091208   15001602

  3187+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   15001603

            LINES EXCLUDED: 2

  3188+ /EndIf                                                                                                   091207   15001900

  3189+                                                                                                          091207   15002000

  3190+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   15002002

            LINES EXCLUDED: 2

  3191+ /EndIf                                                                                                   091207   15002006

  3192+ *                                                                                                        091207   15002200

  3193+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   15002202

            LINES EXCLUDED: 3

  3194+ /EndIf                                                                                                   091208   15002206

  3195+                                                                                                          091208   15002207

  3196+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   15002208

            LINES EXCLUDED: 2

  3197+ /EndIf                                                                                                   091208   15002214

  3198+                                                                                                          091208   15002215

  3199+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   15002216

            LINES EXCLUDED: 2

  3200+ /EndIf                                                                                                   091209   15002219

  3201+                                                                                                          091209   15002220

  3202+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   15002221

            LINES EXCLUDED: 4

  3203+ /EndIf                                                                                                   091208   15002226

  3204+ *                                                                                                        091208   15002227

  3205+ *-- Data Structures                                                                                      091208   15002228

  3206+                                                                                                          091208   15002229

  3207+ /If Defined (cpy_WebServices_Ds)                                                                         091210   15002230

            LINES EXCLUDED: 24

  3208+ /EndIf                                                                                                   100104   15002267

  3209+                                                                                                          100104   15002268

  3210+ *-- Outputs                                                                                              091208   15002286

  3211+                                                                                                          091208   15002287

  3212+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   15002503

            LINES EXCLUDED: 10

  3213+ /EndIf                                                                                                   091207   15002600

  3214+                                                                                                          091207   15002601

  3215+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   15002700

            LINES EXCLUDED: 12

  3216+ /EndIf                                                                                                   091207   15003500

  3217+                                                                                                          091207   15003501

  3218+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   15003502

  3219+d   pPhoneByType  s               *                                                                       091211   15003503

  3220+                                                                                                          091210   15003507

  3221+d  PhonesOut3     ds                  likeDs(OutputDs3) based(pPhoneByType)                               091211   15003508

  3222+                                                                                                          091210   15003510

  3223+dOutputDs3        ds                  qualified                                                           100104   15003511

  3224+d Contact                       10a                                                                       091216   15003512

  3225+d CPhones                             Like(D@PhoneOut)                                                    100104   15003513

  3226+d CPhones2                            Like(D@PhoneOut2)                                                   100201   15003514

  3227+d ErrorId                        7a                                                                       091208   15003517

  3228+d ErrorMsg                     100a                                                                       091208   15003518

  3229+ /EndIf                                                                                                   091208   15003519

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     65

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3230+                                                                                                          091208   15003520

  3231+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   15003521

            LINES EXCLUDED: 9

  3232+ /EndIf                                                                                                   091209   15003541

  3233+                                                                                                          091209   15003542

  3234+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   15003543

            LINES EXCLUDED: 11

  3235+ /EndIf                                                                                                   091209   15003555

  3236+                                                                                                          091209   15003556

  3237+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   15003557

            LINES EXCLUDED: 10

  3238+ /EndIf                                                                                                   091209   15003569

  3239+                                                                                                          091209   15003570

  3240+ *-- Procedure Interfaces                                                                                 091208   15003600

  3241+                                                                                                          091208   15003601

  3242+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   15003602

            LINES EXCLUDED: 2

  3243+ /EndIf                                                                                                   091207   15003900

  3244+                                                                                                          091207   15004000

  3245+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   15004200

            LINES EXCLUDED: 2

  3246+ /EndIf                                                                                                   091207   15004600

  3247+                                                                                                          091208   15004700

  3248+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   15004800

            LINES EXCLUDED: 3

  3249+ /EndIf                                                                                                   091208   15005200

  3250+                                                                                                          091208   15005202

  3251+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   15005203

            LINES EXCLUDED: 2

  3252+ /EndIf                                                                                                   091208   15005209

  3253+                                                                                                          091208   15005210

  3254+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   15005211

            LINES EXCLUDED: 2

  3255+ /EndIf                                                                                                   091209   15005214

  3256+                                                                                                          091209   15005215

  3257+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   15005216

            LINES EXCLUDED: 4

  3258+ /EndIf                                                                                                   091208   15005221

  3259+                                                                                                          091208   15005300

  3260  /Undefine cpy_getPhoneByType_Output                                                                      091208     021600

  3261                                                                                                           091208     021700

  3262  /Define cpy_getPhoneCount_Output                                                                         091209     021800

  3263  /copy Qrpglesrc,CB.Phones                                                                                091209     021900

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    16

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    16

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    16

        *--------------------------------------------------------------------------------------------*

  3264+ *-----------------------------------------------------------------------------*                          091207   16000100

  3265+ *-                                                                            *                          091207   16000200

  3266+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   16000300

  3267+ *-                                                                            *                          091207   16000400

  3268+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   16000500

  3269+ *-                                                                            *                          091207   16000600

  3270+ *-----------------------------------------------------------------------------*                          091207   16000700

  3271+ *-                                                                            *                          091207   16000800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     66

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3272+ *-                  M O D I F I C A T I O N S                                 *                          091207   16000900

  3273+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   16001000

  3274+ *- Date       User ID    Task #     Description                               *                          091207   16001100

  3275+ *- ----       -------    --------   -----------                               *                          091207   16001200

  3276+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   16001300

  3277+ *                                                                             *                          091207   16001400

  3278+ *-----------------------------------------------------------------------------*                          091207   16001500

  3279+ *-- Prototypes                                                                                           091208   16001601

  3280+                                                                                                          091208   16001602

  3281+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   16001603

            LINES EXCLUDED: 2

  3282+ /EndIf                                                                                                   091207   16001900

  3283+                                                                                                          091207   16002000

  3284+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   16002002

            LINES EXCLUDED: 2

  3285+ /EndIf                                                                                                   091207   16002006

  3286+ *                                                                                                        091207   16002200

  3287+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   16002202

            LINES EXCLUDED: 3

  3288+ /EndIf                                                                                                   091208   16002206

  3289+                                                                                                          091208   16002207

  3290+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   16002208

            LINES EXCLUDED: 2

  3291+ /EndIf                                                                                                   091208   16002214

  3292+                                                                                                          091208   16002215

  3293+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   16002216

            LINES EXCLUDED: 2

  3294+ /EndIf                                                                                                   091209   16002219

  3295+                                                                                                          091209   16002220

  3296+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   16002221

            LINES EXCLUDED: 4

  3297+ /EndIf                                                                                                   091208   16002226

  3298+ *                                                                                                        091208   16002227

  3299+ *-- Data Structures                                                                                      091208   16002228

  3300+                                                                                                          091208   16002229

  3301+ /If Defined (cpy_WebServices_Ds)                                                                         091210   16002230

            LINES EXCLUDED: 24

  3302+ /EndIf                                                                                                   100104   16002267

  3303+                                                                                                          100104   16002268

  3304+ *-- Outputs                                                                                              091208   16002286

  3305+                                                                                                          091208   16002287

  3306+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   16002503

            LINES EXCLUDED: 10

  3307+ /EndIf                                                                                                   091207   16002600

  3308+                                                                                                          091207   16002601

  3309+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   16002700

            LINES EXCLUDED: 12

  3310+ /EndIf                                                                                                   091207   16003500

  3311+                                                                                                          091207   16003501

  3312+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   16003502

            LINES EXCLUDED: 10

  3313+ /EndIf                                                                                                   091208   16003519

  3314+                                                                                                          091208   16003520

  3315+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   16003521

  3316+d   pPhoneCount   s               *                                                                       091211   16003522

  3317+                                                                                                          091211   16003524

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     67

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3318+d  PhonesOut4     ds                  likeDs(OutputDs4) based(pPhoneCount)                                091211   16003525

  3319+                                                                                                          091211   16003526

  3320+dOutputDs4        ds                                                                                      091216   16003536

  3321+d Contact                       10a                                                                       091216   16003537

  3322+d Count                          5S 0                                                                     091209   16003538

  3323+d ErrorId                        7a                                                                       091209   16003539

  3324+d ErrorMsg                     100a                                                                       091209   16003540

  3325+ /EndIf                                                                                                   091209   16003541

  3326+                                                                                                          091209   16003542

  3327+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   16003543

            LINES EXCLUDED: 11

  3328+ /EndIf                                                                                                   091209   16003555

  3329+                                                                                                          091209   16003556

  3330+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   16003557

            LINES EXCLUDED: 10

  3331+ /EndIf                                                                                                   091209   16003569

  3332+                                                                                                          091209   16003570

  3333+ *-- Procedure Interfaces                                                                                 091208   16003600

  3334+                                                                                                          091208   16003601

  3335+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   16003602

            LINES EXCLUDED: 2

  3336+ /EndIf                                                                                                   091207   16003900

  3337+                                                                                                          091207   16004000

  3338+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   16004200

            LINES EXCLUDED: 2

  3339+ /EndIf                                                                                                   091207   16004600

  3340+                                                                                                          091208   16004700

  3341+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   16004800

            LINES EXCLUDED: 3

  3342+ /EndIf                                                                                                   091208   16005200

  3343+                                                                                                          091208   16005202

  3344+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   16005203

            LINES EXCLUDED: 2

  3345+ /EndIf                                                                                                   091208   16005209

  3346+                                                                                                          091208   16005210

  3347+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   16005211

            LINES EXCLUDED: 2

  3348+ /EndIf                                                                                                   091209   16005214

  3349+                                                                                                          091209   16005215

  3350+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   16005216

            LINES EXCLUDED: 4

  3351+ /EndIf                                                                                                   091208   16005221

  3352+                                                                                                          091208   16005300

  3353  /Undefine cpy_getPhoneCount_Output                                                                       091209     022000

  3354                                                                                                           091209     022100

  3355  /Define cpy_getAllPhCount_Output                                                                         091209     022200

  3356  /copy Qrpglesrc,CB.Phones                                                                                091209     022300

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    17

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    17

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    17

        *--------------------------------------------------------------------------------------------*

  3357+ *-----------------------------------------------------------------------------*                          091207   17000100

  3358+ *-                                                                            *                          091207   17000200

  3359+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   17000300

  3360+ *-                                                                            *                          091207   17000400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     68

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3361+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   17000500

  3362+ *-                                                                            *                          091207   17000600

  3363+ *-----------------------------------------------------------------------------*                          091207   17000700

  3364+ *-                                                                            *                          091207   17000800

  3365+ *-                  M O D I F I C A T I O N S                                 *                          091207   17000900

  3366+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   17001000

  3367+ *- Date       User ID    Task #     Description                               *                          091207   17001100

  3368+ *- ----       -------    --------   -----------                               *                          091207   17001200

  3369+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   17001300

  3370+ *                                                                             *                          091207   17001400

  3371+ *-----------------------------------------------------------------------------*                          091207   17001500

  3372+ *-- Prototypes                                                                                           091208   17001601

  3373+                                                                                                          091208   17001602

  3374+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   17001603

            LINES EXCLUDED: 2

  3375+ /EndIf                                                                                                   091207   17001900

  3376+                                                                                                          091207   17002000

  3377+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   17002002

            LINES EXCLUDED: 2

  3378+ /EndIf                                                                                                   091207   17002006

  3379+ *                                                                                                        091207   17002200

  3380+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   17002202

            LINES EXCLUDED: 3

  3381+ /EndIf                                                                                                   091208   17002206

  3382+                                                                                                          091208   17002207

  3383+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   17002208

            LINES EXCLUDED: 2

  3384+ /EndIf                                                                                                   091208   17002214

  3385+                                                                                                          091208   17002215

  3386+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   17002216

            LINES EXCLUDED: 2

  3387+ /EndIf                                                                                                   091209   17002219

  3388+                                                                                                          091209   17002220

  3389+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   17002221

            LINES EXCLUDED: 4

  3390+ /EndIf                                                                                                   091208   17002226

  3391+ *                                                                                                        091208   17002227

  3392+ *-- Data Structures                                                                                      091208   17002228

  3393+                                                                                                          091208   17002229

  3394+ /If Defined (cpy_WebServices_Ds)                                                                         091210   17002230

            LINES EXCLUDED: 24

  3395+ /EndIf                                                                                                   100104   17002267

  3396+                                                                                                          100104   17002268

  3397+ *-- Outputs                                                                                              091208   17002286

  3398+                                                                                                          091208   17002287

  3399+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   17002503

            LINES EXCLUDED: 10

  3400+ /EndIf                                                                                                   091207   17002600

  3401+                                                                                                          091207   17002601

  3402+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   17002700

            LINES EXCLUDED: 12

  3403+ /EndIf                                                                                                   091207   17003500

  3404+                                                                                                          091207   17003501

  3405+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   17003502

            LINES EXCLUDED: 10

  3406+ /EndIf                                                                                                   091208   17003519

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     69

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3407+                                                                                                          091208   17003520

  3408+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   17003521

            LINES EXCLUDED: 9

  3409+ /EndIf                                                                                                   091209   17003541

  3410+                                                                                                          091209   17003542

  3411+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   17003543

  3412+d   pAllPhCount   s               *                                                                       091214   17003544

  3413+                                                                                                          091214   17003545

  3414+d  PhonesOut5     ds                  likeDs(OutputDs5) based(pAllPhCount)                                091214   17003546

  3415+d                                     dim(99)                                                             091214   17003547

  3416+                                                                                                          091214   17003548

  3417+dOutputDs5        ds                  qualified dim(99)                                                   091214   17003549

  3418+d Contact                       10a                                                                       091216   17003550

  3419+d Primary                        1a                                                                       091216   17003551

  3420+d Count                          5S 0                                                                     091209   17003552

  3421+d ErrorId                        7a                                                                       091209   17003553

  3422+d ErrorMsg                     100a                                                                       091209   17003554

  3423+ /EndIf                                                                                                   091209   17003555

  3424+                                                                                                          091209   17003556

  3425+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   17003557

            LINES EXCLUDED: 10

  3426+ /EndIf                                                                                                   091209   17003569

  3427+                                                                                                          091209   17003570

  3428+ *-- Procedure Interfaces                                                                                 091208   17003600

  3429+                                                                                                          091208   17003601

  3430+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   17003602

            LINES EXCLUDED: 2

  3431+ /EndIf                                                                                                   091207   17003900

  3432+                                                                                                          091207   17004000

  3433+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   17004200

            LINES EXCLUDED: 2

  3434+ /EndIf                                                                                                   091207   17004600

  3435+                                                                                                          091208   17004700

  3436+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   17004800

            LINES EXCLUDED: 3

  3437+ /EndIf                                                                                                   091208   17005200

  3438+                                                                                                          091208   17005202

  3439+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   17005203

            LINES EXCLUDED: 2

  3440+ /EndIf                                                                                                   091208   17005209

  3441+                                                                                                          091208   17005210

  3442+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   17005211

            LINES EXCLUDED: 2

  3443+ /EndIf                                                                                                   091209   17005214

  3444+                                                                                                          091209   17005215

  3445+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   17005216

            LINES EXCLUDED: 4

  3446+ /EndIf                                                                                                   091208   17005221

  3447+                                                                                                          091208   17005300

  3448  /Undefine cpy_getAllPhCount_Output                                                                       091209     022400

  3449                                                                                                           091209     022500

  3450  /Define cpy_getMemByPhone_Output                                                                         091209     022600

  3451  /copy Qrpglesrc,CB.Phones                                                                                091209     022700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    18

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    18

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     70

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    18

        *--------------------------------------------------------------------------------------------*

  3452+ *-----------------------------------------------------------------------------*                          091207   18000100

  3453+ *-                                                                            *                          091207   18000200

  3454+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   18000300

  3455+ *-                                                                            *                          091207   18000400

  3456+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   18000500

  3457+ *-                                                                            *                          091207   18000600

  3458+ *-----------------------------------------------------------------------------*                          091207   18000700

  3459+ *-                                                                            *                          091207   18000800

  3460+ *-                  M O D I F I C A T I O N S                                 *                          091207   18000900

  3461+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   18001000

  3462+ *- Date       User ID    Task #     Description                               *                          091207   18001100

  3463+ *- ----       -------    --------   -----------                               *                          091207   18001200

  3464+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   18001300

  3465+ *                                                                             *                          091207   18001400

  3466+ *-----------------------------------------------------------------------------*                          091207   18001500

  3467+ *-- Prototypes                                                                                           091208   18001601

  3468+                                                                                                          091208   18001602

  3469+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   18001603

            LINES EXCLUDED: 2

  3470+ /EndIf                                                                                                   091207   18001900

  3471+                                                                                                          091207   18002000

  3472+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   18002002

            LINES EXCLUDED: 2

  3473+ /EndIf                                                                                                   091207   18002006

  3474+ *                                                                                                        091207   18002200

  3475+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   18002202

            LINES EXCLUDED: 3

  3476+ /EndIf                                                                                                   091208   18002206

  3477+                                                                                                          091208   18002207

  3478+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   18002208

            LINES EXCLUDED: 2

  3479+ /EndIf                                                                                                   091208   18002214

  3480+                                                                                                          091208   18002215

  3481+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   18002216

            LINES EXCLUDED: 2

  3482+ /EndIf                                                                                                   091209   18002219

  3483+                                                                                                          091209   18002220

  3484+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   18002221

            LINES EXCLUDED: 4

  3485+ /EndIf                                                                                                   091208   18002226

  3486+ *                                                                                                        091208   18002227

  3487+ *-- Data Structures                                                                                      091208   18002228

  3488+                                                                                                          091208   18002229

  3489+ /If Defined (cpy_WebServices_Ds)                                                                         091210   18002230

            LINES EXCLUDED: 24

  3490+ /EndIf                                                                                                   100104   18002267

  3491+                                                                                                          100104   18002268

  3492+ *-- Outputs                                                                                              091208   18002286

  3493+                                                                                                          091208   18002287

  3494+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   18002503

            LINES EXCLUDED: 10

  3495+ /EndIf                                                                                                   091207   18002600

  3496+                                                                                                          091207   18002601

  3497+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   18002700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     71

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

            LINES EXCLUDED: 12

  3498+ /EndIf                                                                                                   091207   18003500

  3499+                                                                                                          091207   18003501

  3500+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   18003502

            LINES EXCLUDED: 10

  3501+ /EndIf                                                                                                   091208   18003519

  3502+                                                                                                          091208   18003520

  3503+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   18003521

            LINES EXCLUDED: 9

  3504+ /EndIf                                                                                                   091209   18003541

  3505+                                                                                                          091209   18003542

  3506+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   18003543

            LINES EXCLUDED: 11

  3507+ /EndIf                                                                                                   091209   18003555

  3508+                                                                                                          091209   18003556

  3509+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   18003557

  3510+d   pMemByPhone   s               *                                                                       091214   18003558

  3511+                                                                                                          091214   18003559

  3512+d  PhonesOut6     ds                  likeDs(OutputDs6) based(pMemByPhone)                                091214   18003560

  3513+d                                     dim(99)                                                             100326   18003561

  3514+                                                                                                          091214   18003562

  3515+dOutputDs6        ds                  qualified dim(99)                                                   100326   18003563

  3516+d Member                         7S 0                                                                     100326   18003565

  3517+D Multiple                       1a                                                                       100326   18003566

  3518+d ErrorId                        7a                                                                       091209   18003567

  3519+d ErrorMsg                     100a                                                                       091209   18003568

  3520+ /EndIf                                                                                                   091209   18003569

  3521+                                                                                                          091209   18003570

  3522+ *-- Procedure Interfaces                                                                                 091208   18003600

  3523+                                                                                                          091208   18003601

  3524+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   18003602

            LINES EXCLUDED: 2

  3525+ /EndIf                                                                                                   091207   18003900

  3526+                                                                                                          091207   18004000

  3527+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   18004200

            LINES EXCLUDED: 2

  3528+ /EndIf                                                                                                   091207   18004600

  3529+                                                                                                          091208   18004700

  3530+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   18004800

            LINES EXCLUDED: 3

  3531+ /EndIf                                                                                                   091208   18005200

  3532+                                                                                                          091208   18005202

  3533+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   18005203

            LINES EXCLUDED: 2

  3534+ /EndIf                                                                                                   091208   18005209

  3535+                                                                                                          091208   18005210

  3536+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   18005211

            LINES EXCLUDED: 2

  3537+ /EndIf                                                                                                   091209   18005214

  3538+                                                                                                          091209   18005215

  3539+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   18005216

            LINES EXCLUDED: 4

  3540+ /EndIf                                                                                                   091208   18005221

  3541+                                                                                                          091208   18005300

  3542  /Undefine cpy_getMemByPhone_Output                                                                       091209     022800

  3543                                                                                                           091209     022900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     72

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3544 D RtvMsgD         pr           132a                                                                       100211     023000

  3545 D   pMsgId                       7a   Const                                                               100211     023100

  3546 D   pMsgDta                     15a   Const                                                               100211     023200

  3547                                                                                                           100211     023300

  3548 D rtvsysval       pr          2080A   Extproc('rtvsysval')                                                100216     023400

  3549 D   SysVal                      10A   Const                                                               100216     023500

  3550 D   ApiError                                Like(QUSEC)                                                   100216     023600

  3551 D                                           Options(*Nopass:*Varsize)                                     100216     023700

  3552                                                                                                           100211     023800

  3553  *******************************************************************************                          091207     023900

  3554=IMBRFLCMTDT                                                                                                        19000001

        *--------------------------------------------------------------------------------------------*                    19

        * RPG record format  . . . . :  MBRFLCMTDT                                                   *                    19

        * External format  . . . . . :  MBRFLCMTDT : FILELIB/MBFFLCMTDT                              *                    19

        *--------------------------------------------------------------------------------------------*                    19

  3555=I                             A    1   10  FN_CODETP                       Code Type                               19000002

  3556=I                             A   11   20  FN_CODE                         Comment Code                            19000003

  3557=I                             P   21   26 2FN_SEQ                          Sequence Nbr                            19000004

  3558=I                             A   27   91  FN_CMNT                         Comments                                19000005

  3559=I                             A   92  101  FN_WHOCHG                       Who Changed                             19000006

  3560=I                             Z  102  127  FN_STAMP                        Time Changed                            19000007

  3561 p GetPhonesByMem  B                   Export                                                              091208     024000

  3562  *******************************************************************************                          100210     024100

  3563                                                                                                           091208     024200

  3564  /Define cpy_getPhonesByMem_Interface                                                                     091208     024300

  3565  /copy Qrpglesrc,CB.Phones                                                                                091208     024400

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    20

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    20

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    20

        *--------------------------------------------------------------------------------------------*

  3566+ *-----------------------------------------------------------------------------*                          091207   20000100

  3567+ *-                                                                            *                          091207   20000200

  3568+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   20000300

  3569+ *-                                                                            *                          091207   20000400

  3570+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   20000500

  3571+ *-                                                                            *                          091207   20000600

  3572+ *-----------------------------------------------------------------------------*                          091207   20000700

  3573+ *-                                                                            *                          091207   20000800

  3574+ *-                  M O D I F I C A T I O N S                                 *                          091207   20000900

  3575+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   20001000

  3576+ *- Date       User ID    Task #     Description                               *                          091207   20001100

  3577+ *- ----       -------    --------   -----------                               *                          091207   20001200

  3578+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   20001300

  3579+ *                                                                             *                          091207   20001400

  3580+ *-----------------------------------------------------------------------------*                          091207   20001500

  3581+ *-- Prototypes                                                                                           091208   20001601

  3582+                                                                                                          091208   20001602

  3583+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   20001603

            LINES EXCLUDED: 2

  3584+ /EndIf                                                                                                   091207   20001900

  3585+                                                                                                          091207   20002000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     73

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3586+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   20002002

            LINES EXCLUDED: 2

  3587+ /EndIf                                                                                                   091207   20002006

  3588+ *                                                                                                        091207   20002200

  3589+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   20002202

            LINES EXCLUDED: 3

  3590+ /EndIf                                                                                                   091208   20002206

  3591+                                                                                                          091208   20002207

  3592+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   20002208

            LINES EXCLUDED: 2

  3593+ /EndIf                                                                                                   091208   20002214

  3594+                                                                                                          091208   20002215

  3595+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   20002216

            LINES EXCLUDED: 2

  3596+ /EndIf                                                                                                   091209   20002219

  3597+                                                                                                          091209   20002220

  3598+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   20002221

            LINES EXCLUDED: 4

  3599+ /EndIf                                                                                                   091208   20002226

  3600+ *                                                                                                        091208   20002227

  3601+ *-- Data Structures                                                                                      091208   20002228

  3602+                                                                                                          091208   20002229

  3603+ /If Defined (cpy_WebServices_Ds)                                                                         091210   20002230

            LINES EXCLUDED: 24

  3604+ /EndIf                                                                                                   100104   20002267

  3605+                                                                                                          100104   20002268

  3606+ *-- Outputs                                                                                              091208   20002286

  3607+                                                                                                          091208   20002287

  3608+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   20002503

            LINES EXCLUDED: 10

  3609+ /EndIf                                                                                                   091207   20002600

  3610+                                                                                                          091207   20002601

  3611+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   20002700

            LINES EXCLUDED: 12

  3612+ /EndIf                                                                                                   091207   20003500

  3613+                                                                                                          091207   20003501

  3614+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   20003502

            LINES EXCLUDED: 10

  3615+ /EndIf                                                                                                   091208   20003519

  3616+                                                                                                          091208   20003520

  3617+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   20003521

            LINES EXCLUDED: 9

  3618+ /EndIf                                                                                                   091209   20003541

  3619+                                                                                                          091209   20003542

  3620+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   20003543

            LINES EXCLUDED: 11

  3621+ /EndIf                                                                                                   091209   20003555

  3622+                                                                                                          091209   20003556

  3623+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   20003557

            LINES EXCLUDED: 10

  3624+ /EndIf                                                                                                   091209   20003569

  3625+                                                                                                          091209   20003570

  3626+ *-- Procedure Interfaces                                                                                 091208   20003600

  3627+                                                                                                          091208   20003601

  3628+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   20003602

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     74

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3629+d getPhonesByMem  PI              *                                                                       091210   20003701

  3630+d   MemberNum                    7s 0 const                                                               091216   20003800

  3631+ /EndIf                                                                                                   091207   20003900

  3632+                                                                                                          091207   20004000

  3633+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   20004200

            LINES EXCLUDED: 2

  3634+ /EndIf                                                                                                   091207   20004600

  3635+                                                                                                          091208   20004700

  3636+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   20004800

            LINES EXCLUDED: 3

  3637+ /EndIf                                                                                                   091208   20005200

  3638+                                                                                                          091208   20005202

  3639+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   20005203

            LINES EXCLUDED: 2

  3640+ /EndIf                                                                                                   091208   20005209

  3641+                                                                                                          091208   20005210

  3642+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   20005211

            LINES EXCLUDED: 2

  3643+ /EndIf                                                                                                   091209   20005214

  3644+                                                                                                          091209   20005215

  3645+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   20005216

            LINES EXCLUDED: 4

  3646+ /EndIf                                                                                                   091208   20005221

  3647+                                                                                                          091208   20005300

  3648  /Undefine cpy_getPhonesByMem_Interface                                                                   091208     024500

  3649                                                                                                           091208     024600

  3650  /free                                                                                                    091208     024700

  3651                                                                                                           091208     024800

  3652          Clear OutputDs2;                                                                                 100210     024900

  3653          Clear d@PhoneOut;                                                                                091214     025000

  3654          TrueFalse='true';                                                                                100209     025100

  3655          SetSOAPPhByMem(%char(MemberNum));                                                                100317     025200

  3656          procedure='GetPhonesByMem';                                                                      100317     025300

  3657                                                                                                           100317     025400

  3658          dou retcod='C' or retcod='c';                                                          B01       100317     025500

  3659            active=getActiveFlg(procedure);                                                       01       100317     025600

  3660            if active='N';                                                                       B02       100317     025700

  3661              retcod=sndrcverr('SRV0004':procedure);                                              02       100317     025800

  3662              wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                        02       100317     025900

  3663                                         'SRV0004':'   ':SOAP:SOAP2);                             02       100317     026000

  3664              OutputDs.errorId='SRV0004';                                                         02       100317     026100

  3665              OutputDs.errorMsg=rtvmsgD('SRV0004':procedure);                                     02       100301     026200

  3666              pPhonesByMem=%addr(OutputDs);                                                       02       100301     026300

  3667              return  pPhonesByMem;                                                               02       100301     026400

  3668            else;                                                                                X02       100203     026500

  3669              leave;                                                                              02       100203     026600

  3670            endif;                                                                               E02       100203     026700

  3671          enddo;                                                                                 E01       100203     026800

  3672                                                                                                           100203     026900

  3673   // The http_setCCSIDs() routine tells HTTPAPI to translate my XML document from EBCDIC/UTF-8            091208     027000

  3674   // unicode, because this is what the web service is expecting. 1208 is the CCSID for UTF-8              091208     027100

  3675   // unicode. 0 is a special value that means "use my jobs default CCSID," which will be EBCDIC           091208     027200

  3676   // in my environment.                                                                                   091208     027300

  3677                                                                                                           091208     027400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     75

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3678   http_setCCSIDs(1208: 0);                                                                                091208     027500

  3679                                                                                                           091208     027600

  3680   // The http_debug() routine tells HTTPAPI to produce a log containing debugging information,            091208     027700

  3681   // which can be invaluable in troubleshooting HTTPAPI.                                                  091208     027800

  3682   // The debug file will be placed in the IFS under the name /tmp/httpapi_debug.txt.                      091208     027900

  3683                                                                                                           091208     028000

  3684         http_debug(*ON);                                                                                  100203     028100

  3685                                                                                                           091208     028200

  3686   SoapAct='SOAPACT';                                                                                      091208     028300

  3687   http_xproc( HTTP_POINT_ADDL_HEADER                                                                      091208     028400

  3688             : %paddr(Add_SOAPACTION) );                                                                   091208     028500

  3689                                                                                                           091208     028600

  3690         open(e) mbfflcmtdt;                                                                               091208     028700

  3691         Ep =   'http://' +                                                                                091208     028800

  3692                %trim(GetValue('WEBSERVICE':'ENDPOINT'))+                                                  091208     028900

  3693                Quote;                                                                                     091208     029000

  3694                                                                                                           091208     029100

  3695   dou retcod='C' or retcod='c';                                                                 B01       100222     029200

  3696         error=*off;                                                                              01       091208     029300

  3697         rc = http_post_xml( Ep                                                                   01       091208     029400

  3698                           : %addr(SOAP) + VARYINGDATAOFFSET                                      01       091208     029500

  3699                           : %len(SOAP)                                                           01       091208     029600

  3700                           : *NULL                                                                01       091208     029700

  3701                           : %paddr(MapXmlData)                                                   01       100210     029800

  3702                           : %addr(xml_value)                                                     01       091208     029900

  3703                           : HTTP_TIMEOUT                                                         01       091208     030000

  3704                           : HTTP_USERAGENT                                                       01       091208     030100

  3705                           : 'text/xml; charset=UTF-8');                                          01       091208     030200

  3706                                                                                                           091208     030300

  3707   select;                                                                                       B02       091208     030400

  3708    when (rc=1);                                                                                 X02       091208     030500

  3709    if  error=*on and OutputDs2(error_elem).ErrorId='ERR0476';                                   B03       100222     030600

  3710       //retcod=sndrcverr('ERR0476':procedure);                 //VG-ERR0476-don't send to error     RA01  100825     030700

  3711       wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                               03       100222     030800

  3712                     OutputDs2(error_elem).ErrorId:                                               03       100222     030900

  3713                     OutputDs2(error_elem).ErrorMsg:SOAP:SOAP2);                                  03       100222     031000

  3714        leave;                                                  // VG-ERR0476                     03 RA01  100825     031100

  3715    else;                                                                                        X03       100222     031200

  3716      leave;                                                                                      03       100222     031300

  3717    endif;                                                                                       E03       100222     031400

  3718    when rc=0;                                                                                   X02       091208     031500

  3719        retcod=sndrcverr('SRV0001':procedure);                                                    02       100202     031600

  3720        SOAP2=*blanks;                                                                            02       100211     031700

  3721        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100217     031800

  3722                                'SRV0001':'   ':SOAP:SOAP2);                                      02       100204     031900

  3723        OutputDs2(1).errorId='SRV0001';                                                           02       100301     032000

  3724        OutputDs2(1).errorMsg=rtvmsgD('SRV0001':'  ');                                            02       100301     032100

  3725    when rc=-1;                                                                                  X02       091208     032200

  3726        retcod=sndrcverr('SRV0003':procedure);                                                    02       100202     032300

  3727        SOAP2=*blanks;                                                                            02       100211     032400

  3728        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100217     032500

  3729                                'SRV0003':'   ':SOAP:SOAP2);                                      02       100204     032600

  3730        OutputDs2(1).errorId='SRV0003';                                                           02       100301     032700

  3731        OutputDs2(1).errorMsg=rtvmsgD('SRV0003':'  ');                                            02       100301     032800

  3732    when rc>1;                                                                                   X02       091208     032900

  3733        retcod=sndrcverr('SRV0002':procedure);                                                    02       100202     033000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     76

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3734        SOAP2=*blanks;                                                                            02       100211     033100

  3735        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100217     033200

  3736                                'SRV0002':'   ':SOAP:SOAP2);                                      02       100204     033300

  3737        OutputDs2(1).errorId='SRV0002';                                                           02       100301     033400

  3738        OutputDs2(1).errorMsg=rtvmsgD('SRV0002':'  ');                                            02       100301     033500

  3739    endsl;                                                                                       E02       091208     033600

  3740                                                                                                           100202     033700

  3741   enddo;                                                                                        E01       100222     033800

  3742                                                                                                           091208     033900

  3743           if primary_elem=0;                                                                    B01       100210     034000

  3744           primary_elem=1;                                                                        01       100210     034100

  3745           endif;                                                                                E01       100210     034200

  3746                                                                                                           100210     034300

  3747           OutputDs.contact=OutputDs2(primary_elem).contact;                                               100210     034400

  3748           OutputDs.CPhones=OutputDs2(primary_elem).Cphones;                                               100210     034500

  3749           OutputDs.CPhones2=OutputDs2(primary_elem).Cphones2;                                             100210     034600

  3750           OutputDs.errorId=OutputDs2(primary_elem).errorId;                                               100210     034700

  3751           OutputDs.errorMsg=OutputDs2(primary_elem).errorMsg;                                             100210     034800

  3752                                                                                                           100210     034900

  3753           wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                                    100217     035000

  3754                         OutputDs.ErrorId:OutputDs.ErrorMsg:SOAP:SOAP2);                                   100217     035100

  3755           pPhonesByMem=%addr(OutputDs);                                                                   100210     035200

  3756           return  pPhonesByMem;                                                                           091211     035300

  3757           *inlr = *on;                                                                                    091208     035400

  3758                                                                                                           091208     035500

  3759  /end-free                                                                                                091208     035600

  3760 P                 e                                                                                       091208     035700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     77

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3761                                                                                                           091208     035900

  3762  *******************************************************************************                          100210     036000

  3763 p GetAllPhByMem   B                   Export                                                              091207     036100

  3764  *******************************************************************************                          100210     036200

  3765                                                                                                           091208     036300

  3766  /Define cpy_getAllPhByMem_Interface                                                                      091207     036400

  3767  /copy Qrpglesrc,CB.Phones                                                                                091207     036500

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    21

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    21

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    21

        *--------------------------------------------------------------------------------------------*

  3768+ *-----------------------------------------------------------------------------*                          091207   21000100

  3769+ *-                                                                            *                          091207   21000200

  3770+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   21000300

  3771+ *-                                                                            *                          091207   21000400

  3772+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   21000500

  3773+ *-                                                                            *                          091207   21000600

  3774+ *-----------------------------------------------------------------------------*                          091207   21000700

  3775+ *-                                                                            *                          091207   21000800

  3776+ *-                  M O D I F I C A T I O N S                                 *                          091207   21000900

  3777+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   21001000

  3778+ *- Date       User ID    Task #     Description                               *                          091207   21001100

  3779+ *- ----       -------    --------   -----------                               *                          091207   21001200

  3780+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   21001300

  3781+ *                                                                             *                          091207   21001400

  3782+ *-----------------------------------------------------------------------------*                          091207   21001500

  3783+ *-- Prototypes                                                                                           091208   21001601

  3784+                                                                                                          091208   21001602

  3785+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   21001603

            LINES EXCLUDED: 2

  3786+ /EndIf                                                                                                   091207   21001900

  3787+                                                                                                          091207   21002000

  3788+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   21002002

            LINES EXCLUDED: 2

  3789+ /EndIf                                                                                                   091207   21002006

  3790+ *                                                                                                        091207   21002200

  3791+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   21002202

            LINES EXCLUDED: 3

  3792+ /EndIf                                                                                                   091208   21002206

  3793+                                                                                                          091208   21002207

  3794+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   21002208

            LINES EXCLUDED: 2

  3795+ /EndIf                                                                                                   091208   21002214

  3796+                                                                                                          091208   21002215

  3797+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   21002216

            LINES EXCLUDED: 2

  3798+ /EndIf                                                                                                   091209   21002219

  3799+                                                                                                          091209   21002220

  3800+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   21002221

            LINES EXCLUDED: 4

  3801+ /EndIf                                                                                                   091208   21002226

  3802+ *                                                                                                        091208   21002227

  3803+ *-- Data Structures                                                                                      091208   21002228

  3804+                                                                                                          091208   21002229

  3805+ /If Defined (cpy_WebServices_Ds)                                                                         091210   21002230

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     78

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

            LINES EXCLUDED: 24

  3806+ /EndIf                                                                                                   100104   21002267

  3807+                                                                                                          100104   21002268

  3808+ *-- Outputs                                                                                              091208   21002286

  3809+                                                                                                          091208   21002287

  3810+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   21002503

            LINES EXCLUDED: 10

  3811+ /EndIf                                                                                                   091207   21002600

  3812+                                                                                                          091207   21002601

  3813+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   21002700

            LINES EXCLUDED: 12

  3814+ /EndIf                                                                                                   091207   21003500

  3815+                                                                                                          091207   21003501

  3816+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   21003502

            LINES EXCLUDED: 10

  3817+ /EndIf                                                                                                   091208   21003519

  3818+                                                                                                          091208   21003520

  3819+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   21003521

            LINES EXCLUDED: 9

  3820+ /EndIf                                                                                                   091209   21003541

  3821+                                                                                                          091209   21003542

  3822+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   21003543

            LINES EXCLUDED: 11

  3823+ /EndIf                                                                                                   091209   21003555

  3824+                                                                                                          091209   21003556

  3825+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   21003557

            LINES EXCLUDED: 10

  3826+ /EndIf                                                                                                   091209   21003569

  3827+                                                                                                          091209   21003570

  3828+ *-- Procedure Interfaces                                                                                 091208   21003600

  3829+                                                                                                          091208   21003601

  3830+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   21003602

            LINES EXCLUDED: 2

  3831+ /EndIf                                                                                                   091207   21003900

  3832+                                                                                                          091207   21004000

  3833+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   21004200

  3834+d GetAllPhByMem   PI              *                                                                       091207   21004300

  3835+d   MemberNum                    7s 0 const                                                               091216   21004400

  3836+ /EndIf                                                                                                   091207   21004600

  3837+                                                                                                          091208   21004700

  3838+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   21004800

            LINES EXCLUDED: 3

  3839+ /EndIf                                                                                                   091208   21005200

  3840+                                                                                                          091208   21005202

  3841+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   21005203

            LINES EXCLUDED: 2

  3842+ /EndIf                                                                                                   091208   21005209

  3843+                                                                                                          091208   21005210

  3844+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   21005211

            LINES EXCLUDED: 2

  3845+ /EndIf                                                                                                   091209   21005214

  3846+                                                                                                          091209   21005215

  3847+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   21005216

            LINES EXCLUDED: 4

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     79

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3848+ /EndIf                                                                                                   091208   21005221

  3849+                                                                                                          091208   21005300

  3850  /Undefine cpy_getAllPhByMem_Interface                                                                    091207     036600

  3851                                                                                                           091207     036700

  3852                                                                                                           091204     036800

  3853  /free                                                                                                    091204     036900

  3854                                                                                                           091204     037000

  3855          Clear OutputDs2;                                                                                 100210     037100

  3856          Clear d@PhoneOut;                                                                                091214     037200

  3857          mem_num=%dec(MemberNum:7:0);                                                                     091204     037300

  3858          Member_num=%editc(mem_num:'Z');                                                                  091204     037400

  3859          TrueFalse='false';                                                                               100209     037500

  3860          SetSOAPPhByMem(Member_Num);                                                                      100317     037600

  3861          procedure='GetAllPhByMem';                                                                       100301     037700

  3862                                                                                                           091204     037800

  3863          dou retcod='C' or retcod='c';                                                          B01       100203     037900

  3864            active=getActiveFlg(procedure);                                                       01       100203     038000

  3865            if active='N';                                                                       B02       100203     038100

  3866              retcod=sndrcverr('SRV0004':procedure);                                              02       100203     038200

  3867              SOAP2=*blanks;                                                                      02       100211     038300

  3868              wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                        02       100217     038400

  3869                                         'SRV0004':'   ':SOAP:SOAP2);                             02       100217     038500

  3870              OutputDs2(1).errorId='SRV0004';                                                     02       100301     038600

  3871              OutputDs2(1).errorMsg=rtvmsgD('SRV0004':procedure);                                 02       100301     038700

  3872              pAllPhByMem=%addr(OutputDs2);                                                       02       100301     038800

  3873              return  pAllPhByMem;                                                                02       100301     038900

  3874            else;                                                                                X02       100203     039000

  3875              leave;                                                                              02       100203     039100

  3876            endif;                                                                               E02       100203     039200

  3877          enddo;                                                                                 E01       100203     039300

  3878                                                                                                           100203     039400

  3879                                                                                                           100203     039500

  3880   // The http_setCCSIDs() routine tells HTTPAPI to translate my XML document from EBCDIC/UTF-8            091204     039600

  3881   // unicode, because this is what the web service is expecting. 1208 is the CCSID for UTF-8              091204     039700

  3882   // unicode. 0 is a special value that means "use my jobs default CCSID," which will be EBCDIC           091204     039800

  3883   // in my environment.                                                                                   091204     039900

  3884                                                                                                           091204     040000

  3885   http_setCCSIDs(1208: 0);                                                                                091204     040100

  3886                                                                                                           091204     040200

  3887   // The http_debug() routine tells HTTPAPI to produce a log containing debugging information,            091204     040300

  3888   // which can be invaluable in troubleshooting HTTPAPI.                                                  091204     040400

  3889   // The debug file will be placed in the IFS under the name /tmp/httpapi_debug.txt.                      091204     040500

  3890                                                                                                           091204     040600

  3891         http_debug(*ON);                                                                                  100203     040700

  3892                                                                                                           091204     040800

  3893   SoapAct='SOAPACT2';                                                                                     091208     040900

  3894   http_xproc( HTTP_POINT_ADDL_HEADER                                                                      091204     041000

  3895             : %paddr(Add_SOAPACTION) );                                                                   091208     041100

  3896                                                                                                           091204     041200

  3897         open(e) mbfflcmtdt;                                                                               091204     041300

  3898         Ep =   'http://' +                                                                                091204     041400

  3899                %trim(GetValue('WEBSERVICE':'ENDPOINT2'))+                                                 091204     041500

  3900                Quote;                                                                                     091204     041600

  3901                                                                                                           091204     041700

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     80

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3902         dou retcod<>*blanks;                                                                    B01       100202     041800

  3903         error=*off;                                                                              01       091204     041900

  3904         rc = http_post_xml( Ep                                                                   01       091204     042000

  3905                           : %addr(SOAP) + VARYINGDATAOFFSET                                      01       091204     042100

  3906                           : %len(SOAP)                                                           01       091204     042200

  3907                           : *NULL                                                                01       091204     042300

  3908                           : %paddr(MapXmlData)                                                   01       100210     042400

  3909                           : %addr(xml_value)                                                     01       091204     042500

  3910                           : HTTP_TIMEOUT                                                         01       091204     042600

  3911                           : HTTP_USERAGENT                                                       01       091204     042700

  3912                           : 'text/xml; charset=UTF-8');                                          01       091204     042800

  3913                                                                                                           091204     042900

  3914   select;                                                                                       B02       100209     043000

  3915    when (rc=1);                                                                                 X02       100209     043100

  3916    if  error=*on and OutputDs2(error_elem).ErrorId='ERR0476';                                   B03       100222     043200

  3917       //retcod=sndrcverr('ERR0476':procedure);                 //VG-ERR0476-don't send to error     RA01  100825     043300

  3918       wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                               03       100222     043400

  3919                     OutputDs2(error_elem).ErrorId:                                               03       100222     043500

  3920                     OutputDs2(error_elem).ErrorMsg:SOAP:SOAP2);                                  03       100222     043600

  3921      leave;                                                                                      03 RA01  100825     043700

  3922    else;                                                                                        X03       100222     043800

  3923      leave;                                                                                      03       100222     043900

  3924    endif;                                                                                       E03       100222     044000

  3925    when rc=0;                                                                                   X02       100209     044100

  3926        retcod=sndrcverr('SRV0001':procedure);                                                    02       100209     044200

  3927        SOAP2=*blanks;                                                                            02       100211     044300

  3928        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100217     044400

  3929                                'SRV0001':'   ':SOAP:SOAP2);                                      02       100209     044500

  3930        OutputDs2(1).errorId='SRV0001';                                                           02       100301     044600

  3931        OutputDs2(1).errorMsg=rtvmsgD('SRV0001':'  ');                                            02       100301     044700

  3932    when rc=-1;                                                                                  X02       100209     044800

  3933        retcod=sndrcverr('SRV0003':procedure);                                                    02       100209     044900

  3934        SOAP2=*blanks;                                                                            02       100211     045000

  3935        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100217     045100

  3936                                'SRV0003':'   ':SOAP:SOAP2);                                      02       100209     045200

  3937        OutputDs2(1).errorId='SRV0003';                                                           02       100301     045300

  3938        OutputDs2(1).errorMsg=rtvmsgD('SRV0003':'  ');                                            02       100301     045400

  3939    when rc>1;                                                                                   X02       100209     045500

  3940        retcod=sndrcverr('SRV0002':procedure);                                                    02       100209     045600

  3941        SOAP2=*blanks;                                                                            02       100211     045700

  3942        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100217     045800

  3943                                'SRV0002':'   ':SOAP:SOAP2);                                      02       100209     045900

  3944        OutputDs2(1).errorId='SRV0002';                                                           02       100301     046000

  3945        OutputDs2(1).errorMsg=rtvmsgD('SRV0002':'  ');                                            02       100301     046100

  3946    endsl;                                                                                       E02       100209     046200

  3947                                                                                                           100209     046300

  3948    enddo;                                                                                       E01       100202     046400

  3949                                                                                                           091204     046500

  3950           if error_elem=0;                                                                      B01       100210     046600

  3951           error_elem=1;                                                                          01       100210     046700

  3952           endif;                                                                                E01       100210     046800

  3953                                                                                                           100210     046900

  3954           wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                                    100217     047000

  3955                         OutputDs2(error_elem).ErrorId:                                                    100217     047100

  3956                         OutputDs2(error_elem).ErrorMsg:SOAP:SOAP2);                                       100222     047200

  3957           pAllPhByMem=%addr(OutputDs2);                                                                   100210     047300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     81

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  3958           return  pAllPhByMem;                                                                            091211     047400

  3959                                                                                                           091204     047500

  3960  /end-free                                                                                                091204     047600

  3961 P                 e                                                                                       091204     047700

  3962                                                                                                           091204     047800

  3963  *******************************************************************************                          100210     047900

  3964 P getPhoneByType  B                   Export                                                              091208     048000

  3965  *******************************************************************************                          100210     048100

  3966                                                                                                           091208     048200

  3967  /Define cpy_getPhoneByType_Interface                                                                     091208     048300

  3968  /copy Qrpglesrc,CB.Phones                                                                                091208     048400

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    22

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    22

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    22

        *--------------------------------------------------------------------------------------------*

  3969+ *-----------------------------------------------------------------------------*                          091207   22000100

  3970+ *-                                                                            *                          091207   22000200

  3971+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   22000300

  3972+ *-                                                                            *                          091207   22000400

  3973+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   22000500

  3974+ *-                                                                            *                          091207   22000600

  3975+ *-----------------------------------------------------------------------------*                          091207   22000700

  3976+ *-                                                                            *                          091207   22000800

  3977+ *-                  M O D I F I C A T I O N S                                 *                          091207   22000900

  3978+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   22001000

  3979+ *- Date       User ID    Task #     Description                               *                          091207   22001100

  3980+ *- ----       -------    --------   -----------                               *                          091207   22001200

  3981+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   22001300

  3982+ *                                                                             *                          091207   22001400

  3983+ *-----------------------------------------------------------------------------*                          091207   22001500

  3984+ *-- Prototypes                                                                                           091208   22001601

  3985+                                                                                                          091208   22001602

  3986+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   22001603

            LINES EXCLUDED: 2

  3987+ /EndIf                                                                                                   091207   22001900

  3988+                                                                                                          091207   22002000

  3989+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   22002002

            LINES EXCLUDED: 2

  3990+ /EndIf                                                                                                   091207   22002006

  3991+ *                                                                                                        091207   22002200

  3992+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   22002202

            LINES EXCLUDED: 3

  3993+ /EndIf                                                                                                   091208   22002206

  3994+                                                                                                          091208   22002207

  3995+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   22002208

            LINES EXCLUDED: 2

  3996+ /EndIf                                                                                                   091208   22002214

  3997+                                                                                                          091208   22002215

  3998+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   22002216

            LINES EXCLUDED: 2

  3999+ /EndIf                                                                                                   091209   22002219

  4000+                                                                                                          091209   22002220

  4001+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   22002221

            LINES EXCLUDED: 4

  4002+ /EndIf                                                                                                   091208   22002226

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     82

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4003+ *                                                                                                        091208   22002227

  4004+ *-- Data Structures                                                                                      091208   22002228

  4005+                                                                                                          091208   22002229

  4006+ /If Defined (cpy_WebServices_Ds)                                                                         091210   22002230

            LINES EXCLUDED: 24

  4007+ /EndIf                                                                                                   100104   22002267

  4008+                                                                                                          100104   22002268

  4009+ *-- Outputs                                                                                              091208   22002286

  4010+                                                                                                          091208   22002287

  4011+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   22002503

            LINES EXCLUDED: 10

  4012+ /EndIf                                                                                                   091207   22002600

  4013+                                                                                                          091207   22002601

  4014+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   22002700

            LINES EXCLUDED: 12

  4015+ /EndIf                                                                                                   091207   22003500

  4016+                                                                                                          091207   22003501

  4017+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   22003502

            LINES EXCLUDED: 10

  4018+ /EndIf                                                                                                   091208   22003519

  4019+                                                                                                          091208   22003520

  4020+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   22003521

            LINES EXCLUDED: 9

  4021+ /EndIf                                                                                                   091209   22003541

  4022+                                                                                                          091209   22003542

  4023+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   22003543

            LINES EXCLUDED: 11

  4024+ /EndIf                                                                                                   091209   22003555

  4025+                                                                                                          091209   22003556

  4026+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   22003557

            LINES EXCLUDED: 10

  4027+ /EndIf                                                                                                   091209   22003569

  4028+                                                                                                          091209   22003570

  4029+ *-- Procedure Interfaces                                                                                 091208   22003600

  4030+                                                                                                          091208   22003601

  4031+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   22003602

            LINES EXCLUDED: 2

  4032+ /EndIf                                                                                                   091207   22003900

  4033+                                                                                                          091207   22004000

  4034+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   22004200

            LINES EXCLUDED: 2

  4035+ /EndIf                                                                                                   091207   22004600

  4036+                                                                                                          091208   22004700

  4037+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   22004800

  4038+d getPhoneByType  PI              *                                                                       091210   22004900

  4039+d   MemberNum                    7s 0 const                                                               091216   22005000

  4040+d   PhoneType                    4a   const                                                               091208   22005100

  4041+ /EndIf                                                                                                   091208   22005200

  4042+                                                                                                          091208   22005202

  4043+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   22005203

            LINES EXCLUDED: 2

  4044+ /EndIf                                                                                                   091208   22005209

  4045+                                                                                                          091208   22005210

  4046+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   22005211

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     83

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

            LINES EXCLUDED: 2

  4047+ /EndIf                                                                                                   091209   22005214

  4048+                                                                                                          091209   22005215

  4049+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   22005216

            LINES EXCLUDED: 4

  4050+ /EndIf                                                                                                   091208   22005221

  4051+                                                                                                          091208   22005300

  4052  /Undefine cpy_getPhoneByType_Interface                                                                   091208     048500

  4053                                                                                                           091208     048600

  4054  /free                                                                                                    091208     048700

  4055                                                                                                           091208     048800

  4056       clear OutputDs;                                                                                     100210     048900

  4057       clear d@PhoneOut;                                                                                   091214     049000

  4058       procedure='GetPhoneByType';                                                                         100203     049100

  4059                                                                                                           100210     049200

  4060          dou retcod='C' or retcod='c';                                                          B01       100210     049300

  4061            active=getActiveFlg(procedure);                                                       01       100210     049400

  4062            if active='N';                                                                       B02       100210     049500

  4063              retcod=sndrcverr('SRV0004':procedure);                                              02       100210     049600

  4064              wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                        02       100301     049700

  4065                                         'SRV0004':'   ':SOAP:SOAP2);                             02       100301     049800

  4066              OutputDs3.errorId='SRV0004';                                                        02       100301     049900

  4067              OutputDs3.errorMsg=rtvmsgD('SRV0004':procedure);                                    02       100301     050000

  4068              pPhoneByType=%addr(OutputDs3);                                                      02       100301     050100

  4069              return  pPhoneByType;                                                               02       100301     050200

  4070            else;                                                                                X02       100210     050300

  4071              leave;                                                                              02       100210     050400

  4072            endif;                                                                               E02       100210     050500

  4073          enddo;                                                                                 E01       100210     050600

  4074                                                                                                           100210     050700

  4075       pPhonesByMem = GetPhonesByMem(MemberNum);                                                           091211     050800

  4076                                                                                                           091208     050900

  4077       procedure='GetPhoneByType';                                                                         100309     051000

  4078       clear OutputDs3;                                                                                    091208     051100

  4079       for #o = 1 to 12 by 1;                                                                    B01       091208     051200

  4080          %occur(d@PhoneOut) = #o;                                                                01       091208     051300

  4081          if D@PhoneOut.mbphty = *blanks;                                                        B02       091208     051400

  4082             leave;                                                                               02       091208     051500

  4083          else;                                                                                  X02       091208     051600

  4084          if D@PhoneOut.mbphty=PhoneType;                                                        B03       091208     051700

  4085             OutputDs3.Contact = PhonesOut.Contact;                                               03       091210     051800

  4086             OutputDs3.ErrorId = OutputDs.ErrorId;                                                03       091208     051900

  4087             OutputDs3.ErrorMsg = OutputDs.ErrorMsg;                                              03       091208     052000

  4088             OutputDs3.CPhones = d@PhoneOut;                                                      03       091208     052100

  4089             OutputDs3.CPhones2 = d@PhoneOut2;                                                    03       091208     052200

  4090          endif;                                                                                 E03       091208     052300

  4091          endif;                                                                                 E02       091208     052400

  4092                                                                                                           091208     052500

  4093       endfor;                                                                                   E01       091208     052600

  4094                                                                                                           091208     052700

  4095       if OutputDs3.CPhones = *blanks;                                                           B01       100105     052800

  4096          OutputDs3.ErrorId='NRF0001';                                                            01       100211     052900

  4097          OutputDs3.ErrorMsg=rtvmsgD(OutputDs3.ErrorId:' ');                                      01       100211     053000

  4098       endif;                                                                                    E01       100105     053100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     84

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4099                                                                                                           100105     053200

  4100       wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                                        100217     053300

  4101              OutputDs3.ErrorId:OutputDs3.ErrorMsg:SOAP:SOAP2);                                            100210     053400

  4102       pPhoneByType=%addr(OutputDs3);                                                                      091211     053500

  4103       return  pPhoneByType;                                                                               091211     053600

  4104                                                                                                           091208     053700

  4105  /end-free                                                                                                091208     053800

  4106 P                 e                                                                                       091208     053900

  4107                                                                                                           091208     054000

  4108  *******************************************************************************                          100210     054100

  4109 P getPhoneCount   B                   export                                                              091208     054200

  4110  *******************************************************************************                          100210     054300

  4111                                                                                                           091208     054400

  4112  /Define cpy_getPhoneCount_Interface                                                                      091208     054500

  4113  /copy Qrpglesrc,CB.Phones                                                                                091208     054600

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    23

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    23

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    23

        *--------------------------------------------------------------------------------------------*

  4114+ *-----------------------------------------------------------------------------*                          091207   23000100

  4115+ *-                                                                            *                          091207   23000200

  4116+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   23000300

  4117+ *-                                                                            *                          091207   23000400

  4118+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   23000500

  4119+ *-                                                                            *                          091207   23000600

  4120+ *-----------------------------------------------------------------------------*                          091207   23000700

  4121+ *-                                                                            *                          091207   23000800

  4122+ *-                  M O D I F I C A T I O N S                                 *                          091207   23000900

  4123+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   23001000

  4124+ *- Date       User ID    Task #     Description                               *                          091207   23001100

  4125+ *- ----       -------    --------   -----------                               *                          091207   23001200

  4126+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   23001300

  4127+ *                                                                             *                          091207   23001400

  4128+ *-----------------------------------------------------------------------------*                          091207   23001500

  4129+ *-- Prototypes                                                                                           091208   23001601

  4130+                                                                                                          091208   23001602

  4131+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   23001603

            LINES EXCLUDED: 2

  4132+ /EndIf                                                                                                   091207   23001900

  4133+                                                                                                          091207   23002000

  4134+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   23002002

            LINES EXCLUDED: 2

  4135+ /EndIf                                                                                                   091207   23002006

  4136+ *                                                                                                        091207   23002200

  4137+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   23002202

            LINES EXCLUDED: 3

  4138+ /EndIf                                                                                                   091208   23002206

  4139+                                                                                                          091208   23002207

  4140+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   23002208

            LINES EXCLUDED: 2

  4141+ /EndIf                                                                                                   091208   23002214

  4142+                                                                                                          091208   23002215

  4143+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   23002216

            LINES EXCLUDED: 2

  4144+ /EndIf                                                                                                   091209   23002219

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     85

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4145+                                                                                                          091209   23002220

  4146+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   23002221

            LINES EXCLUDED: 4

  4147+ /EndIf                                                                                                   091208   23002226

  4148+ *                                                                                                        091208   23002227

  4149+ *-- Data Structures                                                                                      091208   23002228

  4150+                                                                                                          091208   23002229

  4151+ /If Defined (cpy_WebServices_Ds)                                                                         091210   23002230

            LINES EXCLUDED: 24

  4152+ /EndIf                                                                                                   100104   23002267

  4153+                                                                                                          100104   23002268

  4154+ *-- Outputs                                                                                              091208   23002286

  4155+                                                                                                          091208   23002287

  4156+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   23002503

            LINES EXCLUDED: 10

  4157+ /EndIf                                                                                                   091207   23002600

  4158+                                                                                                          091207   23002601

  4159+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   23002700

            LINES EXCLUDED: 12

  4160+ /EndIf                                                                                                   091207   23003500

  4161+                                                                                                          091207   23003501

  4162+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   23003502

            LINES EXCLUDED: 10

  4163+ /EndIf                                                                                                   091208   23003519

  4164+                                                                                                          091208   23003520

  4165+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   23003521

            LINES EXCLUDED: 9

  4166+ /EndIf                                                                                                   091209   23003541

  4167+                                                                                                          091209   23003542

  4168+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   23003543

            LINES EXCLUDED: 11

  4169+ /EndIf                                                                                                   091209   23003555

  4170+                                                                                                          091209   23003556

  4171+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   23003557

            LINES EXCLUDED: 10

  4172+ /EndIf                                                                                                   091209   23003569

  4173+                                                                                                          091209   23003570

  4174+ *-- Procedure Interfaces                                                                                 091208   23003600

  4175+                                                                                                          091208   23003601

  4176+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   23003602

            LINES EXCLUDED: 2

  4177+ /EndIf                                                                                                   091207   23003900

  4178+                                                                                                          091207   23004000

  4179+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   23004200

            LINES EXCLUDED: 2

  4180+ /EndIf                                                                                                   091207   23004600

  4181+                                                                                                          091208   23004700

  4182+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   23004800

            LINES EXCLUDED: 3

  4183+ /EndIf                                                                                                   091208   23005200

  4184+                                                                                                          091208   23005202

  4185+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   23005203

  4186+d getPhoneCount   PI              *                                                                       091210   23005204

  4187+d   MemberNum                    7s 0 const                                                               091216   23005206

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     86

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4188+ /EndIf                                                                                                   091208   23005209

  4189+                                                                                                          091208   23005210

  4190+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   23005211

            LINES EXCLUDED: 2

  4191+ /EndIf                                                                                                   091209   23005214

  4192+                                                                                                          091209   23005215

  4193+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   23005216

            LINES EXCLUDED: 4

  4194+ /EndIf                                                                                                   091208   23005221

  4195+                                                                                                          091208   23005300

  4196  /Undefine cpy_getPhoneCount_Interface                                                                    091208     054700

  4197                                                                                                           091208     054800

  4198  /free                                                                                                    091208     054900

  4199                                                                                                           091208     055000

  4200     clear OutputDs;                                                                                       091211     055100

  4201     procedure='GetPhoneCount';                                                                            100203     055200

  4202                                                                                                           100210     055300

  4203          dou retcod='C' or retcod='c';                                                          B01       100210     055400

  4204            active=getActiveFlg(procedure);                                                       01       100210     055500

  4205            if active='N';                                                                       B02       100210     055600

  4206              retcod=sndrcverr('SRV0004':procedure);                                              02       100210     055700

  4207              wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                        02       100301     055800

  4208                                         'SRV0004':'   ':SOAP:SOAP2);                             02       100301     055900

  4209              OutputDs4.errorId='SRV0004';                                                        02       100301     056000

  4210              OutputDs4.errorMsg=rtvmsgD('SRV0004':procedure);                                    02       100301     056100

  4211              pPhoneCount=%addr(OutputDs4);                                                       02       100301     056200

  4212              return pPhoneCount;                                                                 02       100301     056300

  4213            else;                                                                                X02       100210     056400

  4214              leave;                                                                              02       100210     056500

  4215            endif;                                                                               E02       100210     056600

  4216          enddo;                                                                                 E01       100210     056700

  4217                                                                                                           100210     056800

  4218     pPhonesByMem = GetPhonesByMem(MemberNum);                                                             091211     056900

  4219                                                                                                           091208     057000

  4220     procedure='GetPhoneCount';                                                                            100309     057100

  4221     reset phoneCount;                                                                                     091208     057200

  4222     For #o = 1 to 12 by 1;                                                                      B01       091208     057300

  4223          %occur(d@PhoneOut) = #o;                                                                01       091208     057400

  4224          if D@PhoneOut.mbphty = *blanks;                                                        B02       091208     057500

  4225             leave;                                                                               02       091208     057600

  4226          endif;                                                                                 E02       091208     057700

  4227          phoneCount = phoneCount + 1;                                                            01       091208     057800

  4228     endfor;                                                                                     E01       091208     057900

  4229                                                                                                           091208     058000

  4230      OutputDs4.contact=OutputDs.contact;                                                                  091211     058100

  4231      OutputDs4.count=phoneCount;                                                                          091211     058200

  4232      OutputDs4.ErrorId=OutputDs.ErrorId;                                                                  091211     058300

  4233      OutputDs4.ErrorMsg=OutputDs.ErrorMsg;                                                                091211     058400

  4234                                                                                                           091209     058500

  4235       wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                                        100217     058600

  4236              OutputDs4.ErrorId:OutputDs4.ErrorMsg:SOAP:SOAP2);                                            100210     058700

  4237     pPhoneCount=%addr(OutputDs4);                                                                         091211     058800

  4238     return pPhoneCount;                                                                                   091211     058900

  4239                                                                                                           091208     059000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     87

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4240  /end-free                                                                                                091208     059100

  4241 P                 e                                                                                       091208     059200

  4242                                                                                                           091208     059300

  4243  *******************************************************************************                          100210     059400

  4244 P getAllPhCount   B                   export                                                              091209     059500

  4245  *******************************************************************************                          100210     059600

  4246                                                                                                           091209     059700

  4247  /Define cpy_getAllPhCount_Interface                                                                      091209     059800

  4248  /copy Qrpglesrc,CB.Phones                                                                                091209     059900

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    24

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    24

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    24

        *--------------------------------------------------------------------------------------------*

  4249+ *-----------------------------------------------------------------------------*                          091207   24000100

  4250+ *-                                                                            *                          091207   24000200

  4251+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   24000300

  4252+ *-                                                                            *                          091207   24000400

  4253+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   24000500

  4254+ *-                                                                            *                          091207   24000600

  4255+ *-----------------------------------------------------------------------------*                          091207   24000700

  4256+ *-                                                                            *                          091207   24000800

  4257+ *-                  M O D I F I C A T I O N S                                 *                          091207   24000900

  4258+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   24001000

  4259+ *- Date       User ID    Task #     Description                               *                          091207   24001100

  4260+ *- ----       -------    --------   -----------                               *                          091207   24001200

  4261+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   24001300

  4262+ *                                                                             *                          091207   24001400

  4263+ *-----------------------------------------------------------------------------*                          091207   24001500

  4264+ *-- Prototypes                                                                                           091208   24001601

  4265+                                                                                                          091208   24001602

  4266+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   24001603

            LINES EXCLUDED: 2

  4267+ /EndIf                                                                                                   091207   24001900

  4268+                                                                                                          091207   24002000

  4269+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   24002002

            LINES EXCLUDED: 2

  4270+ /EndIf                                                                                                   091207   24002006

  4271+ *                                                                                                        091207   24002200

  4272+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   24002202

            LINES EXCLUDED: 3

  4273+ /EndIf                                                                                                   091208   24002206

  4274+                                                                                                          091208   24002207

  4275+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   24002208

            LINES EXCLUDED: 2

  4276+ /EndIf                                                                                                   091208   24002214

  4277+                                                                                                          091208   24002215

  4278+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   24002216

            LINES EXCLUDED: 2

  4279+ /EndIf                                                                                                   091209   24002219

  4280+                                                                                                          091209   24002220

  4281+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   24002221

            LINES EXCLUDED: 4

  4282+ /EndIf                                                                                                   091208   24002226

  4283+ *                                                                                                        091208   24002227

  4284+ *-- Data Structures                                                                                      091208   24002228

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     88

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4285+                                                                                                          091208   24002229

  4286+ /If Defined (cpy_WebServices_Ds)                                                                         091210   24002230

            LINES EXCLUDED: 24

  4287+ /EndIf                                                                                                   100104   24002267

  4288+                                                                                                          100104   24002268

  4289+ *-- Outputs                                                                                              091208   24002286

  4290+                                                                                                          091208   24002287

  4291+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   24002503

            LINES EXCLUDED: 10

  4292+ /EndIf                                                                                                   091207   24002600

  4293+                                                                                                          091207   24002601

  4294+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   24002700

            LINES EXCLUDED: 12

  4295+ /EndIf                                                                                                   091207   24003500

  4296+                                                                                                          091207   24003501

  4297+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   24003502

            LINES EXCLUDED: 10

  4298+ /EndIf                                                                                                   091208   24003519

  4299+                                                                                                          091208   24003520

  4300+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   24003521

            LINES EXCLUDED: 9

  4301+ /EndIf                                                                                                   091209   24003541

  4302+                                                                                                          091209   24003542

  4303+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   24003543

            LINES EXCLUDED: 11

  4304+ /EndIf                                                                                                   091209   24003555

  4305+                                                                                                          091209   24003556

  4306+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   24003557

            LINES EXCLUDED: 10

  4307+ /EndIf                                                                                                   091209   24003569

  4308+                                                                                                          091209   24003570

  4309+ *-- Procedure Interfaces                                                                                 091208   24003600

  4310+                                                                                                          091208   24003601

  4311+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   24003602

            LINES EXCLUDED: 2

  4312+ /EndIf                                                                                                   091207   24003900

  4313+                                                                                                          091207   24004000

  4314+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   24004200

            LINES EXCLUDED: 2

  4315+ /EndIf                                                                                                   091207   24004600

  4316+                                                                                                          091208   24004700

  4317+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   24004800

            LINES EXCLUDED: 3

  4318+ /EndIf                                                                                                   091208   24005200

  4319+                                                                                                          091208   24005202

  4320+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   24005203

            LINES EXCLUDED: 2

  4321+ /EndIf                                                                                                   091208   24005209

  4322+                                                                                                          091208   24005210

  4323+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   24005211

  4324+d getAllPhCount   PI              *                                                                       091209   24005212

  4325+d   MemberNum                    7s 0 const                                                               091216   24005213

  4326+ /EndIf                                                                                                   091209   24005214

  4327+                                                                                                          091209   24005215

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     89

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4328+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   24005216

            LINES EXCLUDED: 4

  4329+ /EndIf                                                                                                   091208   24005221

  4330+                                                                                                          091208   24005300

  4331  /Undefine cpy_getAllPhCount_Interface                                                                    091209     060000

  4332                                                                                                           091209     060100

  4333  /free                                                                                                    091209     060200

  4334                                                                                                           091209     060300

  4335       procedure='GetAllPhCount';                                                                          100203     060400

  4336                                                                                                           100210     060500

  4337          dou retcod='C' or retcod='c';                                                          B01       100210     060600

  4338            active=getActiveFlg(procedure);                                                       01       100210     060700

  4339            if active='N';                                                                       B02       100210     060800

  4340              retcod=sndrcverr('SRV0004':procedure);                                              02       100210     060900

  4341              wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                        02       100301     061000

  4342                                         'SRV0004':'   ':SOAP:SOAP2);                             02       100301     061100

  4343              OutputDs5(1).errorId='SRV0004';                                                     02       100301     061200

  4344              OutputDs5(1).errorMsg=rtvmsgD('SRV0004':procedure);                                 02       100301     061300

  4345              pAllPhByMem=%addr(OutputDs5);                                                       02       100301     061400

  4346              return pAllPhByMem;                                                                 02       100301     061500

  4347            else;                                                                                X02       100210     061600

  4348              leave;                                                                              02       100210     061700

  4349            endif;                                                                               E02       100210     061800

  4350          enddo;                                                                                 E01       100210     061900

  4351                                                                                                           100210     062000

  4352       pAllPhByMem = GetAllPhByMem(MemberNum);                                                             091211     062100

  4353                                                                                                           091209     062200

  4354     procedure='GetAllPhCount';                                                                            100309     062300

  4355     For #c = 1 to 99 by 1;                                                                      B01       091209     062400

  4356       if PhonesOut2(#c).Contact= *blanks;                                                       B02       091210     062500

  4357          leave;                                                                                  02       091209     062600

  4358       endif;                                                                                    E02       091209     062700

  4359       reset phoneCount;                                                                          01       091209     062800

  4360       For #o = 1 to 12 by 1;                                                                    B02       091209     062900

  4361          if PhonesOut2(#c).Cphones(#o) = *blanks;                                               B03       091210     063000

  4362             leave;                                                                               03       091209     063100

  4363          endif;                                                                                 E03       091209     063200

  4364          phoneCount = phoneCount + 1;                                                            02       091209     063300

  4365       endfor;                                                                                   E02       091209     063400

  4366         OutputDs5(#c).contact=PhonesOut2(#c).contact;                                            01       091210     063500

  4367         OutputDs5(#c).primary=PhonesOut2(#c).primary;                                            01       100210     063600

  4368         OutputDs5(#c).count=phoneCount;                                                          01       091209     063700

  4369         OutputDs5(#c).ErrorId=PhonesOut2(#c).ErrorId;                                            01       091210     063800

  4370         OutputDs5(#c).ErrorMsg=PhonesOut2(#c).ErrorMsg;                                          01       091210     063900

  4371       endfor;                                                                                   E01       091209     064000

  4372                                                                                                           091209     064100

  4373     if error_elem=0;                                                                            B01       100210     064200

  4374       error_elem=1;                                                                              01       100210     064300

  4375     endif;                                                                                      E01       100210     064400

  4376                                                                                                           100210     064500

  4377     wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                                          100217     064600

  4378            OutputDs5(error_elem).ErrorId:                                                                 100210     064700

  4379            OutputDs5(error_elem).ErrorMsg:SOAP:SOAP2);                                                    100210     064800

  4380     pAllPhByMem=%addr(OutputDs5);                                                                         091214     064900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     90

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4381     return pAllPhByMem;                                                                                   091214     065000

  4382                                                                                                           091209     065100

  4383  /end-free                                                                                                091209     065200

  4384 P                 e                                                                                       091209     065300

  4385                                                                                                           091209     065400

  4386  *******************************************************************************                          100210     065500

  4387 P getMemByPhone   B                   export                                                              091208     065600

  4388  *******************************************************************************                          100210     065700

  4389                                                                                                           091208     065800

  4390  /Define cpy_getMemByPhone_Interface                                                                      091208     065900

  4391  /copy Qrpglesrc,CB.Phones                                                                                091208     066000

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.PHONES                                                    *                    25

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.PHONES)                                   *                    25

        * Last change  . . . . . . . :  04/07/10  11:38:04                                           *                    25

        *--------------------------------------------------------------------------------------------*

  4392+ *-----------------------------------------------------------------------------*                          091207   25000100

  4393+ *-                                                                            *                          091207   25000200

  4394+ *- Copy Book   :  CB.PHONES Phones Service Copy Book                         *                           100219   25000300

  4395+ *-                                                                            *                          091207   25000400

  4396+ *- Description :  Membership Re-Architecture Phones Service Copy Book         *                          091207   25000500

  4397+ *-                                                                            *                          091207   25000600

  4398+ *-----------------------------------------------------------------------------*                          091207   25000700

  4399+ *-                                                                            *                          091207   25000800

  4400+ *-                  M O D I F I C A T I O N S                                 *                          091207   25000900

  4401+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091207   25001000

  4402+ *- Date       User ID    Task #     Description                               *                          091207   25001100

  4403+ *- ----       -------    --------   -----------                               *                          091207   25001200

  4404+ *- 2009-12-06 JCabrera   RA010004   Copy Book Written                         *                          091207   25001300

  4405+ *                                                                             *                          091207   25001400

  4406+ *-----------------------------------------------------------------------------*                          091207   25001500

  4407+ *-- Prototypes                                                                                           091208   25001601

  4408+                                                                                                          091208   25001602

  4409+ /If Defined (cpy_getPhonesByMem_Prototype)                                                               091207   25001603

            LINES EXCLUDED: 2

  4410+ /EndIf                                                                                                   091207   25001900

  4411+                                                                                                          091207   25002000

  4412+ /If Defined (cpy_getAllPhByMem_Prototype)                                                                091207   25002002

            LINES EXCLUDED: 2

  4413+ /EndIf                                                                                                   091207   25002006

  4414+ *                                                                                                        091207   25002200

  4415+ /If Defined (cpy_getPhoneByType_Prototype)                                                               091208   25002202

            LINES EXCLUDED: 3

  4416+ /EndIf                                                                                                   091208   25002206

  4417+                                                                                                          091208   25002207

  4418+ /If Defined (cpy_getPhoneCount_Prototype)                                                                091208   25002208

            LINES EXCLUDED: 2

  4419+ /EndIf                                                                                                   091208   25002214

  4420+                                                                                                          091208   25002215

  4421+ /If Defined (cpy_getAllPhCount_Prototype)                                                                091209   25002216

            LINES EXCLUDED: 2

  4422+ /EndIf                                                                                                   091209   25002219

  4423+                                                                                                          091209   25002220

  4424+ /If Defined (cpy_getMemByPhone_Prototype)                                                                091208   25002221

            LINES EXCLUDED: 4

  4425+ /EndIf                                                                                                   091208   25002226

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     91

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4426+ *                                                                                                        091208   25002227

  4427+ *-- Data Structures                                                                                      091208   25002228

  4428+                                                                                                          091208   25002229

  4429+ /If Defined (cpy_WebServices_Ds)                                                                         091210   25002230

            LINES EXCLUDED: 24

  4430+ /EndIf                                                                                                   100104   25002267

  4431+                                                                                                          100104   25002268

  4432+ *-- Outputs                                                                                              091208   25002286

  4433+                                                                                                          091208   25002287

  4434+ /If Defined (cpy_getPhonesByMem_Output)                                                                  091207   25002503

            LINES EXCLUDED: 10

  4435+ /EndIf                                                                                                   091207   25002600

  4436+                                                                                                          091207   25002601

  4437+ /If Defined (cpy_getAllPhByMem_Output)                                                                   091207   25002700

            LINES EXCLUDED: 12

  4438+ /EndIf                                                                                                   091207   25003500

  4439+                                                                                                          091207   25003501

  4440+ /If Defined (cpy_getPhoneByType_Output)                                                                  091208   25003502

            LINES EXCLUDED: 10

  4441+ /EndIf                                                                                                   091208   25003519

  4442+                                                                                                          091208   25003520

  4443+ /If Defined (cpy_getPhoneCount_Output)                                                                   091211   25003521

            LINES EXCLUDED: 9

  4444+ /EndIf                                                                                                   091209   25003541

  4445+                                                                                                          091209   25003542

  4446+ /If Defined (cpy_getAllPhCount_Output)                                                                   091209   25003543

            LINES EXCLUDED: 11

  4447+ /EndIf                                                                                                   091209   25003555

  4448+                                                                                                          091209   25003556

  4449+ /If Defined (cpy_getMemByPhone_Output)                                                                   091209   25003557

            LINES EXCLUDED: 10

  4450+ /EndIf                                                                                                   091209   25003569

  4451+                                                                                                          091209   25003570

  4452+ *-- Procedure Interfaces                                                                                 091208   25003600

  4453+                                                                                                          091208   25003601

  4454+ /If Defined (cpy_getPhonesByMem_Interface)                                                               091207   25003602

            LINES EXCLUDED: 2

  4455+ /EndIf                                                                                                   091207   25003900

  4456+                                                                                                          091207   25004000

  4457+ /If Defined (cpy_getAllPhByMem_Interface)                                                                091207   25004200

            LINES EXCLUDED: 2

  4458+ /EndIf                                                                                                   091207   25004600

  4459+                                                                                                          091208   25004700

  4460+ /If Defined (cpy_getPhoneByType_Interface)                                                               091208   25004800

            LINES EXCLUDED: 3

  4461+ /EndIf                                                                                                   091208   25005200

  4462+                                                                                                          091208   25005202

  4463+ /If Defined (cpy_getPhoneCount_Interface)                                                                091208   25005203

            LINES EXCLUDED: 2

  4464+ /EndIf                                                                                                   091208   25005209

  4465+                                                                                                          091208   25005210

  4466+ /If Defined (cpy_getAllPhCount_Interface)                                                                091209   25005211

            LINES EXCLUDED: 2

  4467+ /EndIf                                                                                                   091209   25005214

  4468+                                                                                                          091209   25005215

  4469+ /If Defined (cpy_getMemByPhone_Interface)                                                                091208   25005216

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     92

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4470+d getMemByPhone   PI              *                                                                       091210   25005217

  4471+d   CountryCode                  6A   const                                                               091208   25005218

  4472+d   CityCode                     6A   const                                                               091208   25005219

  4473+d   PhoneNumber                 10A   const                                                               091208   25005220

  4474+ /EndIf                                                                                                   091208   25005221

  4475+                                                                                                          091208   25005300

  4476  /Undefine cpy_getMemByPhone_Interface                                                                    091208     066100

  4477                                                                                                           091208     066200

  4478  /free                                                                                                    091208     066300

  4479                                                                                                           091208     066400

  4480       Clear OutputDs6;                                                                                    100317     066500

  4481       TrueFalse='true';                                                                                   100317     066600

  4482       setSOAPMemByPh(CountryCode:CityCode:PhoneNumber);                                                   100317     066700

  4483       procedure='GetMemByPhone';                                                                          100210     066800

  4484                                                                                                           100210     066900

  4485          dou retcod='C' or retcod='c';                                                          B01       100210     067000

  4486            active=getActiveFlg(procedure);                                                       01       100210     067100

  4487            if active='N';                                                                       B02       100210     067200

  4488              retcod=sndrcverr('SRV0004':procedure);                                              02       100210     067300

  4489              wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:0:0:                                02       100301     067400

  4490                                         'SRV0004':'   ':SOAP:SOAP2);                             02       100301     067500

  4491              OutputDs6(1).errorId='SRV0004';                                                     02       100326     067600

  4492              OutputDs6(1).errorMsg=rtvmsgD('SRV0004':procedure);                                 02       100326     067700

  4493              pMemByPhone=%addr(OutputDs6);                                                       02       100301     067800

  4494              Return pMemByPhone;                                                                 02       100301     067900

  4495            else;                                                                                X02       100210     068000

  4496              leave;                                                                              02       100210     068100

  4497            endif;                                                                               E02       100210     068200

  4498          enddo;                                                                                 E01       100210     068300

  4499                                                                                                           100210     068400

  4500   http_setCCSIDs(1208: 0);                                                                                100317     068500

  4501                                                                                                           100317     068600

  4502   // The http_debug() routine tells HTTPAPI to produce a log containing debugging information,            100317     068700

  4503   // which can be invaluable in troubleshooting HTTPAPI.                                                  100317     068800

  4504   // The debug file will be placed in the IFS under the name /tmp/httpapi_debug.txt.                      100317     068900

  4505                                                                                                           100317     069000

  4506         http_debug(*ON);                                                                                  100317     069100

  4507                                                                                                           100317     069200

  4508   SoapAct='SOAPACT';                                                                                      100317     069300

  4509   http_xproc( HTTP_POINT_ADDL_HEADER                                                                      100317     069400

  4510             : %paddr(Add_SOAPACTION) );                                                                   100317     069500

  4511                                                                                                           100317     069600

  4512         open(e) mbfflcmtdt;                                                                               100317     069700

  4513         Ep =   'http://' +                                                                                100317     069800

  4514                %trim(GetValue('WEBSERVICE':'ENDPOINT'))+                                                  100317     069900

  4515                Quote;                                                                                     100317     070000

  4516                                                                                                           100317     070100

  4517   dou retcod='C' or retcod='c';                                                                 B01       100317     070200

  4518         error=*off;                                                                              01       100317     070300

  4519         rc = http_post_xml( Ep                                                                   01       100317     070400

  4520                           : %addr(SOAP) + VARYINGDATAOFFSET                                      01       100317     070500

  4521                           : %len(SOAP)                                                           01       100317     070600

  4522                           : *NULL                                                                01       100317     070700

  4523                           : %paddr(MapXmlData)                                                   01       100317     070800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     93

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4524                           : %addr(xml_value)                                                     01       100317     070900

  4525                           : HTTP_TIMEOUT                                                         01       100317     071000

  4526                           : HTTP_USERAGENT                                                       01       100317     071100

  4527                           : 'text/xml; charset=UTF-8');                                          01       100317     071200

  4528                                                                                                           100317     071300

  4529   select;                                                                                       B02       100317     071400

  4530    when (rc=1);                                                                                 X02       100317     071500

  4531    if  error=*on and OutputDs2(error_elem).ErrorId='ERR0476';                                   B03       100317     071600

  4532       //retcod=sndrcverr('ERR0476':procedure);                 //VG-ERR0476-don't send to error     RA01  100825     071700

  4533       wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                               03       100317     071800

  4534                     OutputDs2(error_elem).ErrorId:                                               03       100317     071900

  4535                     OutputDs2(error_elem).ErrorMsg:SOAP:SOAP2);                                  03       100317     072000

  4536      leave;                                                    //VG-ERR0476-don't send to error  03 RA01  100825     072100

  4537    else;                                                                                        X03       100317     072200

  4538      leave;                                                                                      03       100317     072300

  4539    endif;                                                                                       E03       100317     072400

  4540    when rc=0;                                                                                   X02       100317     072500

  4541        retcod=sndrcverr('SRV0001':procedure);                                                    02       100317     072600

  4542        SOAP2=*blanks;                                                                            02       100317     072700

  4543        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100317     072800

  4544                                'SRV0001':'   ':SOAP:SOAP2);                                      02       100317     072900

  4545        OutputDs2(1).errorId='SRV0001';                                                           02       100317     073000

  4546        OutputDs2(1).errorMsg=rtvmsgD('SRV0001':'  ');                                            02       100317     073100

  4547    when rc=-1;                                                                                  X02       100317     073200

  4548        retcod=sndrcverr('SRV0003':procedure);                                                    02       100317     073300

  4549        SOAP2=*blanks;                                                                            02       100317     073400

  4550        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100317     073500

  4551                                'SRV0003':'   ':SOAP:SOAP2);                                      02       100317     073600

  4552        OutputDs2(1).errorId='SRV0003';                                                           02       100317     073700

  4553        OutputDs2(1).errorMsg=rtvmsgD('SRV0003':'  ');                                            02       100317     073800

  4554    when rc>1;                                                                                   X02       100317     073900

  4555        retcod=sndrcverr('SRV0002':procedure);                                                    02       100317     074000

  4556        SOAP2=*blanks;                                                                            02       100317     074100

  4557        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:MemberNum:0:                              02       100317     074200

  4558                                'SRV0002':'   ':SOAP:SOAP2);                                      02       100317     074300

  4559        OutputDs2(1).errorId='SRV0002';                                                           02       100317     074400

  4560        OutputDs2(1).errorMsg=rtvmsgD('SRV0002':'  ');                                            02       100317     074500

  4561    endsl;                                                                                       E02       100317     074600

  4562                                                                                                           100317     074700

  4563   enddo;                                                                                        E01       100317     074800

  4564                                                                                                           100317     074900

  4565   pMemByPhone=%addr(OutputDs6);                                                                           091214     075000

  4566   Return pMemByPhone;                                                                                     091214     075100

  4567                                                                                                           091208     075200

  4568  /end-free                                                                                                091208     075300

  4569                                                                                                           091208     075400

  4570 P                 e                                                                                       091208     075500

  4571                                                                                                           091208     075600

  4572  *******************************************************************************                          100210     075700

  4573 P MapXmlData      B                                                                                       100210     075800

  4574  *******************************************************************************                          100210     075900

  4575 D MapXmlData      PI                                                                                      100210     076000

  4576 D   xml_data                    52a   varying                                                             091204     076100

  4577 D   depth                       10I 0 value                                                               091204     076200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     94

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4578 D   name                      1024A   varying const                                                       091204     076300

  4579 D   path                     24576A   varying const                                                       091204     076400

  4580 D   value                    65535A   varying const                                                       091204     076500

  4581 D   attrs                         *   dim(32767)                                                          091204     076600

  4582 D                                     const options(*varsize)                                             091204     076700

  4583 d Digits          c                   '0123456789'                                                  00TS  110104     076800

  4584 d Idx             s              5s 0 Inz                                                           00TS  110104     076900

  4585 d Idy             s              5s 0 Inz                                                           00TS  110104     077000

  4586 d Xtn_Data        s              5a   Inz                                                           00TS  110104     077100

  4587                                                                                                           091204     077200

  4588  /free                                                                                                    091204     077300

  4589                                                                                                           091204     077400

  4590     // Find variable...                                                                                   100329     077500

  4591          var_name = name;                                                                                 091204     077600

  4592          var_pos  = %scan(':':var_name);                                                                  091204     077700

  4593          var_name = %subst(var_name:var_pos + 1);                                                         091204     077800

  4594                                                                                                           091204     077900

  4595     // Find path...                                                                                       100329     078000

  4596        if path>*blanks;                                                                         B01       091204     078100

  4597          s=0;                                                                                    01       091204     078200

  4598          e = %checkR(' ':path);                                                                  01       091204     078300

  4599          dou s >= e;                                                                            B02       091204     078400

  4600            path_pos = %scan(':':path:s+1);                                                       02       091204     078500

  4601            if path_pos > 0;                                                                     B03       091204     078600

  4602            path_name = %subst(path:s+1:path_pos-(s+1));                                          03       091204     078700

  4603            s = path_pos;                                                                         03       091204     078800

  4604            else;                                                                                X03       091204     078900

  4605            path_name = %subst(path:s+1:e-s);                                                     03       091204     079000

  4606            leave;                                                                                03       091204     079100

  4607            endif;                                                                               E03       091204     079200

  4608          enddo;                                                                                 E02       091204     079300

  4609        endif;                                                                                   E01       091204     079400

  4610                                                                                                           091204     079500

  4611    // <Header>                                                                                            100329     079600

  4612          if (var_name = 'header');                                                              B01       100216     079700

  4613            clear *all d@PhoneOut;                                                                01       091204     079800

  4614            clear *all d@PhoneOut2;                                                               01       091207     079900

  4615            clear OutputDs2;                                                                      01       100210     080000

  4616            clear SOAP2;                                                                          01       100302     080100

  4617            #c=0;                                                                                 01       091204     080200

  4618            #m=0;                                                                                 01       100326     080300

  4619            #o=0;                                                                                 01       091204     080400

  4620            #e=0;                                                                                 01 00S2  101123     080500

  4621            error_elem=0;                                                                         01       100210     080600

  4622            primary_elem=0;                                                                       01       100210     080700

  4623            att1 = %str(attrs(1));                                                                01       100216     080800

  4624            att2 = %str(attrs(2));                                                                01       100216     080900

  4625            att3 = *blanks;                                                                       01       100211     081000

  4626            att4 = *blanks;                                                                       01       100211     081100

  4627            svdepth=999;                                                                          01       100216     081200

  4628          endif;                                                                                 E01       091204     081300

  4629                                                                                                           091204     081400

  4630    // <GetMembershipNumbersByTelephoneResponse>                                                           100329     081500

  4631    //     <MembershipNumberList>                                                                          100329     081600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     95

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4632                                                                                                           100317     081700

  4633       if path_name='MembershipNumberList';                                                      B01       100317     081800

  4634             if (var_name = 'MembershipNumber');                                                 B02       100317     081900

  4635                #m=#m+1;                                                                          02       100326     082000

  4636                xml_data = value;                                                                 02       100317     082100

  4637                if #m<100;                                                                       B03       100326     082200

  4638                  OutputDS6(#m).member=%dec(%trim(xml_data):7:0);                                 03       100326     082300

  4639                  if #m=1;                                                                       B04       100326     082400

  4640                    OutputDs6(1).Multiple='N';                                                    04       100326     082500

  4641                  else;                                                                          X04       100326     082600

  4642                    OutputDs6(1).Multiple='Y';                                                    04       100326     082700

  4643                    OutputDs6(#m).Multiple='Y';                                                   04       100326     082800

  4644                  endif;                                                                         E04       100326     082900

  4645                endif;                                                                           E03       100326     083000

  4646             endif;                                                                              E02       100326     083100

  4647       endif;                                                                                    E01       100317     083200

  4648                                                                                                           100317     083300

  4649    // <GetTelephonesByMembershipNumberResponse>                                                           100209     083400

  4650    //     <ContactList>                                                                                   100329     083500

  4651                                                                                                           091204     083600

  4652       if path_name='Contact';                                                                   B01       100209     083700

  4653                                                                                                           091207     083800

  4654          if (var_name = 'ContactId');                                                           B02       100209     083900

  4655             #c=#c+1;                                                                             02       100209     084000

  4656             xml_data = value;                                                                    02       091204     084100

  4657             OutputDs2(#c).contact = xml_data;                                                    02       100210     084200

  4658             #o=0;                                                                                02       091204     084300

  4659             clear *all d@PhoneOut;                                                               02       091204     084400

  4660             clear *all d@PhoneOut2;                                                              02       091207     084500

  4661          endif;                                                                                 E02       091204     084600

  4662                                                                                                           091204     084700

  4663          if (var_name = 'PrimaryInd');                                                          B02       100209     084800

  4664             xml_data = value;                                                                    02       100209     084900

  4665             select;                                                                             B03       100209     085000

  4666             when %trim(xml_data)='true';                                                        X03       100209     085100

  4667             wcontact=%dec(OutputDs2(#c).contact:10:0);                                           03       100216     085200

  4668             OutputDs2(#c).primary = '1';                                                         03       100210     085300

  4669             primary_elem=#c;                                                                     03       100210     085400

  4670             when %trim(xml_data)='false';                                                       X03       100209     085500

  4671             OutputDs2(#c).primary = '0';                                                         03       100210     085600

  4672             endsl;                                                                              E03       100209     085700

  4673          endif;                                                                                 E02       100209     085800

  4674                                                                                                           100209     085900

  4675       endif;                                                                                    E01       100209     086000

  4676                                                                                                           100209     086100

  4677          // <TelephoneList>                                                                               100329     086200

  4678           // <Telephone>          Multiple...                                                             100329     086300

  4679                                                                                                           091204     086400

  4680           if path_name='Telephone';                                                             B01       091204     086500

  4681                                                                                                           091204     086600

  4682             if (var_name = 'ContactTelephoneId');                                               B02       091204     086700

  4683                xml_data = value;                                                                 02       091204     086800

  4684                #o=#o+1;                                                                          02       091204     086900

  4685                %Occur(d@PhoneOut)=#o;                                                            02       091204     087000

  4686                %Occur(d@PhoneOut2)=#o;                                                           02       091207     087100

  4687             endif;                                                                              E02       091204     087200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     96

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4688             if (var_name = 'TelephoneTypeCode');                                                B02       091204     087300

  4689                xml_data = value;                                                                 02       091204     087400

  4690                d@PhoneOut.mbphty = xml_data;                                                     02       091204     087500

  4691             endif;                                                                              E02       091204     087600

  4692             if (var_name = 'CountryId');                                                        B02       091204     087700

  4693                xml_data = value;                                                                 02       091204     087800

  4694             endif;                                                                              E02       091204     087900

  4695             if (var_name = 'CountryPhoneCode');                                                 B02       091204     088000

  4696                xml_data = value;                                                                 02       091204     088100

  4697                d@PhoneOut.mbcntr = xml_data;                                                     02       091204     088200

  4698             endif;                                                                              E02       091204     088300

  4699             if (var_name = 'AreaCode');                                                         B02       091204     088400

  4700                xml_data = value;                                                                 02       091204     088500

  4701                d@PhoneOut.mbcity = xml_data;                                                     02       091204     088600

  4702             endif;                                                                              E02       091204     088700

  4703             if (var_name = 'TelephoneNumber');                                                  B02       091204     088800

  4704                xml_data = value;                                                                 02       091204     088900

  4705                d@PhoneOut.mbphon = xml_data;                                                     02       091204     089000

  4706             endif;                                                                              E02       091204     089100

  4707             if (var_name = 'ExtensionNumber');                                                  B02       091204     089200

  4708                xml_data = value;                                                                 02       091204     089300

  4709                xtn_data = '00000';                                                               02 00TS  110104     089400

  4710                Idy = 5;                                                                          02 00TS  110104     089500

  4711                For Idx = %len(xml_data) DownTo 1;                                               B03 00TS  110106     089600

  4712                  If %check(digits:%subst(Xml_Data:Idx:1)) = 0;                                  B04 00TS  110104     089700

  4713                     %subst(Xtn_Data:Idy:1) = %subst(Xml_Data:Idx:1);                             04 00TS  110104     089800

  4714                     Idy -= 1;                                                                    04 00TS  110104     089900

  4715                     If Idy = 0;                                                                 B05 00TS  110106     090000

  4716                        Leave;                                                                    05 00TS  110106     090100

  4717                     Endif;                                                                      E05 00TS  110106     090200

  4718                  Endif;                                                                         E04 00TS  110104     090300

  4719                EndFor;                                                                          E03 00TS  110104     090400

  4720             // d@PhoneOut.mbext# = %dec(xml_data:5:0);                                              00TS  110104     090500

  4721                d@PhoneOut.mbext# = %dec('0'+Xtn_Data:5:0);                                       02 00TS  110104     090600

  4722             endif;                                                                              E02       091204     090700

  4723             if (var_name = 'EnterpriseCode');                                                   B02       091204     090800

  4724                xml_data = value;                                                                 02       091204     090900

  4725             endif;                                                                              E02       091207     091000

  4726             if (var_name = 'StatusId');                                                         B02       091204     091100

  4727                xml_data = value;                                                                 02       091204     091200

  4728             endif;                                                                              E02       091204     091300

  4729             if (var_name = 'StatusDescription');                                                B02       091204     091400

  4730                xml_data = value;                                                                 02       091204     091500

  4731             endif;                                                                              E02       091204     091600

  4732             if (var_name = 'UsagePriorityCode');                                                B02       091204     091700

  4733                xml_data = value;                                                                 02       091204     091800

  4734             endif;                                                                              E02       091204     091900

  4735             if (var_name = 'CellTermsAcceptanceInd');                                           B02       091204     092000

  4736                xml_data = value;                                                                 02       091204     092100

  4737                if xml_data='true';                                                              B03       091216     092200

  4738                d@PhoneOut2.CellTerm = '1';                                                       03       091216     092300

  4739                else;                                                                            X03       091216     092400

  4740                d@PhoneOut2.CellTerm = '0';                                                       03       091216     092500

  4741                endif;                                                                           E03       091216     092600

  4742             endif;                                                                              E02       091204     092700

  4743             if (var_name = 'DoNotCallInd');                                                     B02       091204     092800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     97

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4744                xml_data = value;                                                                 02       091204     092900

  4745                if xml_data='true';                                                              B03       091216     093000

  4746                d@PhoneOut2.DoNotCall = '1';                                                      03       091216     093100

  4747                else;                                                                            X03       091216     093200

  4748                d@PhoneOut2.DoNotCall = '0';                                                      03       091216     093300

  4749                endif;                                                                           E03       091216     093400

  4750             endif;                                                                              E02       091204     093500

  4751                                                                                                           091204     093600

  4752             endif;                                                                              E01       091204     093700

  4753                                                                                                           091204     093800

  4754    // <Product Line Code>                                                                                 100329     093900

  4755          if (var_name = 'ProductLineCode');                                                     B01       100329     094000

  4756            xml_data = value;                                                                     01       100329     094100

  4757            #n=%scan(%trim(xml_data):                                                             01       100330     094200

  4758                     %trim(GetValue('WEBSERVICE':'PRODLINECD')));                                 01       100330     094300

  4759            if #n=0;                                                                             B02       100330     094400

  4760             ref_code='TRV';                                                                      02       100330     094500

  4761            else;                                                                                X02       100330     094600

  4762             ref_code='MBR';                                                                      02       100330     094700

  4763            endif;                                                                               E02       100330     094800

  4764          endif;                                                                                 E01       100329     094900

  4765                                                                                                           100329     095000

  4766    // <ContactList>                                                                                       100329     095100

  4767                                                                                                           091204     095200

  4768    // if path_name='ContactList';                                                                         100329     095300

  4769       if path_name='Envelope';                                                                  B01       100329     095400

  4770                                                                                                           091204     095500

  4771          If #c>0;                                                                               B02       100406     095600

  4772             if OutputDs2(#c).contact > *blanks;                                                 B03       100406     095700

  4773               for #o=1 to 12;                                                                   B04       091204     095800

  4774                %Occur(d@PhoneOut)=#o;                                                            04       091204     095900

  4775                if d@PhoneOut.mbphty=*blanks;                                                    B05       091204     096000

  4776                leave;                                                                            05       091204     096100

  4777                else;                                                                            X05       091204     096200

  4778                 d@PhoneOut.mbrefc = ref_code;                                                    05       100329     096300

  4779                 OutputDs2(#c).CPhones(#o) = d@PhoneOut;                                          05       100210     096400

  4780                 OutputDs2(#c).CPhones2(#o) = d@PhoneOut2;                                        05       100210     096500

  4781                endif;                                                                           E05       091204     096600

  4782               endfor;                                                                           E04       091204     096700

  4783             endif;                                                                              E03       091207     096800

  4784          endif;                                                                                 E02       091204     096900

  4785                                                                                                           091204     097000

  4786       endif;                                                                                    E01       091204     097100

  4787                                                                                                           100329     097200

  4788     // <Errors>                                                                                           100329     097300

  4789                                                                                                           091204     097400

  4790       if path_name='Errors';                                                                    B01       091204     097500

  4791                                                                                                           091204     097600

  4792          if (var_name = 'Error');                                                               B02       091204     097700

  4793             xml_data = value;                                                                    02       091204     097800

  4794             error=*on;                                                                           02       091204     097900

  4795             #e=#e+1;                                                                             02       091204     098000

  4796             OutputDs2(#e).ErrorId  = %str(attrs(2));                                             02       100210     098100

  4797             OutputDs2(#e).ErrorMsg = %str(attrs(4));                                             02       100210     098200

  4798             OutputDs6(#e).ErrorId  = %str(attrs(2));                                             02       100326     098300

  4799             OutputDs6(#e).ErrorMsg = %str(attrs(4));                                             02       100326     098400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     98

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4800             Error_elem=#e;                                                                       02       100210     098500

  4801             att1 = %str(attrs(1));                                                               02       100211     098600

  4802             att2 = %str(attrs(2));                                                               02       100211     098700

  4803             att3 = %str(attrs(3));                                                               02       100211     098800

  4804             att4 = %str(attrs(4));                                                               02       100211     098900

  4805          endif;                                                                                 E02       091204     099000

  4806                                                                                                           091204     099100

  4807          endif;                                                                                 E01       091204     099200

  4808                                                                                                           091204     099300

  4809          if depth<3;                                                                            B01       100210     099400

  4810          if path>*blanks;                                                                       B02       100210     099500

  4811            SOAP2 = SOAP2 + '<' + %trim(path);                                                    02       100210     099600

  4812          endif;                                                                                 E02       100210     099700

  4813          else;                                                                                  X01       100210     099800

  4814            SOAP2 = SOAP2 + '<' + %trim(path_name);                                               01       100210     099900

  4815          endif;                                                                                 E01       100210     100000

  4816          if att1>*blanks;                                                                       B01       100211     100100

  4817             SOAP2 = SOAP2 + ' ' + %trim(att1) + ' ' + %trim(att2)                                01       100211     100200

  4818                       + ' ' + %trim(att3) + ' ' + %trim(att4);                                   01       100211     100300

  4819             att1 = *blanks;                                                                      01       100211     100400

  4820             att2 = *blanks;                                                                      01       100211     100500

  4821             att3 = *blanks;                                                                      01       100211     100600

  4822             att4 = *blanks;                                                                      01       100211     100700

  4823          endif;                                                                                 E01       100211     100800

  4824          if value > *blanks;                                                                    B01       100211     100900

  4825             SOAP2 = SOAP2 + ' <' + %trim(name) + '> '                                            01       100211     101000

  4826                      + %trim(value) + ' ';                                                       01       100211     101100

  4827          xml_data=*blanks;                                                                       01       100210     101200

  4828          var_name=*blanks;                                                                       01       100210     101300

  4829          endif;                                                                                 E01       100210     101400

  4830          if depth<svdepth;                                                                      B01       100216     101500

  4831          SOAP2 = SOAP2 + '>';                                                                    01       100216     101600

  4832          svdepth=depth;                                                                          01       100216     101700

  4833          endif;                                                                                 E01       100216     101800

  4834                                                                                                           100210     101900

  4835  /end-free                                                                                                091204     102000

  4836 P                 E                                                                                       091204     102100

  4837  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           091204     102200

  4838  * HTTPAPI will call this (because we set it with http_xproc)                                             091204     102300

  4839  * just before sending the HTTP headers to the remote server.                                             091204     102400

  4840  * This procedure lets us add any header we like to the                                                   091204     102500

  4841  * HTTP request.                                                                                          091204     102600

  4842  *                                                                                                        091204     102700

  4843  * I'll use it to supply the SoapAction: header                                                           091204     102800

  4844  * This way, I can supply a SOAPAction that's up to                                                       091204     102900

  4845  * 1024 characters long.                                                                                  091204     103000

  4846  *                                                                                                        091204     103100

  4847  * NOTE: Make sure you leave off the SOAPAction header on the                                             091204     103200

  4848  *       HTTP_url_post_xml, above, otherwise you'll send two                                              091204     103300

  4849  *       of them!                                                                                         091204     103400

  4850  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           091204     103500

  4851 P Add_SOAPACTION  B                                                                                       091208     103600

  4852 D Add_SOAPACTION  PI                                                                                      091208     103700

  4853 D   Header                    1024A   varying                                                             091204     103800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page     99

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4854 D   UserData                      *   value                                                               091204     103900

  4855  /free                                                                                                    091204     104000

  4856     Header =  'SOAPAction: http://' +                                                                     091208     104100

  4857                %trim(GetValue('WEBSERVICE':SOAPACT))+                                                     091208     104200

  4858                Quote  + x'0d25';                                                                          091208     104300

  4859  /end-free                                                                                                091204     104400

  4860 P                 E                                                                                       091204     104500

  4861                                                                                                           091204     104600

  4862  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           091204     104700

  4863  * Get Values from comment file                                   *                                       091204     104800

  4864  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           091204     104900

  4865 p GetValue        b                                                                                       091204     105000

  4866                                                                                                           091204     105100

  4867 d GetValue        pi          1950                                                                        091204     105200

  4868 d  CodeType                           like(fn_codetp) const                                               091204     105300

  4869 d  Code                               like(fn_code) const                                                 091204     105400

  4870                                                                                                           091204     105500

  4871 d Value           s           1950                                                                        091204     105600

  4872 d Counter         s              3s 0                                                                     091204     105700

  4873                                                                                                           091204     105800

  4874  /Free                                                                                                    091204     105900

  4875                                                                                                           091204     106000

  4876    Value = *blanks;                                                                                       091204     106100

  4877    Counter = *zeros;                                                                                      091204     106200

  4878                                                                                                           091204     106300

  4879    Setll (CodeType:Code) mbfflcmtdt;                                                                      091204     106400

  4880    Reade (CodeType:Code) mbfflcmtdt;                                                                      091204     106500

  4881                                                                                                           091204     106600

  4882    Dow not %eof(mbfflcmtdt) and Counter < %len(Value) / 65;                                     B01       091204     106700

  4883      Counter += 1;                                                                               01       091204     106800

  4884      Value = %trim(Value) + %trim(fn_cmnt);                                                      01       091204     106900

  4885      Reade (CodeType:Code) mbfflcmtdt;                                                           01       091204     107000

  4886    Enddo;                                                                                       E01       091204     107100

  4887                                                                                                           091204     107200

  4888    Return Value;                                                                                          091204     107300

  4889                                                                                                           091204     107400

  4890  /End-Free                                                                                                091204     107500

  4891                                                                                                           091204     107600

  4892  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           100210     107700

  4893 p GetValue        e                                                                                       091204     107800

  4894  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           100210     107900

  4895                                                                                                           091204     108000

  4896 p SetSOAPPhByMem  B                                                                                       100317     108100

  4897 d SetSOAPPhByMem  PI                                                                                      100317     108200

  4898 d   MemberNum                   10a   const                                                               091204     108300

  4899                                                                                                           091204     108400

  4900  /free                                                                                                    091204     108500

  4901                                                                                                           091204     108600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    100

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4902   // Take the exact XML document as the one in the SoapUI client and turned it in                         091204     108700

  4903   // into one big EVAL statement and concatenate the Member number parameter                              091204     108800

  4904   // into the middle, so that the Member number can be passed as a parameter.                             091204     108900

  4905                                                                                                           091204     109000

  4906    SoapBy=%trim(TrueFalse);                                                                               100209     109100

  4907    SoapReq=MemberNum;                                                                                     091204     109200

  4908    sTS='"'+%char(%date())+'T'+ %xlate('.':':':%char(%time()))+'"';                                        100216     109300

  4909    sTG='"Production"';                                                                                    100217     109400

  4910    // sCH= GetChanId();                                                                                   100329     109500

  4911                                                                                                           091204     109600

  4912    SOAP =                                                                                                 100216     109700

  4913    '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/'                                         100211     109800

  4914   +'soap/envelope/" xmlns:as4="http://services.intervalintl.com/'                                         100209     109900

  4915   +'schema/as400dataservice/as400DataMessages" xmlns:head="http:'                                         100209     110000

  4916   +'//services.intervalintl.com/schema/common/headerrq"> <soapen'                                         100209     110100

  4917   +'v:Header/> <soapenv:Body> <as4:GetTelephonesByMembershipNumb'                                         100209     110200

  4918   +'erRequest> <head:header CountryCd="?" LanguageCd="?" Termina'                                         100209     110300

  4919   +'lId="?" TransactionChannel="?" EchoToken="?" TimeStamp='                                              100215     110400

  4920   +%trim(sTS) +' Target=' +%trim(sTG)+ ' Version="0.1" Retransmi'                                         100216     110500

  4921   +'ssionIndicator="1" MaxResponses="1111" MoreDataEchoToken="?"'                                         100209     110600

  4922   +' SessionId="?" InteractionType="?" InteractionUser="?"> <hea'                                         100209     110700

  4923   +'d:Requestor Id="?" IdContext="?" Password="?"/> </head:heade'                                         100209     110800

  4924   +'r> <as4:MemberNumber>'+%trim(SoapReq)+'</as4:MemberNumber> <'                                         100209     110900

  4925   +'as4:PrimaryContactOnlyInd>'+%trim(SoapBy)+'</as4:PrimaryCont'                                         100209     111000

  4926   +'actOnlyInd> </as4:GetTelephonesByMembershipNumberRequest> </'                                         100209     111100

  4927   +'soapenv:Body> </soapenv:Envelope>';                                                                   100209     111200

  4928                                                                                                           091204     111300

  4929  /end-free                                                                                                091204     111400

  4930 P                 e                                                                                       091204     111500

  4931                                                                                                           100317     111600

  4932 p SetSOAPMemByPh  B                                                                                       100317     111700

  4933 d SetSOAPMemByPh  PI                                                                                      100317     111800

  4934 d   CountryCode                  6a   const                                                               100317     111900

  4935 d   CityCode                     6a   const                                                               100317     112000

  4936 d   PhoneNumber                 10a   const                                                               100317     112100

  4937                                                                                                           100317     112200

  4938  /free                                                                                                    100317     112300

  4939                                                                                                           100317     112400

  4940    sTS='"'+%char(%date())+'T'+ %xlate('.':':':%char(%time()))+'"';                                        100317     112500

  4941    sTG='"Production"';                                                                                    100317     112600

  4942    // sCH= GetChanId();                                                                             002T  100317     112700

  4943                                                                                                           100317     112800

  4944    SOAP =                                                                                                 100317     112900

  4945    '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/'                                         100317     113000

  4946   +'soap/envelope/" xmlns:as4="http://services.intervalintl.com/'                                         100317     113100

  4947   +'schema/as400dataservice/as400DataMessages" xmlns:head="http:'                                         100317     113200

  4948   +'//services.intervalintl.com/schema/common/headerrq"> <soapen'                                         100317     113300

  4949   +'v:Header/> <soapenv:Body> <as4:GetMembershipNumbersByTelepho'                                         100317     113400

  4950   +'neRequest> <head:header CountryCd="?" LanguageCd="?" Termina'                                         100317     113500

  4951   +'lId="?" TransactionChannel="?" EchoToken="?" TimeStamp='                                              100317     113600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    101

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  4952   +%trim(sTS) +' Target=' +%trim(sTG)+ ' Version="0.1" Retransmi'                                         100317     113700

  4953   +'ssionIndicator="1" MaxResponses="1111" MoreDataEchoToken="?"'                                         100317     113800

  4954   +' SessionId="?" InteractionType="?" InteractionUser="?"> <hea'                                         100317     113900

  4955   +'d:Requestor Id="?" IdContext="?" Password="?"/> </head:heade'                                         100317     114000

  4956   +'r> <as4:TelephoneCountryCode>'+%trim(CountryCode)                                                     100317     114100

  4957   +'</as4:TelephoneCountryCode>'                                                                          100317     114200

  4958   +' <as4:TelephoneAreaCode>'+%trim(CityCode)                                                             100317     114300

  4959   +'</as4:TelephoneAreaCode>'                                                                             100317     114400

  4960   +' <as4:TelephoneNumber>'+%trim(PhoneNumber)                                                            100317     114500

  4961   +'</as4:TelephoneNumber>'                                                                               100317     114600

  4962   +' </as4:GetMembershipNumbersByTelephoneRequest>'                                                       100317     114700

  4963   +' </soapenv:Body>'                                                                                     100317     114800

  4964   +' </soapenv:Envelope>';                                                                                100317     114900

  4965                                                                                                           100317     115000

  4966  /end-free                                                                                                100317     115100

  4967 P                 e                                                                                       100317     115200

       * * * * *   E N D   O F   S O U R C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    102

          A d d i t i o n a l   D i a g n o s t i c   M e s s a g e s

 Msg id  Sv Number Seq     Message text

*RNF7066 00     46 004600  Record-Format MBRFLCMTDT not used for input or output.

*RNF5409 00   3678 027500  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF5409 00   3687 028400  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF5409 00   3885 040100  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF5409 00   3894 041000  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF5409 00   4500 068500  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF5409 00   4509 069400  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF7534 10   4944 112900  File MBFFLCMTDT should be closed explicitly when NOMAIN is

                           specified.

 * * * * *   E N D   O F   A D D I T I O N A L   D I A G N O S T I C   M E S S A G E S   * * * * *

                            / C o p y   M e m b e r s

Line   Src  RPG name   <-------- External name -------> CCSID  <- Last change ->

Number Id              Library    File       Member            Date     Time

    50    1 HTTPAPI_H  LIBHTTPB   QRPGLESRC  HTTPAPI_H     37  02/28/11 10:32:19

    86    2 CONFIG_H   LIBHTTPB   QRPGLESRC  CONFIG_H      37  02/28/11 10:32:19

  2284    4 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  2370    5 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  2456    6 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  2543    7 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  2629    8 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  2715    9 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  2804   10 GETCHANIDP IILIB      QRPGLESRC  GETCHANIDP    37  11/15/07 10:43:33

  2979   13 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3073   14 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3169   15 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3263   16 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3356   17 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3451   18 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3565   20 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3767   21 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  3968   22 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  4113   23 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  4248   24 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

  4391   25 CB.PHONES  IILIB      QRPGLESRC  CB.PHONES     37  04/07/10 11:38:04

         * * * * *   E N D   O F   / C O P Y   M E M B E R S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    103

                    K e y   F i e l d   I n f o r m a t i o n

         File           Internal    External

           Record       field name  field name  Attributes

      1  MBFFLCMTDT

           MBRFLCMTDT

                        FN_CODETP               CHAR       10

                        FN_CODE                 CHAR       10

                        FN_SEQ                  PACK     11,2 SIGNED

 * * * * *   E N D   O F   K E Y   F I E L D   I N F O R M A T I O N   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    104

                          C r o s s   R e f e r e n c e

      File and Record References:

         File              Device             References (D=Defined)

           Record

         MBFFLCMTDT        DISK                   46D   3690    3897    4512

                                                4879    4880    4882    4885

           MBRFLCMTDT                             46D   3554

      Global Field References:

         Field             Attributes         References (D=Defined M=Modified)

         *INLR             N(1)                 3757M

         #C                S(5,0)               2904D   4355    4356    4361

                                                4366    4366    4367    4367

                                                4368    4369    4369    4370

                                                4370    4617M   4655M   4655

                                                4657    4667    4668    4669

                                                4671    4771    4772    4779

                                                4780

         #E                S(5,0)               2907D   4620M   4795M   4795

                                                4796    4797    4798    4799

                                                4800

         #M                S(5,0)               2905D   4618M   4635M   4635

                                                4637    4638    4639    4643

         #N                S(5,0)               2906D   4757M   4759

         #O                S(5,0)               2908D   4079    4080    4222

                                                4223    4360    4361    4619M

                                                4658M   4684M   4684    4685

                                                4686    4773    4774    4779

                                                4780

*RNF7031 @I                S(5,0)               2909D

         ACTIVE            A(1)                 2924D   3659M   3660    3864M

                                                3865    4061M   4062    4204M

                                                4205    4338M   4339    4486M

                                                4487

         ADD_SOAPACTION    PROTOTYPE            2865D   3688    3895    4510

                                                4851    4852

         ATT1              A(256)               2929D   4623M   4801M   4816

                                                4817    4819M

         ATT2              A(256)               2930D   4624M   4802M   4817

                                                4820M

         ATT3              A(256)               2931D   4625M   4803M   4818

                                                4821M

         ATT4              A(256)               2932D   4626M   4804M   4818

                                                4822M

*RNF7031 CITYCODE          A(6)                 2937D

         CONTACT           A(10)                3321D

         COUNT             S(5,0)               3322D

*RNF7031 COUNTRYCODE       A(6)                 2936D

         D@PHONEOUT(12)    DS(69)               2942D   3029    3128    3225

                                                3653    3856    4057    4080M

                                                4081    4084    4088    4223M

                                                4224    4613    4659    4685M

                                                4690M   4697M   4701M   4705M

                                                4721M   4774M   4775    4778M

                                                4779

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    105

           MBCITY          A(6)                 2948D   4701

           MBCNTR          A(6)                 2947D   4697

*RNF7031   MBDATE          D(10*ISO-)           2952D

           MBEXT#          S(5,0)               2950D   4721

           MBPHON          A(10)                2949D   4705

           MBPHTY          A(4)                 2946D   4081    4084    4224

                                                4690    4775

           MBREFC          A(3)                 2945D   4778

*RNF7031   MBTIME          T(8*HMS:)            2953D

*RNF7031   MBUSER          A(10)                2951D

*RNF7031   MEMB#           S(7,0)               2944D

         D@PHONEOUT2(12)   DS(10)               2954D   3030    3129    3226

                                                4089    4614    4660    4686M

                                                4738M   4740M   4746M   4748M

                                                4780

           CELLTERM        A(5)                 2956D   4738    4740

           DONOTCALL       A(5)                 2957D   4746    4748

*RNF7031 DBFILENAME        A(500)               2928D

                           VARYING

         E                 S(5,0)               2893D   4598M   4599    4605

         EP                A(80)                2901D   3691M   3697    3898M

                                                3904    4513M   4519

*RNF7031 ERRBYTESAVAIL     I(10,0)              2973D

*RNF7031 ERRBYTESPROV      I(10,0)              2972D

*RNF7031 ERRMSGDTA         A(512)               2976D

*RNF7031 ERRMSGID          A(7)                 2974D

         ERROR             N(1)                 2889D   3696M   3709    3903M

                                                3916    4518M   4531    4794M

         ERROR_ELEM        S(5,0)               2933D   3709    3712    3713

                                                3916    3919    3920    3950

                                                3951M   3955    3956    4373

                                                4374M   4378    4379    4531

                                                4534    4535    4621M   4800M

         ERRORID           A(7)                 3323D

         ERRORMSG          A(100)               3324D

         FN_CMNT           A(65)                3558D   4884

*RNF7031 FN_CODE           A(10)                2871    3556D   4869

*RNF7031 FN_CODETP         A(10)                2870    3555D   4868

*RNF7031 FN_SEQ            P(11,2)              3557D

*RNF7031 FN_STAMP          Z(26)                3560D

*RNF7031 FN_WHOCHG         A(10)                3559D

         GETACTIVEFLG      A(1)                 2840D   3659    3864    4061

                           PROTOTYPE            4204    4338    4486

         GETALLPHBYMEM     *(16)                2392D   3763    3834    4352

                           PROTOTYPE

         GETALLPHCOUNT     *(16)                2660D   4244    4324

                           PROTOTYPE

*RNF7031 GETCHANID         A(6)                 2821D

                           PROTOTYPE

         GETMEMBYPHONE     *(16)                2749D   4387    4470

                           PROTOTYPE

         GETPHONEBYTYPE    *(16)                2481D   3964    4038

                           PROTOTYPE

         GETPHONECOUNT     *(16)                2571D   4109    4186

                           PROTOTYPE

         GETPHONESBYMEM    *(16)                2303D   3561    3629    4075

                           PROTOTYPE            4218

         GETVALUE          A(1950)              2869D   3692    3899    4514

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    106

                           PROTOTYPE            4758    4857    4865    4867

                                                4893

         HTTP_ASCII        CONST                 149D

         HTTP_ATHTYP       CONST                2079D

         HTTP_ATHVAL       CONST                2081D

         HTTP_AUTH_BASIC   CONST                2164D

         HTTP_AUTH_MD5_DIGEST...

                           CONST                2166D

         HTTP_AUTH_NONE    CONST                2162D

         HTTP_BADCNN       CONST                2042D

         HTTP_BADPNT       CONST                2093D

         HTTP_BADURL       CONST                2036D

         HTTP_BRRECV       CONST                2087D

         HTTP_BRSELE       CONST                2089D

         HTTP_BRTIME       CONST                2085D

*RNF7031 HTTP_BUILD_SOCKADDR...

                           I(10,0)               492D

                           PROTOTYPE

         HTTP_BWSELE       CONST                2111D

         HTTP_BWSEND       CONST                2109D

         HTTP_BWTIME       CONST                2113D

         HTTP_BWTIMO       CONST                2125D

         HTTP_CCSID        CONST                 162D

         HTTP_CKDUMP       CONST                2139D

         HTTP_CKOPEN       CONST                2141D

         HTTP_CKSTAT       CONST                2143D

*RNF7031 HTTP_CLOSE        I(10,0)               506D

                           PROTOTYPE

         HTTP_CNNTIMO      CONST                2044D

*RNF7031 HTTP_COMP         PROTOTYPE            1800D

         HTTP_CONTTYPE     CONST                 130D

         HTTP_CONVERR      CONST                2145D

         HTTP_COOKIE_DEFAULT...

                           CONST                 192D

*RNF7031 HTTP_COOKIE_FILE  PROTOTYPE            1790D

*RNF7031 HTTP_CRASH        PROTOTYPE            1817D

*RNF7031 HTTP_DCLOSE       PROTOTYPE            2029D

         HTTP_DEBUG        PROTOTYPE            1558D   3684M   3891M   4506M

*RNF7031 HTTP_DEBUG_FILE   A(500)                230D

                           VARYING

*RNF7031 HTTP_DIAG         PROTOTYPE            1809D

*RNF7031 HTTP_DMSG         PROTOTYPE            2016D

*RNF7031 HTTP_DWRITE       PROTOTYPE            1996D

         HTTP_EBCDIC       CONST                 148D

*RNF7031 HTTP_ERROR        A(80)                 518D

                           PROTOTYPE

*RNF7031 HTTP_ESCAPEXML    A(4096)              1974D

                           VARYING

                           PROTOTYPE

         HTTP_FDOPEN       CONST                2053D

         HTTP_FDSTAT       CONST                2129D

*RNF7031 HTTP_GET          I(10,0)               282D

                           PROTOTYPE

*RNF7031 HTTP_GET_XML      I(10,0)              1022D

                           PROTOTYPE

*RNF7031 HTTP_GET_XMLTF    I(10,0)              1073D

                           PROTOTYPE

*RNF7031 HTTP_GETAUTH      I(10,0)               629D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    107

                           PROTOTYPE

         HTTP_GSKAPPID     CONST                2055D

         HTTP_GSKATYP      CONST                2057D

         HTTP_GSKENVI      CONST                2059D

         HTTP_GSKENVO      CONST                2061D

         HTTP_GSKKEYF      CONST                2135D

         HTTP_GSKSTYP      CONST                2063D

*RNF7031 HTTP_HEADER       A(32500)             1757D

                           VARYING

                           PROTOTYPE

         HTTP_HOSTNF       CONST                2038D

         HTTP_IFOPEN       CONST                2133D

         HTTP_IFSMODE      CONST                 177D

         HTTP_ILLSWC       CONST                2151D

         HTTP_INVPTR       CONST                2105D

*RNF7031 HTTP_LONG_PARSEURL...

                           I(10,0)               862D

                           PROTOTYPE

         HTTP_LRRECV       CONST                2115D

         HTTP_LRSELE       CONST                2117D

         HTTP_LRTIME       CONST                2119D

*RNF7031 HTTP_MFD_ENCODER_ADDSTMF...

                           N(1)                 1531D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_ADDVAR...

                           N(1)                 1494D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_ADDVAR_S...

                           N(1)                 1512D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_CLOSE...

                           PROTOTYPE            1545D

*RNF7031 HTTP_MFD_ENCODER_OPEN...

                           *(16)                1476D

                           PROTOTYPE

         HTTP_MUTABLE      CONST                2137D

         HTTP_NDAUTH       CONST                2077D

*RNF7031 HTTP_NEXTXMLATTR  N(1)                 1959D

                           PROTOTYPE

         HTTP_NOAUTH       CONST                2083D

         HTTP_NOCDRIV      CONST                2123D

         HTTP_NODATA       CONST                2103D

         HTTP_NOMEM        CONST                2101D

         HTTP_NOSPAC       CONST                2107D

         HTTP_NOTREG       CONST                2075D

         HTTP_NOTSUPP      CONST                2121D

*RNF7031 HTTP_PARSE_XML_STMF...

                           I(10,0)              1737D

                           PROTOTYPE

*RNF7031 HTTP_PARSE_XML_STRING...

                           I(10,0)              1937D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_GET_END_CB...

                           *(16) PROCPTR        1908D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_GET_START_CB...

                           *(16) PROCPTR        1899D

                           PROTOTYPE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    108

*RNF7031 HTTP_PARSER_GET_USERDATA...

                           *(16)                1917D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_SWITCH_CB...

                           I(10,0)              1886D

                           PROTOTYPE

*RNF7031 HTTP_PARSEURL     I(10,0)               469D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_CLOSE...

                           I(10,0)              1453D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_GET  I(10,0)              1364D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_OPEN *(16)                1329D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_POST I(10,0)              1424D

                           PROTOTYPE

         HTTP_POINT_ADDL_HEADER...

                           CONST                2216D   3687    3894    4509

         HTTP_POINT_CERT_VAL...

                           CONST                2257D

         HTTP_POINT_DEBUG  CONST                2181D

         HTTP_POINT_DOWNLOAD_STATUS...

                           CONST                2205D

         HTTP_POINT_GSKIT_CERT_VAL...

                           CONST                2274D

         HTTP_POINT_PARSE_HDR_LONG...

                           CONST                2236D

         HTTP_POINT_PARSE_HEADER...

                           CONST                2226D

         HTTP_POINT_UPLOAD_STATUS...

                           CONST                2193D

*RNF7031 HTTP_POST         I(10,0)               337D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF    I(10,0)               965D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF_XML...

                           I(10,0)              1239D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF_XMLTF...

                           I(10,0)              1300D

                           PROTOTYPE

         HTTP_POST_XML     I(10,0)              1134D   3697    3904    4519

                           PROTOTYPE

*RNF7031 HTTP_POST_XMLTF   I(10,0)              1190D

                           PROTOTYPE

*RNF7031 HTTP_PROXY_GETAUTH...

                           I(10,0)               700D

                           PROTOTYPE

*RNF7031 HTTP_PROXY_SETAUTH...

                           I(10,0)               675D

                           PROTOTYPE

         HTTP_PXNDAUTH     CONST                2149D

         HTTP_RDCRLF       CONST                2091D

         HTTP_RDWERR       CONST                2049D

*RNF7031 HTTP_REDIR_LOC    A(1024)               731D

                           VARYING

                           PROTOTYPE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    109

         HTTP_REGERR       CONST                2065D

         HTTP_RESP         CONST                2046D

*RNF7031 HTTP_SELECT_COMMDRIVER...

                           *(16)                 880D

                           PROTOTYPE

*RNF7031 HTTP_SET_100_TIMEOUT...

                           PROTOTYPE            1697D

         HTTP_SETATTR      CONST                2147D

*RNF7031 HTTP_SETAUTH      I(10,0)               645D

                           PROTOTYPE

         HTTP_SETCCSIDS    I(10,0)              1574D   3678M   3885M   4500M

                           PROTOTYPE

*RNF7031 HTTP_SETFILECCSID PROTOTYPE            1613D

*RNF7031 HTTP_SETPROXY     I(10,0)               659D

                           PROTOTYPE

*RNF7031 HTTP_SETTABLES    I(10,0)              1590D

                           PROTOTYPE

         HTTP_SOCERR       CONST                2040D

         HTTP_SSLGCI       CONST                2153D

         HTTP_SSLVAL       CONST                2155D

         HTTP_SSOPEN       CONST                2067D

         HTTP_SSPROT       CONST                2095D

         HTTP_SSPSET       CONST                2099D

         HTTP_SSPUNK       CONST                2097D

         HTTP_SSSNFD       CONST                2069D

         HTTP_SSSNTO       CONST                2071D

         HTTP_SSTIMO       CONST                2073D

         HTTP_STMF_CALC    CONST                1745D

         HTTP_SWCERR       CONST                2127D

*RNF7031 HTTP_TEMPFILE     A(40)                1825D

                           VARYING

                           PROTOTYPE

         HTTP_TIMEOUT      CONST                 117D   3703    3910    4525

*RNF7031 HTTP_URL_ENCODER  *(16)                 743D    745     764     782

                                                 803     821     837

*RNF7031 HTTP_URL_ENCODER_ADDVAR...

                           N(1)                  763D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_ADDVAR_S...

                           N(1)                  836D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_FREE...

                           N(1)                  820D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_GETPTR...

                           PROTOTYPE             781D

*RNF7031 HTTP_URL_ENCODER_GETSTR...

                           A(32767)              802D

                           VARYING

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_NEW...

                           *(16)                 745D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET      I(10,0)               296D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET_RAW  I(10,0)               393D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET_XML  I(10,0)              1039D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    110

                           PROTOTYPE

*RNF7031 HTTP_URL_POST     I(10,0)               352D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_RAW I(10,0)               434D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_RAW2...

                           I(10,0)               909D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_STMF...

                           I(10,0)               951D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_STMF_XML...

                           I(10,0)              1256D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_XML I(10,0)              1152D

                           PROTOTYPE

*RNF7031 HTTP_USE_COOKIES  PROTOTYPE            1772D

         HTTP_USERAGENT    CONST                 123D   3704    3911    4526

         HTTP_XFRENC       CONST                2051D

*RNF7031 HTTP_XLATE        I(10,0)              1627D

                           PROTOTYPE

*RNF7031 HTTP_XLATEDYN     I(10,0)              1661D

                           PROTOTYPE

*RNF7031 HTTP_XLATEP       I(10,0)              1644D

                           PROTOTYPE

         HTTP_XML_CALC     CONST                1744D

*RNF7031 HTTP_XML_SETCCSIDS...

                           I(10,0)              1712D

                           PROTOTYPE

         HTTP_XMLERR       CONST                2131D

*RNF7031 HTTP_XMLNS        PROTOTYPE            1834D

*RNF7031 HTTP_XMLRETURNPTR PROTOTYPE            1848D

*RNF7031 HTTP_XMLSTRIPCRLF PROTOTYPE            1864D

         HTTP_XPROC        I(10,0)               719D   3687M   3894M   4509M

                           PROTOTYPE

         HTTPAPI_RELDATE   CONST                  84D

         HTTPAPI_VERSION   CONST                  82D

*RNF7031 HTTPS_CLEANUP     I(10,0)               582D

                           PROTOTYPE

*RNF7031 HTTPS_DCM_REG     I(10,0)               571D

                           PROTOTYPE

*RNF7031 HTTPS_IDNAME      A(50)                 593D

                           VARYING

                           PROTOTYPE

*RNF7031 HTTPS_INIT        I(10,0)               551D

                           PROTOTYPE

*RNF7031 HTTPS_STRICT      PROTOTYPE             603D

*RNF7031 INDATE            A(35)                2911D

*RNF7031 LASTPOS           S(5,0)               2927D

         MAPXMLDATA        PROTOTYPE            2856D   3701    3908    4523

                                                4573    4575

         MEM_NUM           S(7,0)               2897D   3857M   3858

         MEMBER_NUM        A(7)                 2896D   3858M   3860

         MEMBERNUM         S(7,0)               2935D   4533    4543    4550

                                                4557

*RNF7031 MEMNUM(99)        A(7)                 2910D

         OUTPUTDS          DS(1065)             3025    3027D   3664M   3665M

                                                3666    3747M   3748M   3749M

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    111

                                                3750M   3751M   3754    3754

                                                3755    4056    4086    4087

                                                4200    4230    4232    4233

           CONTACT         A(10)                3028D   3747    4230

           CPHONES(12)     A(69)                3029D   3748

           CPHONES2(12)    A(10)                3030D   3749

           ERRORID         A(7)                 3031D   3664    3750    3754

                                                4086    4232

           ERRORMSG        A(100)               3032D   3665    3751    3754

                                                4087    4233

         OUTPUTDS2(99)     DS(1066)             3122    3125D   3652    3709

                                                3712    3713    3723M   3724M

                                                3730M   3731M   3737M   3738M

                                                3747    3748    3749    3750

                                                3751    3855    3870M   3871M

                                                3872    3916    3919    3920

                                                3930M   3931M   3937M   3938M

                                                3944M   3945M   3955    3956

                                                3957    4531    4534    4535

                                                4545M   4546M   4552M   4553M

                                                4559M   4560M   4615    4657M

                                                4667    4668M   4671M   4772

                                                4779M   4780M   4796M   4797M

           CONTACT         A(10)                3126D   3747    4657    4667

                                                4772

           CPHONES(12)     A(69)                3128D   3748    4779

           CPHONES2(12)    A(10)                3129D   3749    4780

           ERRORID         A(7)                 3130D   3709    3712    3723

                                                3730    3737    3750    3870

                                                3916    3919    3930    3937

                                                3944    3955    4531    4534

                                                4545    4552    4559    4796

           ERRORMSG        A(100)               3131D   3713    3724    3731

                                                3738    3751    3871    3920

                                                3931    3938    3945    3956

                                                4535    4546    4553    4560

                                                4797

           PRIMARY         A(1)                 3127D   4668    4671

         OUTPUTDS3         DS(196)              3221    3223D   4066M   4067M

                                                4068    4078    4085M   4086M

                                                4087M   4088M   4089M   4095

                                                4096M   4097M   4097    4101

                                                4101    4102

           CONTACT         A(10)                3224D   4085

           CPHONES         A(69)                3225D   4088    4095

           CPHONES2        A(10)                3226D   4089

           ERRORID         A(7)                 3227D   4066    4086    4096

                                                4097    4101

           ERRORMSG        A(100)               3228D   4067    4087    4097

                                                4101

         OUTPUTDS4         DS(122)              3318    3320D   4209M   4210M

                                                4211    4230M   4231M   4232M

                                                4233M   4236    4236    4237

           CONTACT         A(10)                4230

           COUNT           S(5,0)               4231

           ERRORID         A(7)                 4209    4232    4236

           ERRORMSG        A(100)               4210    4233    4236

         OUTPUTDS5(99)     DS(123)              3414    3417D   4343M   4344M

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    112

                                                4345    4366M   4367M   4368M

                                                4369M   4370M   4378    4379

                                                4380

           CONTACT         A(10)                3418D   4366

           COUNT           S(5,0)               3420D   4368

           ERRORID         A(7)                 3421D   4343    4369    4378

           ERRORMSG        A(100)               3422D   4344    4370    4379

           PRIMARY         A(1)                 3419D   4367

         OUTPUTDS6(99)     DS(115)              3512    3515D   4480    4491M

                                                4492M   4493    4565    4638M

                                                4640M   4642M   4643M   4798M

                                                4799M

           ERRORID         A(7)                 3518D   4491    4798

           ERRORMSG        A(100)               3519D   4492    4799

           MEMBER          S(7,0)               3516D   4638

           MULTIPLE        A(1)                 3517D   4640    4642    4643

*RNF7031 P@CDTE            A(6)                  219D

*RNF7031 P@CLVL            A(4)                  221D

*RNF7031 P@CMOD            A(10)                 226D

*RNF7031 P@CPF             A(80)                 209D

*RNF7031 P@CPGM            A(10)                 225D

*RNF7031 P@CSLB            A(10)                 223D

*RNF7031 P@CSMB            A(10)                 224D

*RNF7031 P@CSRC            A(10)                 222D

*RNF7031 P@CTIM            A(6)                  220D

*RNF7031 P@DS              DS(429)                48D

*RNF7031 P@EXPN            A(4)                  205D

*RNF7031 P@EXPT            A(3)                  204D

*RNF7031 P@JDTE            S(6,0)                216D

         P@JOB#            S(6,0)                215D   3662    3711    3721

                                                3728    3735    3753    3868

                                                3918    3928    3935    3942

                                                3954    4064    4100    4207

                                                4235    4341    4377    4489

                                                4533    4543    4550    4557

         P@JOBN            A(10)                 213D   3662    3711    3721

                                                3728    3735    3753    3868

                                                3918    3928    3935    3942

                                                3954    4064    4100    4207

                                                4235    4341    4377    4489

                                                4533    4543    4550    4557

*RNF7031 P@JOBU            A(10)                 214D

*RNF7031 P@LIB             A(10)                 208D

*RNF7031 P@LSTF            A(8)                  211D

*RNF7031 P@MIOD            B(8,0)                206D

*RNF7031 P@NUS1            A(4)                  227D

*RNF7031 P@NUS2            A(62)                 229D

*RNF7031 P@PARM            S(3,0)                203D

*RNF7031 P@PDTE            S(6,0)                217D

         P@PROG            A(10)                 198D   3662    3711    3721

                                                3728    3735    3753    3868

                                                3918    3928    3935    3942

                                                3954    4064    4100    4207

                                                4235    4341    4377    4489

                                                4533    4543    4550    4557

*RNF7031 P@PSTT            S(5,0)                200D

*RNF7031 P@PTIM            S(6,0)                218D

*RNF7031 P@RPGR            A(8)                  202D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    113

*RNF7031 P@RPGS            A(8)                  201D

*RNF7031 P@RSV             A(30)                 210D

*RNF7031 P@STAT            S(5,0)                199D

*RNF7031 P@STLF            A(35)                 212D

         P@USER            A(10)                 228D   3662    3711    3721

                                                3728    3735    3753    3868

                                                3918    3928    3935    3942

                                                3954    4064    4100    4207

                                                4235    4341    4377    4489

                                                4533    4543    4550    4557

*RNF7031 P@WRKM            A(30)                 207D

         PALLPHBYMEM       *(16)                3120D   3122    3872M   3873

                                                3957M   3958    4345M   4346

                                                4352M   4380M   4381

         PALLPHCOUNT       *(16)                3412D   3414

         PATH_NAME         A(50)                2900D   4602M   4605M   4633

                                                4652    4680    4769    4790

                                                4814

         PATH_POS          S(5,0)               2899D   4600M   4601    4602

                                                4603

         PHONECOUNT        S(5,0)               2894D   4221M   4227M   4227

                                                4231    4359M   4364M   4364

                                                4368

*RNF7031 PHONENUMBER       A(10)                2938D

         PHONESOUT         DS(1065)             3025D   4085

                           BASED(PPHONESBY+)

           CONTACT         A(10)                4085

         PHONESOUT2(99)    DS(1066)             3122D   4356    4361    4366

                           BASED(PALLPHBYM+)    4367    4369    4370

           CONTACT         A(10)                4356    4366

           CPHONES(12)     A(69)                4361

           ERRORID         A(7)                 4369

           ERRORMSG        A(100)               4370

           PRIMARY         A(1)                 4367

*RNF7031 PHONESOUT3        DS(196)              3221D

                           BASED(PPHONEBYT+)

*RNF7031 PHONESOUT4        DS(122)              3318D

                           BASED(PPHONECOU+)

*RNF7031 PHONESOUT5(99)    DS(123)              3414D

                           BASED(PALLPHCOU+)

*RNF7031 PHONESOUT6(99)    DS(115)              3512D

                           BASED(PMEMBYPHO+)

         PMEMBYPHONE       *(16)                3510D   3512    4493M   4494

                                                4565M   4566

*RNF7031 POS               S(5,0)               2926D

         PPHONEBYTYPE      *(16)                3219D   3221    4068M   4069

                                                4102M   4103

         PPHONECOUNT       *(16)                3316D   3318    4211M   4212

                                                4237M   4238

         PPHONESBYMEM      *(16)                3023D   3025    3666M   3667

                                                3755M   3756    4075M   4218M

         PRIMARY_ELEM      S(5,0)               2934D   3743    3744M   3747

                                                3748    3749    3750    3751

                                                4622M   4669M

*RNF7031 PRIMARYMEMBER     A(5)                 2920D

         PROCEDURE         A(15)                2919D   3656M   3659    3661

                                                3662    3665    3711    3719

                                                3721    3726    3728    3733

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    114

                                                3735    3753    3861M   3864

                                                3866    3868    3871    3918

                                                3926    3928    3933    3935

                                                3940    3942    3954    4058M

                                                4061    4063    4064    4067

                                                4077M   4100    4201M   4204

                                                4206    4207    4210    4220M

                                                4235    4335M   4338    4340

                                                4341    4344    4354M   4377

                                                4483M   4486    4488    4489

                                                4492    4533    4541    4543

                                                4548    4550    4555    4557

         QUOTE             CONST                2939D   3693    3900    4515

                                                4858

         QUSEC             DS(528)              2971D   2972    3550

         RC                I(10,0)              2890D   3697M   3708    3718

                                                3725    3732    3904M   3915

                                                3925    3932    3939    4519M

                                                4530    4540    4547    4554

         REF_CODE          A(3)                 2923D   4760M   4762M   4778

         RETCOD            A(1)                 2925D   3658    3658    3661M

                                                3695    3695    3719M   3726M

                                                3733M   3863    3863    3866M

                                                3902    3926M   3933M   3940M

                                                4060    4060    4063M   4203

                                                4203    4206M   4337    4337

                                                4340M   4485    4485    4488M

                                                4517    4517    4541M   4548M

                                                4555M

         RTVMSGD           A(132)               3544D   3665    3724    3731

                           PROTOTYPE            3738    3871    3931    3938

                                                3945    4067    4097    4210

                                                4344    4492    4546    4553

                                                4560

*RNF7031 RTVSYSVAL         A(2080)              3548D

                           PROTOTYPE

         S                 S(5,0)               2892D   4597M   4599    4600

                                                4602    4602    4603M   4605

                                                4605

*RNF7031 SCH               A(6)                 2918D

         SETSOAPMEMBYPH    PROTOTYPE            2876D   4482M   4932    4933

         SETSOAPPHBYMEM    PROTOTYPE            2873D   3655M   3860M   4896

                                                4897

         SNDRCVERR         A(1)                 2834D   3661    3719    3726

                           PROTOTYPE            3733    3866    3926    3933

                                                3940    4063    4206    4340

                                                4488    4541    4548    4555

         SOAP              A(32767)             2883D   3663    3698    3699

                           VARYING              3713    3722    3729    3736

                                                3754    3869    3905    3906

                                                3920    3929    3936    3943

                                                3956    4065    4101    4208

                                                4236    4342    4379    4490

                                                4520    4521    4535    4544

                                                4551    4558    4912M   4944M

         SOAPACT           A(10)                2915D   3686M   3893M   4508M

                                                4857

         SOAPBY            A(17)                2913D   4906M   4925

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    115

         SOAPBYMEMBER      CONST                2940D

         SOAPREQ           A(22)                2914D   4907M   4924

         SOAP2             A(32767)             2885D   3663    3713    3720M

                           VARYING              3722    3727M   3729    3734M

                                                3736    3754    3867M   3869

                                                3920    3927M   3929    3934M

                                                3936    3941M   3943    3956

                                                4065    4101    4208    4236

                                                4342    4379    4490    4535

                                                4542M   4544    4549M   4551

                                                4556M   4558    4616    4811M

                                                4811    4814M   4814    4817M

                                                4817    4825M   4825    4831M

                                                4831

         STG               A(13)                2917D   4909M   4920    4941M

                                                4952

         STS               A(21)                2916D   4908M   4920    4940M

                                                4952

         SVDEPTH           I(10,0)              2891D   4627M   4830    4832M

         TO_ASCII          CONST                2280D

         TO_EBCDIC         CONST                2281D

         TRUEFALSE         A(5)                 2912D   3654M   3859M   4481M

                                                4906

*RNF7031 VALID             A(1)                 2888D

         VAR_NAME          A(50)                2898D   4591M   4592    4593M

                                                4593    4612    4634    4654

                                                4663    4682    4688    4692

                                                4695    4699    4703    4707

                                                4723    4726    4729    4732

                                                4735    4743    4755    4792

                                                4828M

         VAR_POS           S(5,0)               2895D   4592M   4593

         VARYINGDATAOFFSET CONST                2882D   3698    3905    4520

*RNF7031 W@PHONEOUT(12)    DS(69)               2958D

*RNF7031   MBCITY          A(6)                 2965D

*RNF7031   MBCNTR          A(6)                 2964D

*RNF7031   MBDATE          D(10*ISO-)           2969D

*RNF7031   MBEXT#          S(5,0)               2967D

*RNF7031   MBPHON          A(10)                2966D

*RNF7031   MBPHTY          A(4)                 2963D

*RNF7031   MBREFC          A(3)                 2962D

*RNF7031   MBTIME          T(8*HMS:)            2970D

*RNF7031   MBUSER          A(10)                2968D

*RNF7031   MEMB#           S(7,0)               2961D

*RNF7031 WAIT              A(1)                 2887D

         WCONTACT          S(10,0)              2921D   4667M

*RNF7031 WMEMBER           S(7,0)               2922D

         WRTWSLOGS         PROTOTYPE            2843D   3662M   3711M   3721M

                                                3728M   3735M   3753M   3868M

                                                3918M   3928M   3935M   3942M

                                                3954M   4064M   4100M   4207M

                                                4235M   4341M   4377M   4489M

                                                4533M   4543M   4550M   4557M

         XML_VALUE         A(50)                2886D   3702    3909    4524

                           VARYING

*RNF7031 XMLATT(500)       A(100)               2903D

*RNF7031 XMLMEMSUMDIR      A(80)                2902D

*RNF7031 ZOAP              A(32767)             2884D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    116

                           VARYING

      Field References for subprocedure GETPHONESBYMEM

         Field             Attributes         References (D=Defined M=Modified)

         MEMBERNUM         S(7,0)               3630D   3655    3662    3711

                           BASED(_QRNL_PST+)    3721    3728    3735    3753

         _QRNL_PSTR_MEMBERNUM...

      Field References for subprocedure GETALLPHBYMEM

         Field             Attributes         References (D=Defined M=Modified)

         MEMBERNUM         S(7,0)               3835D   3857    3868    3918

                           BASED(_QRNL_PST+)    3928    3935    3942    3954

         _QRNL_PSTR_MEMBERNUM...

      Field References for subprocedure GETPHONEBYTYPE

         Field             Attributes         References (D=Defined M=Modified)

         MEMBERNUM         S(7,0)               4039D   4064    4075    4100

                           BASED(_QRNL_PST+)

         PHONETYPE         A(4)                 4040D   4084

                           BASED(_QRNL_PST+)

         _QRNL_PSTR_MEMBERNUM...

         _QRNL_PSTR_PHONETYPE...

      Field References for subprocedure GETPHONECOUNT

         Field             Attributes         References (D=Defined M=Modified)

         MEMBERNUM         S(7,0)               4187D   4207    4218    4235

                           BASED(_QRNL_PST+)

         _QRNL_PSTR_MEMBERNUM...

      Field References for subprocedure GETALLPHCOUNT

         Field             Attributes         References (D=Defined M=Modified)

         MEMBERNUM         S(7,0)               4325D   4341    4352    4377

                           BASED(_QRNL_PST+)

         _QRNL_PSTR_MEMBERNUM...

      Field References for subprocedure GETMEMBYPHONE

         Field             Attributes         References (D=Defined M=Modified)

         COUNTRYCODE       A(6)                 4471D   4482

                           BASED(_QRNL_PST+)

         CITYCODE          A(6)                 4472D   4482

                           BASED(_QRNL_PST+)

         PHONENUMBER       A(10)                4473D   4482

                           BASED(_QRNL_PST+)

         _QRNL_PSTR_COUNTRYCODE...

         _QRNL_PSTR_CITYCODE...

         _QRNL_PSTR_PHONENUMBER...

      Field References for subprocedure MAPXMLDATA

         Field             Attributes         References (D=Defined M=Modified)

         XML_DATA          A(52)                4576D   4636M   4638    4656M

                           BASED(_QRNL_PST+)    4657    4664M   4666    4670

                           VARYING              4683M   4689M   4690    4693M

                                                4696M   4697    4700M   4701

                                                4704M   4705    4708M   4711

                                                4712    4713    4724M   4727M

                                                4730M   4733M   4736M   4737

                                                4744M   4745    4756M   4757

                                                4793M   4827M

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    117

         DEPTH             I(10,0)              4577D   4809    4830    4832

         NAME              A(1024)              4578D   4591    4825

                           BASED(_QRNL_PST+)

                           VARYING

         PATH              A(24576)             4579D   4596    4598    4600

                           BASED(_QRNL_PST+)    4602    4605    4810    4811

                           VARYING

         VALUE             A(65535)             4580D   4636    4656    4664

                           BASED(_QRNL_PST+)    4683    4689    4693    4696

                           VARYING              4700    4704    4708    4724

                                                4727    4730    4733    4736

                                                4744    4756    4793    4824

                                                4826

         ATTRS(32767)      *(16)                4581D   4623    4624    4796

                           BASED(_QRNL_PST+)    4797    4798    4799    4801

                                                4802    4803    4804

         DIGITS            CONST                4583D   4712

         IDX               S(5,0)               4584D   4711    4712    4713

         IDY               S(5,0)               4585D   4710M   4713    4714M

                                                4715

         XTN_DATA          A(5)                 4586D   4709M   4713M   4721

         _QRNL_PSTR_XML_DATA...

      Field References for subprocedure ADD_SOAPACTION

         Field             Attributes         References (D=Defined M=Modified)

         HEADER            A(1024)              4853D   4856M

                           BASED(_QRNL_PST+)

                           VARYING

*RNF7031 USERDATA          *(16)                4854D

      Field References for subprocedure GETVALUE

         Field             Attributes         References (D=Defined M=Modified)

         CODETYPE          A(10)                4868D   4879    4880    4885

                           BASED(_QRNL_PST+)

         CODE              A(10)                4869D   4879    4880    4885

                           BASED(_QRNL_PST+)

         VALUE             A(1950)              4871D   4876M   4882    4884M

                                                4884    4888

         COUNTER           S(3,0)               4872D   4877M   4882    4883M

         _QRNL_PSTR_CODETYPE...

      Field References for subprocedure SETSOAPPHBYMEM

         Field             Attributes         References (D=Defined M=Modified)

         MEMBERNUM         A(10)                4898D   4907

                           BASED(_QRNL_PST+)

         _QRNL_PSTR_MEMBERNUM...

      Field References for subprocedure SETSOAPMEMBYPH

         Field             Attributes         References (D=Defined M=Modified)

         COUNTRYCODE       A(6)                 4934D   4956

                           BASED(_QRNL_PST+)

         CITYCODE          A(6)                 4935D   4958

                           BASED(_QRNL_PST+)

         PHONENUMBER       A(10)                4936D   4960

                           BASED(_QRNL_PST+)

         _QRNL_PSTR_COUNTRYCODE...

         _QRNL_PSTR_CITYCODE...

         _QRNL_PSTR_PHONENUMBER...

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    118

      Indicator References:

         Indicator                            References (D=Defined M=Modified)

         LR                                     3757M

       * * * * *   E N D   O F   C R O S S   R E F E R E N C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    119

                      E x t e r n a l   R e f e r e n c e s

      Statically bound procedures:

         Procedure                            References

         RTVMSGD                                3544    3665    3724    3731

                                                3738    3871    3931    3938

                                                3945    4067    4097    4210

                                                4344    4492    4546    4553

                                                4560

         HTTP_COMP                              1800

         HTTP_DIAG                              1809

         HTTP_DMSG                              2016

         GETCHANID                              2821

         SNDRCVERR                              2834    3661    3719    3726

                                                3733    3866    3926    3933

                                                3940    4063    4206    4340

                                                4488    4541    4548    4555

         WRTWSLOGS                              2843    3663    3713    3722

                                                3729    3736    3754    3869

                                                3920    3929    3936    3943

                                                3956    4065    4101    4208

                                                4236    4342    4379    4490

                                                4535    4544    4551    4558

         rtvsysval                              3548

         HTTP_CLOSE                              506

         HTTP_ERROR                              518

         HTTPS_INIT                              551

         HTTP_XPROC                              719    3688    3895    4510

         HTTP_DEBUG                             1558    3684    3891    4506

         HTTP_XLATE                             1627

         HTTP_CRASH                             1817

         HTTP_XMLNS                             1834

         HTTP_XLATEP                            1644

         HTTP_HEADER                            1757

         HTTP_DWRITE                            1996

         HTTP_DCLOSE                            2029

         HTTP_URL_GET                            282     296

         HTTPS_IDNAME                            593

         HTTPS_STRICT                            603

         HTTP_GETAUTH                            629

         HTTP_SETAUTH                            645

         GETACTIVEFLG                           2840    3659    3864    4061

                                                4204    4338    4486

         HTTP_URL_POST                           337     352

         HTTP_PARSEURL                           469

         HTTPS_DCM_REG                           571

         HTTPS_CLEANUP                           582

         HTTP_SETPROXY                           659

         HTTP_XLATEDYN                          1661

         HTTP_TEMPFILE                          1825

         HTTP_REDIR_LOC                          731

         HTTP_GET_XMLTF                         1073

         HTTP_SETCCSIDS                         1574    3678    3885    4500

         HTTP_SETTABLES                         1590

         HTTP_ESCAPEXML                         1974

         HTTP_POST_XMLTF                        1190

         HTTP_URL_GET_RAW                        393

         HTTP_URL_GET_XML                       1022    1039

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    120

         HTTP_PERSIST_GET                       1364

         HTTP_USE_COOKIES                       1772

         HTTP_COOKIE_FILE                       1790

         HTTP_NEXTXMLATTR                       1959

         HTTP_URL_POST_RAW                       434

         HTTP_URL_POST_XML                      1134    1152    3705    3912

                                                4527

         HTTP_PERSIST_OPEN                      1329

         HTTP_PERSIST_POST                      1424

         HTTP_SETFILECCSID                      1613

         HTTP_XMLRETURNPTR                      1848

         HTTP_XMLSTRIPCRLF                      1864

         HTTP_PROXY_SETAUTH                      675

         HTTP_PROXY_GETAUTH                      700

         HTTP_LONG_PARSEURL                      862

         HTTP_URL_POST_RAW2                      909

         HTTP_URL_POST_STMF                      951     965

         HTTP_PERSIST_CLOSE                     1453

         HTTP_XML_SETCCSIDS                     1712

         HTTP_BUILD_SOCKADDR                     492

         HTTP_PARSE_XML_STMF                    1737

         HTTP_URL_ENCODER_NEW                    745

         HTTP_POST_STMF_XMLTF                   1300

         HTTP_SET_100_TIMEOUT                   1697

         HTTP_URL_ENCODER_FREE                   820

         HTTP_MFD_ENCODER_OPEN                  1476

         HTTP_PARSER_SWITCH_CB                  1886

         HTTP_PARSE_XML_STRING                  1937

         HTTP_SELECT_COMMDRIVER                  880

         HTTP_URL_POST_STMF_XML                 1239    1256

         HTTP_MFD_ENCODER_CLOSE                 1545

         HTTP_PARSER_GET_END_CB                 1908

         HTTP_URL_ENCODER_ADDVAR                 763

         HTTP_URL_ENCODER_GETPTR                 781

         HTTP_URL_ENCODER_GETSTR                 802

         HTTP_MFD_ENCODER_ADDVAR                1494

         HTTP_MFD_ENCODER_ADDSTMF               1531

         HTTP_PARSER_GET_START_CB               1899

         HTTP_PARSER_GET_USERDATA               1917

         HTTP_URL_ENCODER_ADDVAR_S               836

         HTTP_MFD_ENCODER_ADDVAR_S              1512

      Imported fields:

         Field             Attributes         Defined

         No references in the source.

      Exported fields:

         Field             Attributes         Defined

         No references in the source.

   * * * * *   E N D   O F   E X T E R N A L   R E F E R E N C E S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    121

                          M e s s a g e   S u m m a r y

 Msg id  Sv Number Message text

*RNF5409 00      6 The prototyped call returns a value which is lost when CALLP

                   is used.

*RNF7031 00    179 The name or indicator is not referenced.

*RNF7066 00      1 Record-Format name of Externally-Described file is not used.

*RNF7534 10      1 Files should be closed explicitly when NOMAIN is specified on

                   the Control specification.

       * * * * *   E N D   O F   M E S S A G E   S U M M A R Y   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             IIER00VW/WS.PHONES       IIMIADEV   03/01/11 14:52:06        Page    122

                            F i n a l   S u m m a r y

  Message Totals:

    Information  (00) . . . . . . . :      186

    Warning      (10) . . . . . . . :        1

    Error        (20) . . . . . . . :        0

    Severe Error (30+)  . . . . . . :        0

    ---------------------------------  -------

    Total . . . . . . . . . . . . . :      187

  Source Totals:

    Records . . . . . . . . . . . . :     4967

    Specifications  . . . . . . . . :     1509

    Data records  . . . . . . . . . :        0

    Comments  . . . . . . . . . . . :     1826

         * * * * *   E N D   O F   F I N A L   S U M M A R Y   * * * * *

Module WS.PHONES placed in library IIER00VW. 10 highest severity. Created on 03/01/11 at 14:52:07.

          * * * * *   E N D   O F   C O M P I L A T I O N * * * * *

Attachment: Call PTRTOHEX in HTTPUTILR4.doc
Description: Call PTRTOHEX in HTTPUTILR4.doc

Attachment: PtrToHexF file.doc
Description: PtrToHexF file.doc

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------